Nur bestimmte Verzeichnisse/Daten in die AudioDB aufnehmen? Wie?

  • Hallooooodriiiii,

    Heute wollte ich mal versuchen, der AudioDB von XBMC ne Chance zu geben....

    Bislang habe ich ich meist nur Hörspiele über XBMC gehört, welche im via FileBrowser gestartet habe.
    Ebenso hab ich manchmal ein paar Alben gehört, die ich vorher auch relativ bequem über das Dateisystem zum abspielen ausgewählt habe.
    Nun aber dachte ich, versuche ich mal, unsere Musiksammlung in die XBMC-Datenbank aufzunehmen. (Hörspiele immernoch ausgelassen)

    Da es sich allerdings um eine sehr große (und auch grobe) Sammlung handelt (wir sind viele, die Ihre Musik auf einem NAS ablegen), würde ich gerne die Zufuhr etwas beschränken...

    Ich möchte gerne, das NUR Verzeichnisse gescannt werden, die ein [ und ein ] enthalten. Also eine öffnende und schliessende eckige Klammer im Verzeichnisnamen haben.

    Ist das möglich?
    Wenn ich im Moment auf die Quelle klicke und sie einscannen lasse, dann nimmt XBMC ja alles, was er finden kann.
    Ich möchte die Auswahl aber gerne wie oben erwähnt beschränken.

    Wo muss ich da ansetzen?

    Ich hoffe auf eine Datei in der ich evtl. eine REGEX setzen kann, oder ähnlich...


    Für hilfreiche Informationen bin ich -wie immer- höchst dankbar :)

  • Ok, danke, das nutze ich ja auch bei den Movies, aber ich möchte ja nicht ausschliessen, sondern einschliessen.

    Oder -und das wäre jetzt wohl eher ein REGEX-Frage- kann man eine Abfrage innerhalb excludefromscan auch negieren, d.h. das ich alles ausschliesse, was nicht [ und ] enthält?

    Entschuldigung, aber ich hab wohl mit dem Begriff REGEX rumgeprollt, ohne wirklich genau zu wissen, was ich damit alles machen kann...

  • hilft dir das weiter?

    http://www.mrunix.de/forums/archive/index.php/t-43960.html

    direkt im zweiten beitrag müsste die lösung stecken.

    der user dort wollte alles mit "." haben und das dann negieren.

    also von "/^\(.)*$" zu "/^[^.].*$"

    (ich hab da allerdings keine ahnung von und das nur eben gefunden)

    edt:

    und hier die erläuterung dazu:

    http://www.traum-projekt.com/forum/73-works…xpressions.html

    :)

    das zweite "^" negiert den ausdruck.

    Externer Inhalt beta.speedtest.net
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
  • hilft dir das weiter?

    Ich weiss noch nicht :)
    Ich werde noch herausfinden, ob das ! zur Negation von PHP stammt, oder ob es mit dem REGEX an sich zu tun hat. Dennoch danke, ich werde Google bemühen, wenn ich zu Hause bin und dann mal -hoffnungsvoll- gucken :)

    EDIT: halt, moment, Du schreibst ja etwas von ^ .... Nunja, bin mit den Gedanken halb auf der Knechte und halb schon zu hause...kann ja nichts vernünftiges bei rauskommen.... ;->

  • So direkt aus dem Kopf...

    ^(?!\[).*(?!\])$

    Dieser regex sollte dir in einem <exludefromscan> alle Verzeichnisse ausschließen, welche nicht dem Format [beliebige Zeichenkette] entsprechen...


    Ich weiß jetzt allerdings gerade nicht, ob in dem <excludefromscan>-tag der komplette Pfad angegeben werden muss... Ansonsten würde ich es so versuchen...
    ^Pfad zum Musikroot.*(?!\[).*(?!\])$

  • Hey danke nochmal an Euch!!
    Was für ein fixer Service :)
    Leider muss ich jetzt erstmal ne Stunde warten, bis meine AudioDB (von SQL-Server des NAS) gelöscht ist...

    Habe die Musik Quelle entfernt und die Frage, ob ich alles innerhalb dieser Quelle aus der DB löschen wolle, mit JA beantwortet, weil ich davon ausgehe, das bei einem erneuten Start von XBMC mit dem neuen excludefromscan in der [definition='2','1']advancedsettings[/definition].xml, bei einem neuen Scan wohl nicht die "alten" nicht mehr auf den Regex passenden, aber noch in der AudioDB vorhandenen Einträge gelöscht werden.

    Sehe ich das korrekt, oder hätte er die Einträge automatisch gelöscht, bei einem erneuten Scan der Quelle?

  • Ok, das war ein Schnellschuss mit meinem Wunsch, nur Verzeichnisse zu inkludieren, die [ und ] im Namen haben.... ;-/

    Zitat von "XBMC-Log"

    18:52:05 T:3612 DEBUG: CUtil::ExcludeFileOrFolder: File 'smb://Server/Pfad/NocheinPfad/Q/' excluded. (Matches exclude rule RegExp:'^(?!\[).*(?!\])$')

    Es wird natürlich der Hauptpfad ausgeschlossen, weil dieser kein [ und ] enthält...

    Wenn man es im Log liesst, klingt es logisch.... vorher habe ich nicht daran gedacht...
    Danke 4lb3rtO und kio, für die super Vorlage :)
    Aber ich hatte das -irgendwie- nicht richtig durchdacht....

    Wenn ich, wie als Alternative vorgeschlagen,

    Code
    <regexp>^\\\\Server\\Pfad\\NocheinPfad\\Q\\.*(?!\[).*(?!\])$ </regexp>

    benutze, werden ALLE Pfade in die AudioDB geladen.

    Evtl. sollte ich einmal meine Ordner Struktur zeigen, damit ich selbst sehe, was ich will 8-)

    Zitat


    //Server/Pfad/NocheinPfad/Q/ <- bis hier keine Musikstücke
    //Server/Pfad/NocheinPfad/Q/Künstler XYZ/Albumname [Release Medium]/musikdateien.ext
    //Server/Pfad/NocheinPfad/Q/Künstler ABC/Albumname [Release Medium]/musikdateien.ext
    //Server/Pfad/NocheinPfad/Q/Künstler FOO/Albumname [Release Medium]/musikdateien.ext


    für /Q/ kommt das komplette Alphabet in Frage, da wir versuchen, die Künstler nach Namen zu sortieren...

    also so siehts in etwa in echt aus:

    Zitat

    "\\Server\Pfad\NocheinPfad\Q\Qeshi\2005 - Eudemonic Homunculus, The [WEB+A]"
    "\\Server\Pfad\NocheinPfad\Q\Quality Relaxation (2005) [CD+COM]"
    ...
    "\\Server\Pfad\NocheinPfad\H\Herr Merkt präsentiert Kennenlernrunde Vol. 4 (2008) [WEB+COM]"
    "\\Server\Pfad\NocheinPfad\H\Härter Bis Wolkig\1995 - Terroristen [LP]"
    ...

    Also bis hier "\\Server\Pfad\NocheinPfad\" ist es ja quasi statisch. Erst ab dann werden die Pfade variablel.

    Kann mir jemand sagen, ob das überhaupt mit REGEX abzufackeln ist?
    Also die Pfade einerseits alle einschliessen, aber NUR diejenigen in die AudioDB übernehmen, die auch [ und ] enthalten?

    Evtl. ist das ja technisch gesehen Quatsch, was ich will? :-]

    --
    ÜCKS-BE-EM-ZEH RUHLTZ!

    Einmal editiert, zuletzt von XBoyMC (8. Januar 2014 um 20:36)

  • Also mithilfe des Regex-Help Plugins für Notepad++ und dieser Seite konnte ich die oben erwähnten Regexe korrigieren und bekomme nun alles, was für einen INCLUDE nötig wäre...
    Ich habe einfach einen "Dirprint" im passenden Verzeichnis auf dem Server mit dem DOS Befehl "dir *.* /b /s >datei.txt" in eine Datei namens datei.txt gemacht und konnte dann schön und direkt sehen, was mein getippe so bewirkt. Praktisch!

    Diese Regex schliesst alles ein, was ich möchte,

    Code
    \\\\Server\\Pfad\\NocheinPfad\\Q\\.*\[.*\]


    aber ich schaffe es nicht, jetzt die Negation reinzubringen, so das XBMC das eben nicht aussschliesst, sondern einschliesst...

    Ich lese, dass man "character classes" verwenden könnte, um zu negieren, aber bei denen wird immer nur ein Zeichen ausgewertet, wenn ich das richtig verstehe.

    Ausserdem weiss ich auch garnicht, ob das mit der Negation dann letztendlich überhaupt funktioniert innerhalb XBMC, wie ich möchte.

    Ergo schliesse ich das Projekt hier nun ab und höre meine Musik weiterhin mit foobar2000 :)

    Vielen Dank f. Eure Inspirationen. Ich habe dazugelernt, doch meine Zeit geniesse ich lieber vor, als hinter den Kulissen :)


    EDIT:
    Und natürlich kam kurz nach dem Abschicken dieses Posts eine erleuchtende Idee!

    Dieser Regex:

    Zitat

    [^\]]$


    Findet alles, was KEIN ] am Ende hat, also alle Verzeichnisse, die kein ] enthalten.
    Das wäre für mich erstmal Ok (Auch, wenn das führende [ fehlt...), und XBMC schlösse (konjunktiv!) somit alles aus, was KEIN ] hat und somit alles ein, was ein ] hat...

    Aber leider scheitert es wieder daran, das XBMC schon hier aussetzt:

    Zitat von "XBMC-Log"

    21:22:39 T:5708 DEBUG: CUtil::ExcludeFileOrFolder: File 'smb://Server/Pfad/NocheinPfad/Q/' excluded. (Matches exclude rule RegExp:'[^\]]$')


    weil dieser "Hauptpfad" ja kein ] hat... Ich gestehe mir also die Aufgabe ein ;)

    Gute Nacht.

    --
    ÜCKS-BE-EM-ZEH RUHLTZ!

    Einmal editiert, zuletzt von XBoyMC (8. Januar 2014 um 21:31)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!