Hallo zusammen,
ich arbeite schon seit Längerem an einem kleinen Projekt - einem Kommandozeilenprogramm zum Bearbeiten von Hörbüchern. Nun möchte ich gerne eine "Batch-Processing-Funktion" einbauen, in dem ich Tag-Daten aus Verzeichnis-Strukturen auslese. Ich habe folgende Verzeichnisstruktur:
Konkretes Beispiel:
An der cover.jpg, die immer im Hauptverzeichnis liegt, mache ich erstmal die Erkennung fest, dass es sich um ein Hörbuch handelt (vorläufig). Daher die Angabe im jeweiligen Verzeichnis...
Nun möchte ich gerne dem Programm einen Parameter --batch-pattern hinzufügen, über den man ein ganzes Verzeichnis mit Unterverzeichnissen verarbeiten kann und dabei sollen für das Tagging die Verzeichnisnamen als Grundlage dienen. Mein erster Ansatz: Man könnte mehrere Patterns als Pseudo-Reguläre-Ausdrücke über --batch-pattern angeben und den ersten Matchenden Ausdruck verwenden. Dabei könnte man die benannte Variante von Regulären Ausdrücken verwenden, um das ganze zu vereinfachen.
Beispiel:
Diese werden auf die jeweiligen Verzeichnisnamen angewendet - im Falle einer Hörbuchserie mit mehreren Teilen matcht der erste Ausdruck, in anderen Fällen der zweite.
Ich wollte diesen Ansatz einfach mal zur Diskussion stellen und nachfragen, ob es auch eleganter und benutzerfreundlicher geht?!
ich arbeite schon seit Längerem an einem kleinen Projekt - einem Kommandozeilenprogramm zum Bearbeiten von Hörbüchern. Nun möchte ich gerne eine "Batch-Processing-Funktion" einbauen, in dem ich Tag-Daten aus Verzeichnis-Strukturen auslese. Ich habe folgende Verzeichnisstruktur:
Code:
/<autor>/<series>/<series-part> - <title>/ // alternativ - wenn es keine Serie ist /<autor>/<title>/
Code:
/Patrick Rothfuss/Die Königsmörder-Chronik/1 - Der Name des Windes/cover.jpg /Patrick Rothfuss/Die Königsmörder-Chronik/2.1 - Die Furcht des Weisen/cover.jpg /Joanne K. Rowling/Harry Potter/1 - Harry Potter und der Stein der Weisen/cover.jpg /Jane Austen/Stolz und Vorurteil/cover.jpg
Nun möchte ich gerne dem Programm einen Parameter --batch-pattern hinzufügen, über den man ein ganzes Verzeichnis mit Unterverzeichnissen verarbeiten kann und dabei sollen für das Tagging die Verzeichnisnamen als Grundlage dienen. Mein erster Ansatz: Man könnte mehrere Patterns als Pseudo-Reguläre-Ausdrücke über --batch-pattern angeben und den ersten Matchenden Ausdruck verwenden. Dabei könnte man die benannte Variante von Regulären Ausdrücken verwenden, um das ganze zu vereinfachen.
Beispiel:
Code:
--batch-pattern="/%a/%s/%p - %t/" --batch-pattern="/%a/%t/" wird zu den Ausdrücken #^(?P<author>[^/]+)/(?P<series>[^/]+)/((?P<part>[0-9\.]+)) - (?P<title>[^/]+)/$# und #^(?P<author>[^/]+)/(?P<title>[^/]+)/$#
Ich wollte diesen Ansatz einfach mal zur Diskussion stellen und nachfragen, ob es auch eleganter und benutzerfreundlicher geht?!
Kommentar