Traceback (most recent call last):
File "mvupdate", line 36, in <module>
APP.init()
File "/home/media/plugin.video.mediathekview/resources/lib/mvupdate.py", line 537, in init
return self.updater.init(convert=True)
File "/home/media/plugin.video.mediathekview/resources/lib/updater.py", line 88, in init
self.database.init(convert=convert)
File "/home/media/plugin.video.mediathekview/resources/lib/store.py", line 61, in init
return self.database.init(reset, convert)
File "/home/media/plugin.video.mediathekview/resources/lib/storemysql.py", line 94, in init
self.conn.database = self.settings.database
File "/home/media/.local/lib/python3.7/site-packages/mysql/connector/connection_cext.py", line 138, in database
self._cmysql.select_db(value)
_mysql_connector.MySQLInterfaceError: Unknown database 'mediathekview'
Ein einfacher Workaround wäre, die reine Python-Implementierung zu erzwingen, siehe https://github.com/TpmKranz/plugin.video.mediathekview/commit/19445c2f2ce6c3e1b52c5a7585bb9c1c08ef401d.
Ich habe auch getestet, den except-Ausdruck mit Exception zu verallgemeinern und das funktioniert erst einmal (insbesondere scheint auch die errno gleichzubleiben), läuft aber natürlich Gefahr, ganz andere Ausnahmen einzufangen.
Ab
mysql-connector-python
Version 8 wird standardmäßig die C-Extension der reinen Python-Implementierung vorgezogen, so sie verfügbar ist. Ich kann nicht sagen, ob das ein Fehler im Konnektor ist, aber wenn die C-Extension benutzt wird, ändert sich die Ausnahme, die beim Verbinden mit einer nicht-vorhandenen Datenbank geworfen wird, sodass folgende Zeile sie nicht mehr fängt: https://github.com/mediathekview/plugin.video.mediathekview/blob/1b18cdd9d914b5aa5282ba12652214c85a802af1/resources/lib/storemysql.py#L95 Das Resultat:Ein einfacher Workaround wäre, die reine Python-Implementierung zu erzwingen, siehe https://github.com/TpmKranz/plugin.video.mediathekview/commit/19445c2f2ce6c3e1b52c5a7585bb9c1c08ef401d. Ich habe auch getestet, den
except
-Ausdruck mitException
zu verallgemeinern und das funktioniert erst einmal (insbesondere scheint auch dieerrno
gleichzubleiben), läuft aber natürlich Gefahr, ganz andere Ausnahmen einzufangen.