コード例 #1
0
def submit_isrcs(mb_release, sp_release):
    mbids = []
    for track in mb_release['tracks']:
        mbids.append(track['gid'])
    isrcs = []
    for track in sp_release['tracks']:
        this_isrc = []
        for extid in track['external-ids']:
            if extid['type'] == 'isrc':
                this_isrc.append(extid['id'].upper())
        isrcs.append(this_isrc)
    musicbrainzngs.submit_isrcs(dict(zip(mbids, isrcs)))
コード例 #2
0
ファイル: isrc_spotify.py プロジェクト: Freso/musicbrainz-bot
def submit_isrcs(mb_release, sp_release):
    mbids = []
    for track in mb_release['tracks']:
            mbids.append(track['gid'])
    isrcs = []
    for track in sp_release['tracks']:
        this_isrc = []
        for extid in track['external-ids']:
            if extid['type'] == 'isrc':
                this_isrc.append(extid['id'].upper())
        isrcs.append(this_isrc)
    musicbrainzngs.submit_isrcs(dict(zip(mbids, isrcs)))
コード例 #3
0
ファイル: yankisrc.py プロジェクト: ianweller/yankisrc
def submit_isrcs(info_mb, info_sp):
    mbids = []
    for medium in info_mb['medium-list']:
        for track in medium['track-list']:
            mbids.append(track['recording']['id'])
    isrcs = []
    for track in info_sp['tracks']:
        this_isrc = []
        for extid in track['external-ids']:
            if extid['type'] == 'isrc':
                this_isrc.append(extid['id'].upper())
        isrcs.append(this_isrc)
    musicbrainzngs.submit_isrcs(dict(zip(mbids, isrcs)))
コード例 #4
0
 def submit_isrcs(self, tracks2isrcs):
     logger.info("tracks2isrcs: %s", tracks2isrcs)
     while True:
         try:
             self.authenticate()
             musicbrainzngs.submit_isrcs(tracks2isrcs)
         except AuthenticationError as err:
             print_error("Invalid credentials: %s" % err)
             self.auth = False
             self.keyring_failed = True
             self.username = None
             continue
         except WebServiceError as err:
             print_error("Couldn't send ISRCs: %s" % err)
             sys.exit(1)
         else:
             print("Successfully submitted %d ISRCS." % len(tracks2isrcs))
             break
コード例 #5
0
 def submit_isrcs(self, tracks2isrcs):
     logger.info("tracks2isrcs: %s", tracks2isrcs)
     while True:
         try:
             self.authenticate()
             musicbrainzngs.submit_isrcs(tracks2isrcs)
         except AuthenticationError as err:
             print_error("Invalid credentials: %s" % err)
             self.auth = False
             self.keyring_failed = True
             self.username = None
             continue
         except WebServiceError as err:
             print_error("Couldn't send ISRCs: %s" % err)
             sys.exit(1)
         else:
             print("Successfully submitted %d ISRCS." % len(tracks2isrcs))
             break
コード例 #6
0
ファイル: isrcsubmit-cdrdao.py プロジェクト: mineo/mbstuff
    if len(tracks2isrcs) == 0:
        print "No new ISRCs could be found."
    else:
        vals = tracks2isrcs.values()
        print "\nISRC         | Recording"
        print "-" * 13 + "+" + "-" * 66
        for key, val in sorted(tracks2isrcs.items(), key=lambda keyval: keyval[1]):
            if vals.count(val) > 1:
                print "The ISRC %s appears multiple times, I'm not going to submit it"\
                % val
                tracks2isrcs.pop(key)
                continue

            print "%s | %s" % (val, key)

        if raw_input("Is this correct? [y/N]").lower() == "y":
            if len(tracks2isrcs.keys()) > 0:
                try:
                    musicbrainzngs.submit_isrcs(tracks2isrcs)
                    print "Successfully submitted", len(tracks2isrcs), "ISRCs."
                except musicbrainzngs.WebServiceError, e:
                    print "Couldn't send ISRCs:", str(e)
            else:
                print "Nothing was submitted to the server."
    remove(filename)


if __name__ == '__main__':
    main()
コード例 #7
0
                medium = release_data['release']['medium-list'][disc_number -
                                                                1]
                upload_data = zip(
                    [(t['recording']['id'], t['recording']['title'])
                     for t in medium['track-list']],
                    [(t['title'], t['isrc']) for t in tracks])
                for t in upload_data:
                    print(u"Matching {} to {}".format(t[0][1], t[1][0]))

                confirm = (True
                           if raw_input("Does this look ok? (y/n): ").lower()
                           == 'y' else False)

                if confirm:
                    print("Submitting...")
                    submit_dict = {t[0][0]: [t[1][1]] for t in upload_data}
                    pprint(submit_dict)
                    mb.submit_isrcs(submit_dict)

            delete = (True
                      if raw_input("Delete the CUE file? (y/n): ").lower()
                      == 'y' else False)
            delete_list.append(path)

        print("-------------------------------------------")

for f in delete_list:
    os.unlink(f)

print("Done!")