beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.57k stars 1.8k forks source link

Listenimport plugin is currently broken #5343

Closed arsaboo closed 2 days ago

arsaboo commented 2 days ago

The Lastimport plugin crashes when trying to import playlists. The JSON structure has changed.

Traceback (most recent call last):
  File "/home/arsaboo/.local/bin/beet", line 8, in <module>
    sys.exit(main())
  File "/home/arsaboo/.local/lib/python3.10/site-packages/beets/ui/__init__.py", line 1865, in main
    _raw_main(args)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/beets/ui/__init__.py", line 1852, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/beetsplug/plexsync.py", line 325, in func_playlist_import
    self._plex_import_playlist(opts.playlist, opts.url, opts.listenbrainz)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/beetsplug/plexsync.py", line 937, in _plex_import_playlist
    weekly_jams = lb.get_weekly_jams()
  File "/home/arsaboo/.local/lib/python3.10/site-packages/beetsplug/listenbrainz.py", line 258, in get_weekly_jams
    return self.get_weekly_playlist(1)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/beetsplug/listenbrainz.py", line 250, in get_weekly_playlist
    return self.get_tracks_from_playlist(playlist)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/beetsplug/listenbrainz.py", line 205, in get_tracks_from_playlist
    "identifier": track.get("identifier").split("/")[-1],
AttributeError: 'list' object has no attribute 'split'

PR incoming to fix this issue.