images | ||
fix_tolino_bool.py | ||
README.md |
README
Falls jemand seinen Tolino Shine 5 / Shine Color / Vision Color (also die 2024er Generation) mit Calibre Version kleiner 7.0.16 verwendet (und im Treiber die Option Neuere Firmware zu unterstützen versuchen aktiviert) hat, wurden evtl. inkompatible Einträge in die Datenbank erstellt. Dieses Tool versucht, diese Einträge zu fixen.
Warnung: Auch wenn das Programm bei mir anstandslos macht was es soll, ist ein Backup der Datenbankdatei (KoboReader.sqlite im womöglich versteckten Verzeichnis .kobo) angeraten. Die Verwendung von fix_tolino_bool.py geschieht auf eigene Gefahr.
Hintergrund
Die Kobogeräte mit der Firmwareversion 4.x verwenden boolsche Einträge in der Datenbank die Werte "true" und "false" (als String/Zeichenkette). Die Tolinogeräte mit der Firmwareversion 5.x verwenden hierfür jedoch die Werte 1 und 0, wie es von SQLite3 (der Datenbank, die hier in Einsatz kommt) vorgesehen ist.
Wurde Neuere Firmware zu unterstützen versuchen aktiviert, wurden etwa beim Erstellen von neuen Sammlungen eben "true" bzw. "false" anstelle von 1 und 0 für diese Eintäge verwendet, was zu Problemen führen kann.
Hier ein Beispiel, wie so ein falscher Eintrag aussehen kann:
Verwendung
fix_tolino_bool.py versucht also, die entsprechenden Datenbankeinträge anzupassen. Hierfür muss man dem Tool lediglich den Pfad zum eingehängten Tolinogerät mitgeben. Zum Ausprobieren kann die Option --dry-run
bzw. -n
verwendet werden, was keinerlei Änderungen durchführt, sondern nur Informationen ausgibt.
Unter Linux könnte der Aufruf also wie folgt aussehen:
python fix_tolino_bool.py --dry-run /run/media/myuser/eReader
Wobei der Pfad oder zumindest myuser natürlich noch angepasst werden muss.
Und unter Windows sähe das so aus:
python fix_tolino_bool.py --dry-run E:
Hier wird das Laufwerk E als Einhängepunkt des Tolinos angenommen.
Um die Änderungen durchzuführen, ruft man das Ganze ohne die Option --dry-run auf.
python fix_tolino_bool.py -h
informiert ebenfalls über die verfügbaren Optionen:
usage: fix_tolino_bool.py [-h] [-n] mount_point
positional arguments:
mount_point Directory/Mount point of your Tolino device
options:
-h, --help show this help message and exit
-n, --dry-run Don't change database; show information only.
Systemvoraussetzungen
Es wird lediglich Python 3 vorausgesetzt. Die meisten Linuxdistributionen installieren Python standardmäßig. Ansonsten (Windows?) muss es installiert werden (https://www.python.org).
Ich habe das Tool unter Linux (und flüchtig unter Windows) getestet.