Ein Dateimanager, der nur Comics kennt: browsen, lesen, taggen, umbenennen, kopieren, verschieben, löschen. Und die Frage beantworten, welche Hefte einer Reihe noch fehlen.
Oberfläche auf Deutsch und Englisch, umschaltbar im laufenden Betrieb.
Cover-Kacheln, Ordnerbaum, der bei deinen Sammlungen beginnt statt bei /.
Eingebauter Reader mit Tastaturbedienung und Vollbild.
Schreibt ComicInfo.xml ins Archiv — dasselbe Format, das
ComicTagger, Komga, Kavita und ComicRack lesen.
Gegen ComicVine und einen lokalen Dump der Grand Comics Database. Gewichtete Bewertung, Cover-Abgleich per Bild-Hash.
Welche Ausgaben fehlen? Lücken im eigenen Bestand und Angaben der Quelle werden getrennt geführt — nie vermischt.
SQLite-Index mit Feldsuche: serie:batman jahr:2019 joker.
Treffer erscheinen als Reihen und als einzelne Ausgaben.
Seiten löschen und umsortieren, mit Rückgängig. Geschrieben wird erst auf Befehl — bis dahin bleibt die Datei unangetastet.
Noch nicht bestückt.
Voraussetzung ist Python 3.10 oder neuer.
git clone https://github.com/aaaaaprvdgrwwelt/comicdesk.git
cd comicdesk
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
Für CBR und CB7 wird zusätzlich 7z gebraucht:
sudo apt install p7zip-full p7zip-rar # Debian/Ubuntu
./comicdesk.sh # oder: .venv/bin/python -m comicdesk
./comicdesk.sh ~/Comics # direkt in einem Ordner starten
./install-desktop.sh # Eintrag im Anwendungsmenü anlegen
Die Wahrheit über einen Comic steht immer in der Datei selbst, nicht im Index.
| Format | Lesen | Tags schreiben | Seiten bearbeiten |
|---|---|---|---|
| CBZ / ZIP | ja | ja (ComicInfo.xml im Archiv) | ja |
| CBR / CB7 | ja, via 7z | nein → „Nach CBZ konvertieren“ | nein |
| CBT | ja | nein → „Nach CBZ konvertieren“ | nein |
| ja, via PyMuPDF | ja (Datei daneben) | ja |
Beide Quellen können gleichzeitig aktiv sein; bewertet wird quellenübergreifend.
API-Key kostenlos nach Registrierung. Limit sind 200 Anfragen pro Stunde, deshalb wird auf etwa eine Anfrage pro Sekunde gedrosselt und jede Antwort dauerhaft zwischengespeichert. Liefert Cover-URLs — nur damit ist der Bildabgleich möglich.
Die Grand Comics Database hat keine öffentliche API, stellt aber alle zwei Wochen SQLite-Dumps bereit. Einmal „Suche vorbereiten“ drücken — das ist nicht optional:
| Serie suchen | Dauer |
|---|---|
| ohne Vorbereitung | 15.900 ms |
| mit Volltextindex | 0,2 ms |
Gemessen an einem echten Dump (6,2 GB). Der Aufbau dauert rund zehn Sekunden und legt eine eigene 7-MB-Datei an; der Dump selbst wird nicht verändert.
Zwei Aussagen, bewusst nie vermischt.
Zwischen zwei Heften, die du hast, fehlt eine Nummer. Folgt allein aus dem eigenen Bestand, braucht keine Quelle, ist nicht bestreitbar.
Dass eine Reihe über dein höchstes Heft hinaus weiterging, weiß nur eine externe Quelle. Wird mit Quellenangabe geführt und als Angabe gekennzeichnet, nicht als Gewissheit.
Die Zuordnung läuft über die in den Tags gespeicherte
Heft-ID, nicht über den Serientitel. Eine Namenssuche nach „Die Rächer“
greift bei GCD sonst die Condor-Auflage von 1979, obwohl die eigene Reihe eine
andere ist. Nicht jede Reihe ist fortlaufend nummeriert — Magazine wie Zack
nummerieren nach Datum. Wo die Nummerierung uneinheitlich ist, wird
keine Lücke behauptet. Und wer es besser weiß als jede Quelle,
trägt die Nummern selbst ein: 1-3, 12-20.
Feldsuchen und freier Text lassen sich mischen. Die englischen Namen funktionieren ebenso.
| Beispiel | Wirkung |
|---|---|
joker | Volltext über alle Felder |
serie:batman | Serienname enthält „batman“ |
jahr:1990-1999 | Jahr exakt oder als Zeitraum |
autor:gottfredson | beliebige mitwirkende Person |
getaggt:nein | alles ohne Tags |
quelle:comicvine | woher die Tags stammen |
serie:batman jahr:2019 joker | alles kombinierbar (UND) |