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

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    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.