cli.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import sys
  2. from deezer.deezer import Deezer
  3. def main():
  4. deezer = Deezer()
  5. def grab_track(song_id):
  6. track = deezer.get_track(int(song_id))
  7. artists_string = ', '.join(map(lambda a: a.name, track.artists))
  8. print("grabbing {} by {}".format(track.title, artists_string))
  9. track.download(print_progress = True)
  10. def login(email, password):
  11. user = deezer.login(email, password)
  12. print("logged in as %s" % user["name"])
  13. print('''
  14. Welcome to...
  15. _|_._ _ o _ _|
  16. (_(/| | ||>(/(_|
  17. ''')
  18. if len(sys.argv) > 1:
  19. login(sys.argv[1], sys.argv[2])
  20. while True:
  21. command = input("-> ").split(" ")
  22. if command[0] == 'login':
  23. login(command[1], command[2])
  24. elif command[0] == 'grab':
  25. if command[1] == 'album':
  26. album = deezer.get_album(int(command[2]))
  27. print("grabbing album %s" % album.title)
  28. for track in album.songs:
  29. grab_track(track.song_id)
  30. elif command[1] == 'track':
  31. grab_track(command[2])
  32. else:
  33. grab_track(command[1])
  34. elif command[0] == 'exit':
  35. break
  36. else:
  37. print("unknown command... :/")