diff --git a/PROJECT.org b/PROJECT.org index aa9d1ae..6707770 100644 --- a/PROJECT.org +++ b/PROJECT.org @@ -92,7 +92,7 @@ fetching and simple saving. :LOGBOOK: CLOCK: [2025-07-09 Wed 09:55]--[2025-07-09 Wed 10:15] => 0:20 :END: -* Backlog [9/33] +* Backlog [10/34] ** TODO [#C] Create small utility to clean up tracks scrobbled with wonky playback times :vrobbler:personal:bug:music:scrobbles: ** TODO [#C] Move to using more robust mopidy-webhooks pacakge form pypi :utility:improvement: :PROPERTIES: @@ -456,6 +456,50 @@ Turns out we're not looking up music tracks properly, again. ** TODO Add sentiment parsing for Scrobbles with notes :vrobbler:project:scrobbles:sentiment: ** TODO Check opencode about a way to present stats like movies per month :vrobbler:scrobbles:stats:personal:project: +** DONE Fix bug in Jellyfin audio track playback :vrobbler:personal:project:bug:music:jellyfin: +:PROPERTIES: +:ID: 002bd234-4507-5313-fb59-2d3baa49b847 +:END: + +#+begin_src shell +ERROR django.request:241 log_response Internal Server Error: /webhook/jellyfin/ +Traceback (most recent call last): + File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner + response = get_response(request) + ^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response + response = wrapped_callback(request, *callback_args, **callback_kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view + return view_func(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view + return view_func(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view + return self.dispatch(request, *args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 509, in dispatch + response = self.handle_exception(exc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 469, in handle_exception + self.raise_uncaught_exception(exc) + File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception + raise exc + File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 506, in dispatch + response = handler(request, *args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/rest_framework/decorators.py", line 50, in handler + return func(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/vrobbler/apps/scrobbles/views.py", line 494, in jellyfin_webhook + scrobble = jellyfin_scrobble_media(post_data, request.user.id) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/vrobbler/apps/scrobbles/scrobblers.py", line 177, in jellyfin_scrobble_media + log["album_id"] = media_obj.album_id + ~~~^^^^^^^^^^^^ +TypeError: 'tuple' object does not support item assignment +#+end_src ** DONE [#B] Auto calc duration if no playback time seconds present :vrobbler:bug:scrobbles:personal:project: :PROPERTIES: :ID: e16228b2-b062-bd00-32e6-b2353e6406e9