- # Go over @tags, store all [n] tags in a list keyed by
- # n in %tracks_to_tags, store all ARTIST (not
- # ARTIST[n]) tags in @disc_artist, and leave the rest
- # in @tags.
- tracks_to_tags = ListDictDict()
- disc_artist = []
- tmp = []
- for tag in tags:
- m = re.match(r'([^[]+)\[(\d+)]=(.*)', tag)
- if m != None:
- tracks_to_tags.append(int(m.group(2)), m.group(1), m.group(3))
- elif re.match(r'ARTIST=', tag, re.IGNORECASE):
- disc_artist.append(tag)
- else:
- tmp.append(tag)
- tags = tmp
-
- jobs.extend([[dir[0], artist, album, discnum, x,
- tracks_to_tags[x], disc_artist, tags]
- for x in sorted(map(int,
- tracks_to_tags.keys()))])
+ jobs.extend([(dir[0], x, tags)
+ for x in xrange(1, len(tags) + 1)])