Last active 1537724331

A gmusicapi script

Revision fece12611c035a2f414dede736eb1e9f31f9e105

getgmusic.py Raw
1#!/usr/bin/env python3
2import subprocess,gmusicapi,sys,mutagen,os
3c = gmusicapi.Mobileclient()
4c.login(os.environ["GMUSICAPI_EMAIL"], os.environ["GMUSICAPI_PASSWORD"], os.environ["GMUSICAPI_MACADDR"])
5
6for track in c.get_album_info(sys.argv[1], include_tracks=True)["tracks"]:
7 try:
8 fn = "{trackNumber:0>2} {artist} - {title}.mp3".format(**track).replace("/", "-")
9 print(fn)
10 p = subprocess.run(["wget", c.get_stream_url(track["storeId"]), "-O", fn], stderr=subprocess.DEVNULL, stdout=subprocess.DEVNULL)
11 f = mutagen.File(fn, easy=True)
12 for x in ["title", "artist", "album"]:
13 if track[x]:
14 f[x] = track[x]
15 f.save()
16 except KeyError:
17 print("Error on {artist} - {song}".format(**track))
18 continue
19 except IndexError:
20 print("Error on {artist} - {song} index".format(**track))
21 continue