def handler():

	artsr		= collections.defaultdict(list)
	for path in tags_config.PATHS:
		for fi, attr_map, of in tags.get_files(path.decode('utf8')):
			for attr, name in (
				('musicbrainz_artistid', 'artist'),
				('musicbrainz_albumartistid', 'albumartist'),
			):
				id_as	= attr_map[attr][0](fi).strip().upper()
				nma		= attr_map[name][0](fi).strip().upper()
				
				if nma and id_as:
					for spl in ('/', ';', '\\', '\n'):
						spl1	= list(x.strip() for x in id_as.split(spl)) 
						if len(spl1) > 1:
							break
					
					for id_a in spl1:
						if id_a not in artsr[nma]:											
							artsr[nma].append(id_a)  


					#print "\t%", repr(of), nma.encode('utf8'),  id_a
	import pprint
	#pprint.pprint(dict(artsr))
	scrapers.scrape_artists(artsr, tags_config.OUTFILE_ARTISTS, tags_config.translate)
def handler():
	arts		= collections.defaultdict(set)
	for path in tags_config.PATHS:
		for fi, attr_map, of in tags.get_files(path.decode('utf8')):
			for attr, albumname, artist, albumartist  in (
				('musicbrainz_albumid', 'album', 'artist', 'albumartist'),
			):
				id_a		= attr_map[attr][0](fi)
				nma			= attr_map[albumname][0](fi)
				art_album	= attr_map[albumartist][0](fi)
				art_artist	= attr_map[artist][0](fi)
				
				art2		= art_album if (art_album and u'{}'.format(repr(art_album)) != "u'[]'") else  art_artist
				
				if nma and id_a:
					for mbid in id_a.split('\\'):
						arts[nma,mbid.upper().strip()] = (art2)
				else:
					pass
					#print "$$", repr(of), nma.encode('utf8') , id_a, repr(nma)
	import pprint
	pprint.pprint(arts)
	

	scrapers.scrape_albums(arts, tags_config.OUTFILE_ALBUMS, tags_config.translate)
Example #3
0
def collect():
	arts		= collections.defaultdict(set)
	arts_albums	= collections.defaultdict(set)

	filesm		= collections.defaultdict(set)
	
	for fi, attr_map, of in sorted(tags.get_files(PATH)):
		try:
			print repr(of)
			print fi
			for k,v in  {k : attr_map[k][0](fi) for k in attr_map}.iteritems():
				print '\t', k, repr(v)
			
		except Exception, e:
			import traceback
			print traceback.format_exc()
			print "**", repr(fi), repr(e)
def update():
	print "starting"
	albums = collections.defaultdict(set)
	for path in tags_config.PATHS:
		for fi, attr_map, of in tags.get_files(path.decode('utf8')):
			for attr, albumname, artalbumid, albumartist  in (
				('musicbrainz_albumid', 'album', 'musicbrainz_albumartistid', 'albumartist'),
			):
				id_a		= attr_map[attr][0](fi)
				nma			= attr_map[albumname][0](fi)
				art_album	= attr_map[albumartist][0](fi)
				art_albumid	= attr_map[artalbumid][0](fi)
				
				albums[nma, id_a].add((art_album, art_albumid))
			

	for (alb_na, alb_id), arts in sorted(albums.iteritems()):
		if len(arts)  > 1:
			for (art_name, art_id) in arts:
				print (alb_na, alb_id), (art_name, art_id)