bcolors.FAIL, "Error: Cannot use Discogs: %s\n" % err + "Run 'pip install discogs-client' or get discogs_client.py from\n" "https://github.com/discogs/discogs_client") sys.exit(1) # Optional modules try: import amazonproduct from amazonproduct.contrib.retry import RetryAPI except ImportError as err: colored_out(bcolors.WARNING, "Warning: Cannot use Amazon: %s" % err) amazonproduct = None try: from mbbot.source.spotify import SpotifyWebService spotify = SpotifyWebService() except ImportError as err: colored_out(bcolors.WARNING, "Warning: Cannot use Spotify: %s" % err) spotify = None try: from mbbot.source.itunes import ItunesSearchAPI itunes = ItunesSearchAPI() except ImportError as err: colored_out(bcolors.WARNING, "Warning: Cannot use iTunes: %s" % err) itunes = None engine = sqlalchemy.create_engine(cfg.MB_DB) db = engine.connect() db.execute("SET search_path TO musicbrainz, %s, public" % cfg.BOT_SCHEMA_DB)
f.write('<div style="font-weight:bold">%s</div>' % spotify['name']) f.write('<div style="font-weight:bold">%s</div>' % spotify['artist']) for track in spotify['tracks']: f.write('<div>%s-%s: %s (%s)</div>' % (track['disc-number'], track['track-number'], track['name'], int(track['length'] * 1000))) f.write('</div></body></html>') def save_processing(mb_release): if mb_release['processed'] is None: db.execute("INSERT INTO bot_isrc_spotify (release) VALUES (%s)", (mb_release['gid'])) else: db.execute("UPDATE bot_isrc_spotify SET processed = now() WHERE release = %s", (mb_release['gid'])) sws = SpotifyWebService() musicbrainzngs.auth(cfg.MB_USERNAME, cfg.MB_PASSWORD) for release in db.execute(query_releases_wo_isrcs): mb_release = dict(release) colored_out(bcolors.OKBLUE, 'Looking up release "%s" https://musicbrainz.org/release/%s' % (mb_release['name'], mb_release['gid'])) sp_albums = sws.search_albums('upc:%s' % mb_release['barcode']) if len(sp_albums) != 1: if len(sp_albums) == 0: out(' * no spotify release found') if len(sp_albums) > 1: out(' * multiple spotify releases found') save_processing(mb_release)
"Error: Cannot use Discogs: %s\n" % err + "Run 'pip install discogs-client' or get discogs_client.py from\n" "https://github.com/discogs/discogs_client") sys.exit(1) # Optional modules try: import amazonproduct from amazonproduct.contrib.retry import RetryAPI except ImportError as err: colored_out(bcolors.WARNING, "Warning: Cannot use Amazon: %s" % err) amazonproduct = None try: from mbbot.source.spotify import SpotifyWebService spotify = SpotifyWebService() except ImportError as err: colored_out(bcolors.WARNING, "Warning: Cannot use Spotify: %s" % err) spotify = None try: from mbbot.source.itunes import ItunesSearchAPI itunes = ItunesSearchAPI() except ImportError as err: colored_out(bcolors.WARNING, "Warning: Cannot use iTunes: %s" % err) itunes = None engine = sqlalchemy.create_engine(cfg.MB_DB) db = engine.connect() db.execute("SET search_path TO musicbrainz, %s, public" % cfg.BOT_SCHEMA_DB)
(track['disc-number'], track['track-number'], track['name'], int(track['length'] * 1000))) f.write('</div></body></html>') def save_processing(mb_release): if mb_release['processed'] is None: db.execute("INSERT INTO bot_isrc_spotify (release) VALUES (%s)", (mb_release['gid'])) else: db.execute( "UPDATE bot_isrc_spotify SET processed = now() WHERE release = %s", (mb_release['gid'])) sws = SpotifyWebService() musicbrainzngs.auth(cfg.MB_USERNAME, cfg.MB_PASSWORD) for release in db.execute(query_releases_wo_isrcs): mb_release = dict(release) colored_out( bcolors.OKBLUE, 'Looking up release "%s" https://musicbrainz.org/release/%s' % (mb_release['name'], mb_release['gid'])) sp_albums = sws.search_albums('upc:%s' % mb_release['barcode']) if len(sp_albums) != 1: if len(sp_albums) == 0: out(' * no spotify release found')