Bildverwaltung automatisiert

vorhergehende Artikel in: Linux
17.10.2016

Wer sich auch schon einmal darüber geärgert hat, daß die Foto-"Management"-Software Ordner erzeugt, die einen Unterordner enthalten, die einen Unterordner enthalten ..., der kann unter Umständen von dem hier vorgestellten Skript profitieren.

Die Erstellung begann, weil meine Fotos durch den Import in Unterordner sortiert wurden, die als einziger Unterordner in ihrem Ordner lagen. Das wiederholte sich auch noch, so daß es vorkommen konnte, daß ich, um zu einem Bild zu navigieren, mich durch drei oder vier Unterordner wühlen musste, die jeweils nur einen Unterordner beinhalteten.

Da ich dadurch genervt wurde, beschloß ich, eine Möglichkeit zu schaffen, die gesamte Fotobibliothek zu durchforsten und alle Bilder so weit "hochzukopieren", daß keine Ordner mehr übrigblieben, die nur einen Unterordner enthielten. Ich wollte also zum Beispiel von diesem Layout

Ordner 1
	\Ordner 2
	|	\Ordner 3
	|		\Ordner 4
	|			\Datei3.jpg
	|			\Datei4.jpg
	\Ordner 5
		\Ordner 6
			\Datei3.jpg
			\Datei4.jpg
zu diesem Layout kommen:
Ordner 1
	\Ordner 2
	|	\Datei3.jpg
	|	\Datei4.jpg
	\Ordner 5
		\Datei3.jpg
		\Datei4.jpg
Dazu setzte ich das unten verlinkte Skript ein. Es erwartet einen Verzeichnisnamen als einziges Argument - wird keiner angegeben, wird das aktuelle Verzeichnis benutzt. Von dort ausgehend scannt das Skript rekursiv alle Verzeichnisse, bis es eines findet, das nur ein Unterverzeichnis enthält. Wird ein solches entdeckt, werden dessen Inhalte in das übergeordnete Verzeichnis kopiert. Anschließend wird das nun leere Unterverzeichnis gelöscht.

Als ich beim Schreiben des Skriptes so weit gekommen war, erinnerte ich mich an eine Recherche, die ich aus anderen Gründen ein paar Monate vorher durchgeführt hatte: Wie kann man unter Linux Verzeichnissen eigene Icons verpassen? Da ich im Skript ja sowieso alle Verzeichnisse rekursiv scanne, könnte ich ja dabei gleich Verzeichnissen, die nur Bilder enthalten, eines davon als Custom Icon zuordnen...

Gesagt, getan - dabei musste nur beachtet werden, daß Gnome und KDE sich in der Art und Weise der Festlegung von Custom Icons unterscheiden. Ich unterstütze beide. Dazu wird zunächst eines der Bilder verkleinert und im Format PNG gespeichert. Anschließend werden die Definitionen der Custom Icons für Gnome und KDE (und andere Fenstermanager/Dateimanager, die der OpenDesktop Specification folgen) geschrieben.

Lizenz
pic_mgr

Aktualisierung vom 17. Oktober 2016

Ich habe das Skript nochmals völlig überarbeitet und in eine Form gebracht, in der es als Kontextmenü-Eintrag über die Nautilus-Actions funktioniert:
Lizenz
directory_thumbnails

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • OAuth und OTP

    16.02.2020

    Wie bereits beschrieben will ich mich demnächst näher mit OAuth befassen...

    Weiterlesen...

Neueste Artikel

  • Split von Filesets in Apache ANT

    Ich musste neulich darüber nachdenken, eine Parallelisierung für einen meiner ANT-Tasks in meinem Static Site Generator einzubauen.

    Weiterlesen
  • Ein Doclet zur Erzeugung von DocBook aus Javadoc

    Ich habe mich mit der Idee zu diesem Projekt Monate abgequält - hätte ich gewusst, was die eigentliche Implementierung für Qualen verursachen würde, hätte ich sie wahrscheinlich eingestampft.

    Weiterlesen
  • Motion JPEG Erzeugung aus Java heraus

    Da ich mich in den letzten Wochen wieder einmal mit Javas Sicherheitsmechanismen und dem Erzeugen von Animationen beschäftigt habe, habe ich den Entschluss gefasst, die bisher mittels JMF AVIs in dWb+ zu erstetzen - nur wodurch?

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.