jellyfin / mopidy-jellyfin

Jellyfin Extension for Mopidy
https://jellyfin.org
Apache License 2.0
93 stars 16 forks source link

Playlists with video files crash mopidy #40

Closed mcarlton00 closed 4 years ago

mcarlton00 commented 4 years ago

If a user has access to a playlist in the Jellyfin server that contains non-audio files, mopidy will crash.

ERROR    2020-02-28 11:24:54,119 [2093469:MainThread] mopidy.commands
  Got un-handled exception from JellyfinBackend
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/mopidy/commands.py", line 240, in _actor_error_handling
    yield
  File "/usr/lib/python3.8/site-packages/mopidy/commands.py", line 404, in start_backends
    backend = backend_class.start(
  File "/usr/lib/python3.8/site-packages/pykka/_actor.py", line 91, in start
    obj = cls(*args, **kwargs)
  File "/home/matt/Projects/jellyfin/mopidy-jellyfin/mopidy_jellyfin/backend.py", line 27, in __init__
    self.playlists = JellyfinPlaylistsProvider(backend=self)
  File "/home/matt/Projects/jellyfin/mopidy-jellyfin/mopidy_jellyfin/playlists.py", line 17, in __init__
    self.refresh()
  File "/home/matt/Projects/jellyfin/mopidy-jellyfin/mopidy_jellyfin/playlists.py", line 54, in refresh
    tracks = [
  File "/home/matt/Projects/jellyfin/mopidy-jellyfin/mopidy_jellyfin/playlists.py", line 55, in <listcomp>
    self.backend.remote.create_track(track)
  File "/home/matt/Projects/jellyfin/mopidy-jellyfin/mopidy_jellyfin/remote.py", line 442, in create_track
    artists=self.create_artists(track),
  File "/home/matt/Projects/jellyfin/mopidy-jellyfin/mopidy_jellyfin/remote.py", line 468, in create_artists
    return [
TypeError: 'NoneType' object is not iterable

Need to check the type of item in each playlist before adding it to the library.