Liebe Community,
seit einem Einspielen der neueren Updates von CoreElec oder des Emby for Kodi NG Addons, schlägt das Scraping meiner Heimvideo- und Bilder-Datenbank fehl. Nach einiger Suche, konnte ich die Fehlerursache finden. Ich weiss aber nicht, wie ich die Fehler am besten beseitige. Also...
1) Ich habe auf meinem Emby Server eine Sammlung von Bildern und Heimvideos in einer eigenen Bibliothek "Home videos & photos".
2) Wenn ich per Emby for Kodi NG Addon auf meinem Client diese Sammlung hinzufügen wollte, brach der Scan einfach ab.
3) Die relevanten Zeilen im [definition=9,2]kodi.[definition='1','0']log[/definition][/definition]:
log" data-highlighter="brainfuck" data-line="1">2021-11-01 13:39:54.322 T:5091 INFO <general>: INFO: EMBY.core.movies.Movies: ADD movie [59/3297/2272] 1070373: IMG_2035 2021-11-01 13:39:54.324 T:5091 INFO <general>: INFO: EMBY.core.movies.Movies: ADD movie [59/3298/2273] 1070374: IMG_2036 2021-11-01 13:39:54.329 T:5091 ERROR <general>: Exception in thread 2021-11-01 13:39:54.329 T:5091 ERROR <general>: Thread-38 2021-11-01 13:39:54.329 T:5091 ERROR <general>: : 2021-11-01 13:39:54.329 T:5091 ERROR <general>: Traceback (most recent call last): 2021-11-01 13:39:54.329 T:5091 ERROR <general>: File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner 2021-11-01 13:39:54.329 T:5149 INFO <general>: INFO: EMBY.library.Library: [ worker library queue size ] 1 2021-11-01 13:39:54.335 T:5091 ERROR <general>: File "/usr/lib/python3.8/threading.py", line 870, in run 2021-11-01 13:39:54.335 T:5091 ERROR <general>: File "/storage/.kodi/addons/plugin.video.emby-next-gen/database/library.py", line 954, in RunJobs 2021-11-01 13:39:54.337 T:5091 ERROR <general>: 2021-11-01 13:39:54.337 T:5091 ERROR <general>: self.worker_library() 2021-11-01 13:39:54.337 T:5091 ERROR <general>: 2021-11-01 13:39:54.337 T:5091 ERROR <general>: File "/storage/.kodi/addons/plugin.video.emby-next-gen/database/library.py", line 706, in worker_library 2021-11-01 13:39:54.338 T:5091 ERROR <general>: 2021-11-01 13:39:54.338 T:5091 ERROR <general>: DBObject(Item, LibraryData) 2021-11-01 13:39:54.338 T:5091 ERROR <general>: 2021-11-01 13:39:54.338 T:5091 ERROR <general>: File "/storage/.kodi/addons/plugin.video.emby-next-gen/core/movies.py", line 61, in movie 2021-11-01 13:39:54.339 T:5091 ERROR <general>: 2021-11-01 13:39:54.339 T:5091 ERROR <general>: obj['Premiere'] = Utils.convert_to_local(obj['Year']) 2021-11-01 13:39:54.339 T:5091 ERROR <general>: 2021-11-01 13:39:54.339 T:5091 ERROR <general>: File "/storage/.kodi/addons/plugin.video.emby-next-gen/helper/utils.py", line 291, in convert_to_local 2021-11-01 13:39:54.339 T:5091 ERROR <general>: 2021-11-01 13:39:54.339 T:5091 ERROR <general>: timestamp = datetime.fromtimestamp(timestamp) 2021-11-01 13:39:54.339 T:5091 ERROR <general>: 2021-11-01 13:39:54.339 T:5091 ERROR <general>: OverflowError 2021-11-01 13:39:54.339 T:5091 ERROR <general>: : 2021-11-01 13:39:54.339 T:5091 ERROR <general>: timestamp out of range for platform time_t 2021-11-01 13:39:54.339 T:5091 ERROR <general>: 2021-11-01 13:39:54.591 T:5149 ERROR <general>: Exception in thread 2021-11-01 13:39:54.591 T:5149 ERROR <general>: Thread-81 2021-11-01 13:39:54.591 T:5149 ERROR <general>: : 2021-11-01 13:39:54.591 T:5149 ERROR <general>: Traceback (most recent call last): 2021-11-01 13:39:54.591 T:5149 ERROR <general>: File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner 2021-11-01 13:39:54.591 T:5149 ERROR <general>: File "/usr/lib/python3.8/threading.py", line 870, in run 2021-11-01 13:39:54.592 T:5149 ERROR <general>: File "/storage/.kodi/addons/plugin.video.emby-next-gen/database/library.py", line 954, in RunJobs 2021-11-01 13:39:54.593 T:5149 ERROR <general>: 2021-11-01 13:39:54.593 T:5149 ERROR <general>: self.worker_library() 2021-11-01 13:39:54.593 T:5149 ERROR <general>: 2021-11-01 13:39:54.593 T:5149 ERROR <general>: File "/storage/.kodi/addons/plugin.video.emby-next-gen/database/library.py", line 705, in worker_library 2021-11-01 13:39:54.593 T:5149 ERROR <general>: 2021-11-01 13:39:54.593 T:5149 ERROR <general>: progress_updates.update(ProgressValue, heading="Emby: %s" % library_name, message=Item['Name']) 2021-11-01 13:39:54.593 T:5149 ERROR <general>: 2021-11-01 13:39:54.593 T:5149 ERROR <general>: AttributeError 2021-11-01 13:39:54.593 T:5149 ERROR <general>: : 2021-11-01 13:39:54.593 T:5149 ERROR <general>: 'NoneType' object has no attribute 'update' 2021-11-01 13:39:54.593 T:5149 ERROR <general>:
4) Ich bin dann auf die Quelle gegangen. Es handelt sich um ein altes mov-video mit dazugehöriger nfo-Datei. Der Fehler war schnell gefunden. Im nfo-File ist das Jahresattribut fehlerhaft. Dort steht <year>2036</year>. Anscheinend wurde beim Scraping die laufende Nummer des Dateinamens als Jahreszahl interpretiert.
Einerseits wundert es mich, dass Kodi sowas nicht abfängt, andererseits sind die Einträge natürlich falsch. Ich habe aber sehr viele Heimvideos, die das gleiche Problem haben. Insofern ist das händisch nicht wirklich gut zu lösen. Habt Ihr einen Tipp, wie ich das am besten hinkriege? Per Emby Server, per Kodi auf der Clientseite (wohl eher nicht) oder per Konsole auf dem Server? Wie würdet Ihr das angehen?