Content-space.de

The WikiBlog of Michael Hamann about changing technologies and more

User Tools

Site Tools


projekte:pictdatabase

Pictdatabase

Dies ist mein Bildsortierprogramm, es ist in Bash programmiert.

Das war im Jahre 2005, mittlerweile weiß ich wesentlich mehr und muss sagen, dass ich nicht mehr der Meinung bin, dass der Ansatz von Pictdatabase gut ist. Das Problem ist nämlich, dass v.a. beim Einsatz von 5 oder mehr Stichwörtern pro Bild sehr viele Dateien erzeugt werden und dadurch die Geschwindigkeit sehr abnimmt und irgendwann auch signifikante Datenmengen erzeugt werden. Große Mengen Bilder zu Sortieren ist eine Qual, möchte man noch einmal zu Bild X zurück, ist man aufgeschmissen, das geht so gut wie gar nicht. Ich denke heute (2008), dass ein Ansatz für derartige Sortiermechanismen tiefer greifen muss, nämlich auf Dateisystemebene. Das hier angesprochene Problem des Backups stellt sich dann zwar wieder, doch ich denke, dass dafür Lösungen gefunden werden können.

Die Idee

Die Idee war eigentlich recht einfach: Ich will meine Bilder so sortieren, dass ich sie wiederfinde, wenn ich sie suche. Da aber die Festplatte nicht groß genug für alle Bilder ist, will ich die Bilder auf CD Brennen. Auch auf CD sollten die Bilder aber noch sortiert sein. Ich habe mir verschiedene Programme angeschaut, mit keinem aber war ich richtig zufrieden, denn sie arbeiten alle mit einer Datenbank. Damit wäre aber die Sortierung auf CD verloren.

Wie ich die Bilder sortiere

Meine Idee ist, jedem Bild mehrere Stichwörter zuzuordnen, wo das Bild gemacht ist, was zu sehen ist. Ich nenne sie auch Motive.

Dann wollte ich (und habe ich erreicht) ein System, bei dem ich die Bilder unabhängig vom verwendeten Computer, d.h. unabhängig von meiner Software, anschauen kann und dabei eines oder mehrere Stichwörter angeben kann, und dann genau die Bilder sehe, die diesen Stichwörtern entsprechen. Dies erreiche ich damit, dass meine Software mit Hilfe des Programms album eine HTML - Oberfläche erstellt.

Ich sortiere die Bilder in Ordner, in die sie verlinkt werden. Meine Software erstellt automatisch Vorschauen für die Bilder und verlinkt diese ebenfalls.

Die ausgewählten Motive werden im Kommentar des Bildes gespeichert, dort bereits gespeicherte Kommentare stellen ein Problem dar und werden eventuell gelöscht.

Wie das funktioniert

Am Anfang überprüft mein Programm erst einmal ob alle benötigte Software vorhanden ist. Dann wird ein “Willkommmens-Dialog” gezeigt. Daraufhin kommt ein weiterer Dialog, wo man erst einmal das Verzeichnis, in dem sich die Bilder befinden, angibt. Dann werden die Bilder gesucht. Dann wird die Motivliste gesucht und falls sie nicht existiert eine neue angelegt. Die Motivliste ist die einfache Textdatei /home/user/.picttype, in der alle Motive, die man nachher auswählen kann, drinstehen. Pro Zeile ein Motiv, die Letzte Zeile muss leer sein. Nun wird das letzte gefragt: Ob die HTML - Oberfläche erzeugt werden soll.

Jetzt kommt das eigentliche Sortieren. Das Bild wird angezeigt, dazu wird eine Auswahlliste erstellt, in der die Motive die im Bild bereits gespeichert waren oder die vom letzten Bild bereits aktiviert sind. Wird bestätigt, wird das Bild einsortiert, d.h. Links erstellt. Es gibt auch Zurück und Abbrechen. Zurück geht, ohne das aktuelle Bild einzusortieren, zum letzten Bild zurück, über Abbrechen kann man die Motivliste bearbeiten.

Am Schluss wird die HTML - Oberfläche erstellt, hier kann auch ein Theme verwendet werden.

Ich sollte vielleicht mal ein Beispiel hochladen…

Zur aktuellen Version

Die Grundfunktionalität ist gegeben, doch außer mir hat es noch niemand getestet - bei mir funktioniert es. Die Bedienung ist am Anfang beim Start noch etwas umständlich, ich sollte den Code noch einmal komplett überarbeiten, ich denke, ich kann ihn noch wesentlich beschleunigen.

Es gibt ein paar Sachen, die nicht richtig funktionieren bzw. die ich noch nicht getestet habe:

  • Bei bestimmten Namenskombinationen bei den Motiven werden zu viele Motive vorausgewählt: z.B. wird wenn das Motiv “Schneeglöckchen” angewählt ist, auch das Motiv “Schnee” angewählt, d.h. immer wenn es im ausgewählten Motiv enthalten ist, wird es mitausgewählt. Für dieses Problem habe ich eine Lösung eingebaut, vielleicht wird es jetzt besser.
  • Datei-/Verzeichnisnamen mit Leerzeichen habe ich noch nicht getestet, hier könnte es zu Problemen kommen
  • Andere Endungen als .jpg und .JPG werden nicht unterstützt

Vorraussetzungen:

  • Linux oder Cygwin unter Windows (nicht getestet)
  • Jhead zum Verändern der Kommentare der Bilder
  • Xdialog zum Anzeigen von Grafischen Meldungen
  • qiv zum Anzeigen der Bilder

Zum erstellen der HTML-Oberfläche(optional):

  • Convert zum Erstellen der Vorschauen für das HTML - Album
  • album zum Erstellen des HTML - Albums

Hinweis: Ich übernehme keinerlei Haftung für Schäden, die mein Programm eventuell anrichtet. Es darf nach den Regeln der GPL verbreitet und bearbeitet werden.

Download

Installation

Einfach die Datei herunterladen, die Versionsnummer entfernen und die Datei in ein /bin Verzeichnis kopieren, z.B. /home/Benutzername/bin oder /usr/local/bin/ zur systemweiten Installation. Danach kann das Programm durch Eingabe von pictdatabase gestartet werden. Hinweis: Es werden keinerlei Kommandozeilenparameter unterstützt (leider).

Comments

I S X L U
projekte/pictdatabase.txt · Last modified: 2010/10/30 15:55 by 127.0.0.1