player.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import argparse
  2. import pathlib
  3. from mopidy_json_client import MopidyClient
  4. parser = argparse.ArgumentParser(description="Mopdiy FloppyPlayer")
  5. parser.add_argument("URI_string", help="Mopdiy URI to Album/Playlist.")
  6. args = parser.parse_args()
  7. inputURI = args.URI_string
  8. disk_file = f"{pathlib.Path(__file__).parent.resolve()}/last_disk.txt"
  9. mopidy = MopidyClient()
  10. def selector(action):
  11. last_disk_read = open(disk_file, "r+").read()
  12. if action is not "" and last_disk_read != action:
  13. if action == "stop":
  14. mopidy.playback.stop()
  15. mopidy.tracklist.clear()
  16. elif action == "next":
  17. mopidy.playback.next()
  18. elif action == "previous":
  19. mopidy.playback.previous()
  20. elif action == "shuffle":
  21. mopidy.tracklist.shuffle()
  22. mopidy.tracklist.move(
  23. start=mopidy.tracklist.index(),
  24. end=mopidy.tracklist.index(),
  25. to_position=0,
  26. )
  27. elif action == "playpause":
  28. if mopidy.playback.get_state() == "playing":
  29. mopidy.playback.pause()
  30. else:
  31. mopidy.playback.resume()
  32. elif action == "":
  33. return
  34. else:
  35. last_disk = open(disk_file, "w")
  36. last_disk.write(action)
  37. run_floppy(action)
  38. mopidy.disconnect()
  39. elif action == "":
  40. pass
  41. else:
  42. if mopidy.playback.get_state() == "playing":
  43. return
  44. else:
  45. run_floppy(action)
  46. mopidy.disconnect()
  47. def run_floppy(input):
  48. link = input.split(" - ")[1]
  49. mopidy.playback.stop()
  50. mopidy.tracklist.clear()
  51. mopidy.tracklist.add(uris=[link])
  52. mopidy.playback.play()
  53. mopidy.disconnect()
  54. selector(inputURI)