dream-alpha / MovieCockpit

MovieCockpit (MVC) is a movie list plugin for DreamOS receivers.
https://dream-alpha.github.io/MovieCockpit/
GNU General Public License v3.0
0 stars 0 forks source link

Crash when scanning files: TypeError: decode() argument 1 must be string, not None #6

Closed cweiske closed 4 years ago

cweiske commented 4 years ago

On a freshly installed MovieCockpit 4.8.1 I got a crash when starting it - but only once. It seems as if it tried to scan a file and crashed when decoding the file name.

MVC-I: FileCache: getEitData: recording_start_time: 1409212980, recording_stop_time: 0
MVC-I: FileUtils: readFile: path: /media/hdd/movie/Kinder/Yakari/20150525 1737 - KiKA HD - Yakari.ts.xmeta, exception: [Errno 2] No such file or directory: '/media/hdd/movie/Kinder/Yakari/20150525 1737 - KiKA HD - Yakari.ts.xmeta'

EXCEPTION IN PYTHON STARTUP CODE:
------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/enigma2/python/mytest.py", line 828, in <module>
    runScreenTest()
  File "/usr/lib/enigma2/python/mytest.py", line 616, in runScreenTest
    session = Session(desktop = getDesktop(0), summary_desktop = getDesktop(1), navigation = nav)
  File "/usr/lib/enigma2/python/mytest.py", line 305, in __init__
    p(reason=0, session=self)
  File "/usr/lib/enigma2/python/Plugins/Extensions/MovieCockpit/plugin.py", line 78, in autostart
    FileCache.getInstance()
  File "/usr/lib/enigma2/python/Plugins/Extensions/MovieCockpit/FileCache.py", line 82, in getInstance
    instance = FileCache()
  File "/usr/lib/enigma2/python/Plugins/Extensions/MovieCockpit/FileCache.py", line 74, in __init__
    self.loadDatabase(sync=True)
  File "/usr/lib/enigma2/python/Plugins/Extensions/MovieCockpit/FileCache.py", line 276, in loadDatabase
    self.loadDatabaseFile(path, filetype)
  File "/usr/lib/enigma2/python/Plugins/Extensions/MovieCockpit/FileCache.py", line 301, in loadDatabaseFile
    filedata = self.newFileData(path)
  File "/usr/lib/enigma2/python/Plugins/Extensions/MovieCockpit/FileCache.py", line 411, in newFileData
    eit = ParserEitFile(path).getEit()
  File "/usr/lib/enigma2/python/Plugins/Extensions/MovieCockpit/ParserEitFile.py", line 77, in __init__
    self.__parse(data)
  File "/usr/lib/enigma2/python/Plugins/Extensions/MovieCockpit/ParserEitFile.py", line 286, in __parse
    self.eit['name'] = convertToUtf8(self.name_event_descriptor, self.name_event_codepage)
  File "/usr/lib/enigma2/python/Plugins/Extensions/MovieCockpit/UnicodeUtils.py", line 26, in convertToUtf8
    text = text.decode(codepage).encode("utf-8")

TypeError: decode() argument 1 must be string, not None
------------------------------------------------------------
(exit code 5)
dream-alpha commented 4 years ago

fixed in 4.8.3