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)
Пример #2
0
        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)
Пример #3
0
                "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)
Пример #4
0
                    (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')