# README Falls jemand seinen Tolino Shine 5 / Shine Color / Vision Color (also die 2024er Generation) mit Calibre Version **bis einschließlich 7.15** verwendet (und im Treiber die Option *Neuere Firmware zu unterstützen versuchen* aktiviert) hat, wurden evtl. inkompatible Einträge in der 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: ![](images/tolino_vs_kobo_bool.png) ## 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 tatsächlich 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. Ich habe kein MacOS, aber damit sollte es eigentlich auch funktionieren.