View Full Version : Slimserver: Datenbestand ausdrucken, wie?
boettgeri
2006-05-07, 02:27
Hallo,
kennt jemand eine praktikable Vorgehensweise den Slimserver-Datenbestand auszulesen um ihn ggf. auszudrucken?
Grüße,
boettgeri
ich benutze zum Editieren meiner MP3 Tags ID3-TagIT. Unter "Erweiterte Funktionen" - "Erstelle Dateiliste/ Playlist" läßt sich eine Datei als csv oder html erstellen. Die kannst Du dann ausdrucken.
Heiwil
> kennt jemand eine praktikable Vorgehensweise den
> Slimserver-Datenbestand auszulesen um ihn ggf. auszudrucken?
Wenn du dich mit MS Access wohl fühlst, dann kann sich die Installation
der SQLite ODBC Treiber lohnen:
http://www.ch-werner.de/sqliteodbc/
--
Michael
-----------------------------------------------------------
Help translate SlimServer by using the
StringEditor Plugin (http://www.herger.net/slim/)
> kennt jemand eine praktikable Vorgehensweise den
> Slimserver-Datenbestand auszulesen um ihn ggf. auszudrucken?
Wenn du dich mit MS Access wohl fühlst, dann kann sich die Installation
der SQLite ODBC Treiber lohnen:
http://www.ch-werner.de/sqliteodbc/
--
Michael
-----------------------------------------------------------
Help translate SlimServer by using the
StringEditor Plugin (http://www.herger.net/slim/)
Hallo
Den Vorschlag von Michael habe ich probiert, er geht. Leider diese Variante doch recht umständlich/aufwändig... Wäre doch schön man könnte die Direkt aus der Datenbank zB in eine normale Textdatei (ggf als Download) mit Feld und Datensatz-Trennzeichen schreiben zu lassen um diese dann ggf in Excel oder einem anderen Programm weiter verarbeiten zu können. Wie extrahiert man die Daten am Besten, wenn man nicht an dem Rechner arbeitet wo die Slimserver-Datenbank läuft? Nun vielleicht gibt's ja ein Programmierer-Genie welches ein Plugin baut - leider kann ich es nicht...
Guess
Speedi
Hi zusammen,
ich hab mal "versucht" den Datenbestand direkt an der Datenquelle abzugreifen, hatte dabei aber nicht sooo viel Erfolg, weil ich zugegebenermaßen den "schnellen Erfolg" wollte und mich nicht so tief in die verschiedenen Tabellen einarbeiten wollte. (Schande über mich, ich weiß - aber ich mag es schon im Beruf nicht so gerne, mich in "fremde" Datenbanken hinein zu interpretieren - jeder Datenbänkler hat sein "eigenes logisches System")
Hab mir dann mit dem Acrobat Destiller weitergeholfen und einfach die Webseiten, die der Slim erzeugt heruntergeladen und davon ein PDF erstellt.
Alternativ müßte WGET in Verbindung mit einem PDF Drucker auch funktionieren.
http://www.gnu.org/software/wget/
> Alternativ müßte WGET in Verbindung mit einem PDF Drucker auch
> funktionieren.
....wobei wget die Seiten einfach herunterladen, nicht aber grafisch
darstellen kann. Irgendwo braucht's dann noch ein Stück Software, welches
aus dem HTML Code Grafik macht und nach PDF konvertiert. Aber ich bin mir
sicher, dass es sowas schon irgendwo gibt.
--
Michael
-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)
> Alternativ müßte WGET in Verbindung mit einem PDF Drucker auch
> funktionieren.
> http://www.gnu.org/software/wget/
+ http://www.colorpilot.com/html2pdf.html
--
Michael
-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)
flipflip
2006-05-17, 15:53
Hallo
Den Vorschlag von Michael habe ich probiert, er geht. Leider diese Variante doch recht umständlich/aufwändig... Wäre doch schön man könnte die Direkt aus der Datenbank zB in eine normale Textdatei (ggf als Download) mit Feld und Datensatz-Trennzeichen schreiben zu lassen um diese dann ggf in Excel oder einem anderen Programm weiter verarbeiten zu können. Wie extrahiert man die Daten am Besten, wenn man nicht an dem Rechner arbeitet wo die Slimserver-Datenbank läuft? Nun vielleicht gibt's ja ein Programmierer-Genie welches ein Plugin baut - leider kann ich es nicht...
Das ist easy. Du kriegst auf http://www.sqlite.org die SQLite DB-Engine (Win32 Binaries etc. und Source Code). Wenn du das sqlite3.exe-Programm und die SS-Datenbank (Linux: .slimserversql.db, Windows: so ähnlich) in einen Ordner kopierst, dann kannst du auf der Kommandozeile (cmd.exe) ein SQL-Terminal zur Datenbank öffnen:
sqlite3 slimserversql.db
Dort geht dann z.B.:
.headers on
.separator ","
.output tracks.csv
select * from tracks;
.output stdout
Dann hast du ein CSV File mit allen Tracks drin.
Um an alle Informationen zu kommen, musst du die verschiedenen Tabellen verknüpfen (JOIN), das habe ich selber noch nicht gross versucht. Im Ordner SQL des SlimServer-Pakets hat es einige Infos zum Aufbaue der Datenbank.
Mein Ziel irgendwann, ist eine schönes Textfile mit allen Alben und den Tracks. Das sollte eigentlich schon machbar sein.
Happy Hacking :-)
flip
webthunder
2006-05-23, 23:14
Lies die Musiksam,mlung in iTunes ein. Danach kannst du im Menü "Bibliothek exportieren" ein Textfile mit allen Angaben erstellen. Dieses importierst du dann in die gewünschte DB-SW.
flipflip
2006-07-02, 13:08
Update (alte nicht funktionierende Version ersetzt):
Folgendes Skript geht so in etwa.
#!/bin/sh
#
# SSODS, export database as CSV
#
# not very cheap, but working
# does probably not work perfectly yet
#
# flipflip, 03.07.2006
#
. /etc/ssods.conf
DB=${SSCACHEDIR}/.slimserversql.db
tmp=`mktemp`
# filter to unescape utf-8 in output of sqlite
unescapeutf8()
{
sed 's/\\/\\\\/g' | \
sed 's/"/XxX/g' | \
while read line; do
val=
tmp="${line}\\\\"
while [ "xx$tmp" != "xx" ] && [ "xx$tmp" != "xx\\" ] ; do
val="${val}"`echo "${tmp}" | cut -d\\\ -f1`
tmp="`echo ${tmp} | cut -d\\\ -f2-`"
if [ "xx$tmp" != "xx" ] && [ "xx$tmp" != "xx\\" ]; then
hex=`echo "${tmp}" | cut -c1-3 `
tmp=`echo "${tmp}" | cut -c4-`
val="${val}"`printf \\\\${hex}`
fi
done
echo ${val}
val=
done | \
sed 's/XxX/"/g'
}
# filter to add DOS style CRLF line ends
unix2dos()
{
${AWK} '{ printf "%s\r\n", $0}'
}
cat <<EOF | sqlite3 ${DB} > ${tmp}
.headers on
.mode csv
.separator ;
SELECT DISTINCT
contributors.name AS artist,
albums.year AS year,
albums.title AS title,
genres.name AS genre,
tracks.disc AS disc,
tracks.tracknum AS track,
tracks.title AS ttitle,
tracks.secs AS tlength,
tracks.year AS tyear,
tracks.ct AS format,
tracks.rate AS samplerate,
tracks.bitrate/1000 AS kbitrate
FROM
contributors, albums, tracks, genres,
contributor_track, genre_track
WHERE
albums.id = tracks.album
AND contributor_track.track = tracks.id
AND contributors.id = contributor_track.contributor
AND albums.id = tracks.album
AND tracks.id = genre_track.track
AND genres.id = genre_track.genre
ORDER BY
contributors.namesort,
albums.titlesort,
albums.year,
tracks.disc,
tracks.tracknum
;
EOF
cat ${tmp} | unescapeutf8 | recode utf-8..latin1 | unix2dos
rm -f ${tmp}
# eof
flipflip
Ich benutze MAC Mpeg Audio Collection von hier:
http://mac.sourceforge.net/
Ich habe allerdings ausschließlich getagte Flacs und ein paar mp3s in meiner Sammlung.
Das erstellt problemlos vernünftige csv Dateien die Du dann in OpenOffice oder Excel benutzen kannst.
flipflip
2006-07-02, 14:57
Der MAC sieht wirklich gut aus. Den werde ich mir auf jeden Fall genauer ansehen. Bisher brauche ich zwei Tag-Programme, um meine Bedürftnisse abzudecken. Mal sehen, ob der es kann :-)
Was ich aber auch will, ist ein Export der Slimserverdatenbank auf Knopfdruck und ohne externe Programme.
Ich habe das Problem übrigens gelöst (ein "recode utf8..latin1" reicht schon) und werde es hier posten.
Update: Siehe mein Beitrag weiter oben.
flip
Was ich aber auch will, ist ein Export der Slimserverdatenbank auf Knopfdruck und ohne externe Programme.
flip
Hi hätte ich auch gerne...
Gruess
Speedi
flipflip
2006-07-03, 04:27
Obiges Skript geht einwandfrei. Es wird im nächsten SSODS dabei sein. Du kannst es aber auch so benutzen (unter linux). Den Knopf dazu musst du dir dann aber selber basteln :-)
flip
Hallo,
hier noch eine einfache Lösung unter Windows.
Einfach per "tree" Befehl.
Wenn z.B. alle Musikfiles unter X:\musik liegen
tree /A X:\musik > X:\CDs.txt
oder
dir /s X:\musik > x:\cds.txt
Powered by vBulletin® Version 4.1.12 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.