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 Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • CI/CD mit shellcheck

    13.10.2019

    Ich habe mich entschlossen, in meinen diversen Shell-Projekten shellcheck als Mittel zur Qualitätssicherung einzusetzen.

    Weiterlesen...

Neueste Artikel

  • Linux-System SBOM visualisiert als Graph

    In meinem $dayjob kam neulich die Frage auf, ob es möglich wäre, die aktuelle Softwareinstallation eines Linux-Systems als Software Bill of Materials (SBOM) zu exportieren.

    Weiterlesen...
  • Visualisierung von Datenmodellen als gerichtete Graphen

    Ich habe - motiviert durch meine Experimente zur Visualisierung von Paketabhängigkeiten in Linux-Installationen als interaktive Graphen - versucht, relationale Datenmodelle in ähnlicher Form zu visualisieren und dazu zwei Plugins für die sQLshell geschrieben.

    Weiterlesen...
  • Carl Sagan - Christmas Lectures at the Royal Institution

    Die Royal Institution hat in ihren Schätzen gegraben und die Christmas Lectures von Carl Sagan auf Youtube nochmals veröffentlicht. Meiner Ansicht nach unbedingt lohnenswert für alle, die Englisch verstehen!

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.