--- netmd/libnetmd.py | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/netmd/libnetmd.py b/netmd/libnetmd.py index def234a..a66a9d9 100644 --- a/netmd/libnetmd.py +++ b/netmd/libnetmd.py @@ -674,6 +674,7 @@ class NetMDInterface(object): raw_title = self._getDiscTitle() group_list = raw_title.split('//') track_dict = {} + track_count = self.getTrackCount() result = [] append = result.append for group_index, group in enumerate(group_list): @@ -684,12 +685,14 @@ class NetMDInterface(object): track_range, group_name = group.split(';', 1) if '-' in track_range: track_min, track_max = track_range.split('-') - assert track_min < track_max, '%r, %r' % (track_min, track_max) else: track_min = track_max = track_range + track_min, track_max = int(track_min), int(track_max) + assert 0 <= track_min <= track_max <= track_count, ( + track_min, track_max, track_count) track_list = [] track_append = track_list.append - for track in xrange(int(track_min) - 1, int(track_max)): + for track in xrange(track_min - 1, track_max): if track in track_dict: raise ValueError, 'Track %i is in 2 groups: %r[%i] & ' \ '%r[%i]' % (track, track_dict[track][0], -- 1.6.6