Projekte

Dies hier ist eine gemeinsame Einstiegsseite um einen kurzen Zugangsweg zu einigen meiner Projekte zu haben.


WGT — Website Generation Tool

Vor schon etwas längerer Zeit, ich glaube irgendwann zu Beginn des Jahres 2010, hatte ich in Java ein Tool implementiert das es ermöglicht statische Webseiten zu generieren.

Das Tool benötigt zusätzlich zu den statischen Inhalten eine deklarative Beschreibung in Form einer sogenannten *.wom-Datei (Website Object Model in Anlehnung an die von Maven bekannten *.pom-Dateien). Für diese *.wom-Dateien habe ich mittels im Eclipse Modeling Framework EMF verfügbarer Technologien eine DSL spezifiziert um die *.wom-Dateien formal zu beschreiben. Mit Hilfe von EMF wird ein Text-Editor für die *.wom-Dateien generiert, der bspw. Codevervollständigung beinhaltet. Konkret kommt das Framework Xtext zum Einsatz. Für die Generierung der Website aus den Templates wird die Template Engine Velocity eingesetzt. Der Quellcode wird per SVN verwaltet.

DMRL — Service um die Deutsche Minigolfrangliste zu publizieren

Im Jahr 2011 habe ich ein Java-Projekt realisiert das es ermöglicht, die Deutsche Minigolf Rangliste als REST-Service zu veröffentlichen. Der Quellcode wird derzeit auf Github verwaltet.

cURL im deutschen Ubuntuusers Wiki

Am 15. und 16. Dezember 2012 hatte ich im deutschen Ubuntuusers Wiki eine initiale Beschreibung des Porgramms cURL erstellt.

Excel Converter

Im November 2012 habe ich eine Forumsdiskussion in einem deutschsprachigen Ubuntu-Userforum verfolgt. Ein Nutzer hatte die Frage aufgeworfen nach einem Tool, das es ermöglicht von einem Cron-Job aus Excel-Dateien nach CSV zu konvertieren. Nachdem alle Lösungsvorschläge nicht zum gewünschten Ziel führten, habe ich in Java einen Excel-nach-CSV-Konverter implementiert, der die gestellte Aufgabe erledigt. Mein Excel Converter ist seitdem bei besagtem Ubuntu Nutzer im Einsatz und befüllt jede Nacht einen Online-Shop mit den Lieferdaten eines Lieferanten.

Blog: Das Organizer Plugin in Rhythmbox 3.4.4. unter Fedora 31 aktivieren

Änderungshistorie

Erstellt: 17.02.2020

Zielsetzung

Ich benutze Rhythmbox um meine Musikbibliothek zu verwalten. Dabei ist mir wichtig, dass die Dateien auch entsprechend ihrer Eigenschaften Album sowie Nummer, Künstler und Titel auf der Festplatte abgelegt sind. Beim Importieren einer Datei wird gelegentlich eine dieser Eigenschaften falsch erfasst. Nach einer nachträglichen Änderung dieser Eigenschaft wird die Datei auf der Festplatte allerdings nicht neu organisiert, d.h. die Datei liegt dann in einem falschen Verzeichnis. Ich benötige einen Mechanismus, der es ermöglicht, nachträglich eine solche Datei neu auf der Festplatte zu organisieren, ohne dass dabei andere Eigenschaften wie Bewertung oder die Anzahl der Wiedergaben verloren gehen. Ein Werkzeug welches diesen Zweck erfüllt ist das File Organizer Plugin.

Umgebung

Es ist Rhythmbox 3.4.4 unter Fedora Linux 31 im Einsatz.

$ rhythmbox --version
rhythmbox 3.4.4

$ cat /etc/redhat-release
Fedora release 31 (Thirty One)

Referenzen

Siehe zu diesem Thema auch

Installation

Hinweis: ab Rhythmbox Version 3 sind die Plugins auf Python 3 umgestellt. Deshalb muss beim Download darauf geachtet werden den Link für 2.99+ zu verwenden.

Zuerst wird das Plugin von der GNOME Third Party Plugins for Rhythmbox Website geladen. Dies kann per Browser oder per wget erfolgen. Dann wird das Plugin entpackt und installiert. Nachfolgend siehst Du die einzelnen Schritte.

Schritt 1: Download des Plugin

$ cd Downloads/
$ wget https://github.com/lachlan-00/rb-fileorganizer/archive/master.zip
$ unzip master.zip
$ cd rb-fileorganizer-master/

Schritt 2: Abhängigkeiten prüfen

$ python3 -c "import depends_test; depends_test.check()"
All FileOrganizer dependencies are satisfied

Schritt 3: Installation des Plugin

$ make install
# Make environment
mkdir -p "~/.local/share/rhythmbox/plugins/fileorganizer/"
# Copy files, forcefully
cp "fileorganizer.plugin" "~/.local/share/rhythmbox/plugins/fileorganizer/" -f
cp *.py "~/.local/share/rhythmbox/plugins/fileorganizer/" -f
cp config.ui "~/.local/share/rhythmbox/plugins/fileorganizer/" -f
cp fo.conf.template "~/.local/share/rhythmbox/plugins/fileorganizer/" -f
cp README.md "~/.local/share/rhythmbox/plugins/fileorganizer/" -f
cp LICENSE "~/.local/share/rhythmbox/plugins/fileorganizer/" -f
cp AUTHORS "~/.local/share/rhythmbox/plugins/fileorganizer/" -f

The Fileorganizer plugin has been installed. You may now restart Rhythmbox and enable the 'Fileorganizer' plugin.

Wenn das Plugin erfolgreich installiert werden konnte erscheint ein Dialog mit der Meldung The Fileorganizer plugin has been installed. You may now restart Rhythmbox and enable the 'Fileorganizer' plugin.

Das Plugin wurde ins Verzeichnis ~/.local/share/rhythmbox/plugins/fileorganizer/ installiert:

$ ls -d ~/.local/share/rhythmbox/plugins/fileorganizer/
~/.local/share/rhythmbox/plugins/fileorganizer/

Aktivierung, Konfiguration

Nun kann man Rhytmbox starten und die Einstellungen aufrufen. In den Einstellungen wählt man den Reiter Plugins. Dort wird das Plugin zunächst aktiviert und dann dessen Preferences geöffnet. Die voreingestellten Werte kann man unverändert lassen. Das Logging ist aktiviert und als Ziel ist die Datei .fileorganizer.log eingestellt. Da ein relativer Pfad angegeben ist, wird diese Datei im Heimatverzeichnis angelegt und somit lautet der Pfad zum Logfile ~/.fileorganizer.log wo später die korrekte Funktionsweise überprüft werden kann. Die Preferences und die Einstellungen werden jetzt geschlossen.

Funktionsprüfung

Nun erfolgt eine Funktionsprüfung. Dazu wird an einer Eigenschaft die Auswirkungen auf den Speicherort der Datei haben sollte eine Änderung vorgenommen und die Datei danach neu organisiert. Danach sollte die Datei an den neuen Speicherort verschoben sein und bspw. die Bewertung unverändert bleiben. In den Einstellungen von Rhythmbox habe ich bei Struktur und Musiksammlung als Ordnerhierarchie den Wert Album eingestellt. Der Albumtitel wirkt sich also auf den Speicherort der Datei im Dateisystem aus. Ich suche mir zum Ausprobieren zunächst in Rhythmbox eine beliebige Datei aus und prüfe den Speicherort. Außerdem setze ich die Bewertung auf einen beliebigen Wert und merke mir diese Bewertung sowie das Hinzufügedatum, die letzte Wiedergabe und die Wiedergaben. Jetzt öffne ich auf diesem Titel mit der rechten Maustaste das Kontextmenü und wähle den Menüpunkt Organize Selection. Oben erscheint Fileorganizer. Your selection is organied. Nun prüfe ich, ob der Speicherort auf der Festplatte korrekt angepasst wurde und dass weiterhin sich die Eigenschaften wie Bewertung, Hinzufügedatum, Letzte Wiedergabe und Wiedergaben nicht verändert haben. Das ist der Fall. Vorsorglich schaue ich noch per tail ~/.fileorganizer.log im Logfile nach und sehe auch dort bestätigt, dass die Datei auf der Festplatte verschoben wurde. Nun kann ich die Änderung am Albumtitel wieder rückgängig machen sowie die ursprüngliche Bewertung wieder einstellen und dann die Datei erneut organisieren damit der Ursprungszustand wiederhergestellt wird.