No description
Find a file
2024-07-26 14:01:04 +02:00
images Image resized. 2024-07-26 14:01:04 +02:00
fix_tolino_bool.py Initial commit. 2024-07-26 13:22:44 +02:00
README.md Image added 2024-07-26 13:58:26 +02:00

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.