Das vom Regionalen Rechenzentrum Erlangen (RRZE) erstellte RRZETangoIconSet besteht aus Grafiken im Format Scalable Vector Graphics (SVG). SVG-Dateien beschreiben zweidimensionale Vektorgrafiken in der XML-Syntax. Diese SVG-Dateien werden im Web der Öffentlichkeit zur Verfügung gestellt, wozu z.B. eine Beschreibung der einzelnen Dateien notwendig ist. Diese Beschreibung wird allerdings bereits von der Designerin der SVG-Dateien beim Erstellen mit dem Designprogramm Inkscape in den Metadaten der jeweiligen Grafik eingetragen. Nun ergibt sich das Problem, dass jede Grafik mit dem Grafikprogramm Inkscape geöffnet und aus einem Unterdialog die Beschreibung herauskopiert werden muss. Dies ist ein nicht zu vertretender Aufwand.
Um diesen Aufwand zu minimieren, erstellte Frau Andrea Löhlein ein Perl-Skript, welches automatisch die SVG-Dateien aus dem angegebenem Verzeichnis (einschließlich der Unterverzeichnisse) ausließt und die entsprechenden Metadaten in eine Datei speichert. Somit müssen Informationen lediglich aus einer Datei herausgenommen werden. Hierfür verwendet das Skript das PerlModul SVG::Metadata.
Dem Skript kann mit dem Parameter -d (oder –directory) ein Verzeichnis übergeben werden, in dem die Grafiken liegen. Außerdem wird mit dem Parameter -o (oder –output) eine Datei angegeben, in die die Informationen geschrieben werden sollen. Diese Datei muss noch nicht existieren. Existiert sie noch nicht, wird sie vom Skript automatisch erstellt. Außerdem kann mit dem Parameter -m (oder –metadatafield) ein Metadatenfeld ausgewählt werden, welches ausgelesen werden soll. Hierbei werden mehrere Metadatenfelder durch ein Komma im Parameter getrennt (z.B. -m description,author,owner). Diese Informationen werden in die angebene Textdatei geschrieben. Mit dem Parameter –as-csv können die Informationen allerdings in eine CSV-Datei geschrieben werden. Hierbei werden die Informationen durch Semikolons (;) getrennt.
perl tango.pl --help Tango.pl print different Metadata from SVG-Files to an txt- or csv-file. Usage: perl tango.pl -p SVGFilePath -o OutputFilePath perl tango.pl -p SVGFilePath -o OutputFilePath [options] -p --path Path to SVG-File(s) -o --output Path or name to Outputfile -h --help Print this Help Options: -m --metadatafield [METADATA] Print different Metadata. This Metadata could be: description, title, subject, publisher, publisher_url, creator, creator_url, owner, owner_url, license, license_date, language, keywords More than one METADATA must be seperated by a semicolon ; --as-csv Print the different Metadata not in a *.txt-file but in a *.csv-file Examples: perl tango.pl -p Tango/scalable -o /tmp/tango.txt perl tango.pl -p Tango/scalable -o tango.txt -m description,title,subject perl tango.pl -p Tango/ -o /opt/var/tango.txt -m description,title --as-csv
Read Metadata from SVG
The Regional Computer Centre Erlangen (RRZE) created the RRZETangoIconSet which consists of Scalable Vector Graphics(SVG). SVG files describe two-dimensional vector graphics in the XML syntax. These SVG files are published on the internet, that’s why a description of the separate files is necessary. This description needs to be inserted into the metadata of the respective graphics by the designer of the SVG files during the creation of those files with the design program Inkscape . Now the problem arises that every graphic must be opened with the graphics program Inkscape and every description must be individually copied from the subdialogue. This is a very unnecessary and tedious effort.
To mimimize this effort, Miss Andrea Löhlein created a perl script which automatically reads the SVG files from the indicated directory (including the subdirectories) and writes the appropriate metadata to a file. This way, the information has to be taken from one file only. For this purpose the script uses the perl module SVG::Metadata. To run the script, some parameters need to be passed. For example -d (or –directory) with the directory the SVG graphics are in. The parameter -o (or –ouput) with a filename defines where the information will be written. This can either be an existing file, or one will automatically be created by the script. Also the parameter -m (or –metadatafield), specifying the name of the metadatafield to be selected, is available. For several metadatafields, use a comma to separate them (e.g. -m description,author,owner). This information will be written in the textfile indicated. When using the parameter –as-csv, the information will be written in a CSV file. With this option, the information in the file will be separated by semicolons (;).