JDownloader Community - Appwork GmbH
 

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 22.03.2015, 21:28
.bismarck's Avatar
.bismarck .bismarck is offline
Leerzeichenüberseher
 
Join Date: Jul 2010
Posts: 889
Default Event Scripter headless permission dialog

Hi,

Wie bekomme ich dauerhaft folgenden Dialog weg? Dieser poppt nach jedem definierten Event(Archive extraction finished) wieder auf, das Script ändert sich dabei nicht(md5 ist immer die selbe).




In der Gui Version kann man direkt im Dialog ein Häkchen setzen.

Nachtrag: In der Android App kann man das Häkchen setzen, allerdings hat das keine Auswirkung. Der Dialog erscheint immer wieder. Erst wenn man in der JD_HOME/cfg/Dialog.json den richtigen Konfigwert findet und am Ende aus der -1 eine 10 macht, poppt der Dialog nicht mehr auf. ;-)


.bismarck

Last edited by .bismarck; 22.03.2015 at 21:56.
Reply With Quote
  #2  
Old 23.03.2015, 10:50
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,286
Default

__________________
JD-Dev & Server-Admin
Reply With Quote
  #3  
Old 14.05.2015, 21:41
xNaTivEx
Guest
 
Posts: n/a
Default

Hallo erstmal :-)

erstmal Respekt für die Entwicklung. Ich habe mir mit JDownloader und Filebot eine Automatisierte Möglichkeit schaffen können, neue Inhalte direkt ins Kodi zu pflanzen. Der einzige Dialog der die Automatisierung unterbricht ist genau dieser hier ;-)

Seid ihr da noch dran? Warte sehnsüchtig darauf
Reply With Quote
  #4  
Old 15.05.2015, 09:40
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,286
Default

Ich hab mal die Priorität erhöht, wird schnellstens nachgeholt!
__________________
JD-Dev & Server-Admin
Reply With Quote
  #5  
Old 25.05.2015, 21:41
michiil
Guest
 
Posts: n/a
Default

Könntet ihr mir das filebot script zur verfügung stellen?
danke im voraus

Last edited by michiil; 25.05.2015 at 22:16.
Reply With Quote
  #6  
Old 26.05.2015, 10:08
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,286
Default

Schreib Bismarck an, keine Ahnung was das filebot script ist
__________________
JD-Dev & Server-Admin
Reply With Quote
  #7  
Old 26.05.2015, 16:30
michiil
Guest
 
Posts: n/a
Default

oke mach ich ich danke nur es wäre besser wenn es hier für alle zur verfügung gepostet wird (:
filebot ist ein programm um serien/file automatisch zu sortieren.
Reply With Quote
  #8  
Old 26.05.2015, 20:01
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,286
Default

Achso, kannte ich nicht. Natürlich wäre das besser, aber bis jetzt hat noch keiner uns ein Script geschickt
__________________
JD-Dev & Server-Admin
Reply With Quote
  #9  
Old 03.06.2015, 16:26
coalado's Avatar
coalado coalado is offline
JD Manager
 
Join Date: Feb 2009
Posts: 1,980
Default

Erledigt.
Über den EventScripter lassen sich jetzt außerdem eigene Buttons in fast alle Menüs legen.
Das ermöglichst wieder jede Menge coole Funktionen im Eventscripter
__________________
Reply With Quote
  #10  
Old 06.06.2015, 17:23
.bismarck's Avatar
.bismarck .bismarck is offline
Leerzeichenüberseher
 
Join Date: Jul 2010
Posts: 889
Default

Danke coalado funktioniert nun.

@michiil,
die Scripte werden Dir nicht viel nützen, da an mein System angepasst. Ich hänge die trotzdem mal an. :-)

Das eigentl. eventscript untersucht nur den Dateinamen und generiert ein paar Schalter für das filebot Script.
Da ich alles auf meinem NAS eingerichtet habe(headless JD, filebot, mkvtoolnix) musst Du das dann natürlich an Deine Umgebung anpassen. mkvtoolnix nutze ich zum automatierten setzen des stereoscopic Flags in Matroska Container. Die fehlen gerne mal, damit kodi(xbmc) auch gleich beim Erststart in den richtigen 3D-Modus schaltet.
Genug geredet hier die Scripte:

eventscripter Script
Spoiler:

Code:
/*
 Dieses Script wertet den Dateinamen aus und generiert
 Übergabeparameter für das eigentl. filebot Script.
 - ermittelt den besten Titel um die Trefferquote für filebot zu erhöhen
 - ermittelt ob Titel in 1080p oder 720p
 - ermittelt ob Titel in 3D HSBS, HOU oder FP(Fullframe)
 - erkennt den richtigen Content im Archiv
 Author: .bismarck
 
 JD_HOME/cfg/org.jdownloader.extensions.eventscripter.EventScripterExtension.scripts.json
*/
var filebotscript = "/volume1/scripts/filebot_jdl.sh";
var myArchive = archive;
var name = myArchive.getName();
var file, tmpTitle, fallbackTitle, hdReady = "false";

var fileSeparator = "\\";
if (myArchive.getFolder().indexOf("/") != -1) {
    fileSeparator = "/";
}
var path = myArchive.getFolder() + fileSeparator + myArchive.getName();

var files = myArchive.getExtractedFiles();
//alert("files.size=" + files.length + "\n" + "name=" + name + "\n" + "path" + path);
if (files) {
    for (var i = 0; i < files.length; i++) {
        file = files[i];
        tmpTitle = file.slice(file.lastIndexOf(fileSeparator) + 1).toString();
        if (tmpTitle.indexOf(".") == -1) {
            continue;
        }
        fallbackTitle = file.slice(0, file.lastIndexOf(fileSeparator)).toString();
        fallbackTitle = fallbackTitle.slice(fallbackTitle.lastIndexOf(fileSeparator) + 1);
        path = file;
        var s, finalTitle = "";
        var names = new Array(name, tmpTitle, fallbackTitle);
        for (s in names) {
            if (names[s].length > finalTitle.length) {
                finalTitle = names[s];
            }
        }
        if (tmpTitle != finalTitle) {
            var ext = tmpTitle.substring(tmpTitle.lastIndexOf("."));
            name = finalTitle + ext;
        } else {
            name = finalTitle;
        }
        path = path.replace(tmpTitle, name);
        if (name.match(".mkv$") == ".mkv") {
            if ((name.indexOf("sample") || name.indexOf("Sample")) == -1) {
                break;
            }
        } else if (name.match(".iso$") == ".iso") {
            break;
        }
        name = myArchive.getName();
    }
}
var type = "3D";
var stereoMode = "none";
var replacer = new RegExp("-", "g");
name = name.toUpperCase();
//alert("DEBUG:title is --> " + name);
var splitName = name.split(".");
for (s in splitName) {
    var i = splitName[s];
    //alert("DEBUG:i is --> " + i);
    if (i == "3D") {
        if (name.match(".ISO$") == ".ISO") {
            stereoMode = "3DFP";
        } else {
            stereoMode = "none";
            continue;
        }
    }
    i = i.replace("3D", "");
    i = i.replace(replacer, "").trim();
    if (i == "HSBS" || i == "HALFSBS" || i == "SBS") {
        stereoMode = "SBS";
    } else if (i == "HOU" || i == "HALFOU") {
        stereoMode = "OU";
    } else if (i == "720P") {
        hdReady = "true";
    }
}
if (stereoMode == "none") {
    type = "2D";
}
path = path.replace(" ", "\\ ");
file = file.replace(" ", "\\ ");
callAsync(function(exitCode, stdOut, errOut) {}, filebotscript, type, stereoMode, path, hdReady, file);


filbot Script
Spoiler:

Code:
#!/bin/sh
TARGET_PATH="/volume1/Mediathek/Videos/"
SOURCE_PATH="/volume1/downloads/extracted/"
LOGFILE_PATH="/volume1/scripts/"
MOVIE_PATH="HD/3D"
KODI_IP=10.0.0.1
stereoMode=$2


log() {
  echo $1 >> $LOGFILE_PATH"filebot_jdl.log"
}

getStereoscopicMode(){
  sMode=`mkvinfo "$1" | grep -i Stereo\ mode | awk '{printf $5}'`
  if [ -z "$sMode" ]; then return 1; fi
  log "Stereoscopic Mode -> $sMode bereits gesetzt"
  return 0
}

setStereoscopicMode() {
  ret=`mkvpropedit "$1" --edit track:v1 --set stereo-mode=$2`
  if [ $? -eq 0 ]; then
    log "Stereoscopic Mode -> $2 erfolgreich gesetzt"
  else
    log "$ret"
  fi
}

log $(date +%T)

if [ "$5" != "$3" -a "$5" != "" ]; then
  log "Rename filename for better filebot matching!"
  mv "$5" "$3"
  if [ $? -eq 0 ]; then
    log "Successfully renaming the file..."
  else
    log "Error: Failed to rename!"
    log "Source: $5"
    log "Target: $3"
  fi
fi

log "Dateiname: $3"
log "Parameter: $1 $2"

if [ "$1" = "3D"  -a "$stereoMode" != "3DFP" ]; then
  getStereoscopicMode $3
  if [ $? -eq 0 ]; then
    case "$2" in
      OU)
        if [ "$sMode" = "1" ]; then
          log "HOU im Dateinamen und SBS ist gesetzt"
          setStereoscopicMode $3 3
        fi
        ;;
      SBS)
        if [ "$sMode" = "3" ]; then
          log "SBS im Dateinamen und HOU ist gesetzt"
          setStereoscopicMode $3 1
        fi
        ;;
      unknown)
        log "stereo mode -> $sMode gesetzt, aber aus Dateinamen nicht ersichtlich"
        stereoMode="none"
        ;;
        *)
    esac
  else
    case "$2" in
      OU)
          setStereoscopicMode $3 3
        ;;
      SBS)
          setStereoscopicMode $3 1
        ;;
      unknown)
        log "stereo mode nicht gesetzt und aus Dateinamen nicht ersichtlich. Überspringe filebot Aufruf!"
        ;;
        *)
    esac
  fi
elif [ "$1" = "2D" ]; then
  MOVIE_PATH="HD/1080p"
  if [ "$4" = "true" ]; then
    MOVIE_PATH="HD/720p"
  fi
elif [ "$stereoMode" = "3DFP" ]; then
  MOVIE_PATH="HD/3D\ MVC\ Fullframe"
else
  log "Error: Input was $1"
  exit 1
fi

if [ "$stereoMode" != "unknown" ]; then
  if [ ! -f "/usr/syno/bin/filebot" ]; then
    ln -s /volume1/@appstore/filebot/filebot.sh /usr/syno/bin/filebot
  fi
  /usr/syno/bin/filebot -script fn:amc --output "$TARGET_PATH" --log-file amc.log --action move -non-strict "$SOURCE_PATH" --def excludelist=amc.txt clean=y movieFormat="${MOVIE_PATH}"'/{n} ({y})' seriesFormat='Serien/{n}/Staffel {s}/{n} - {sxe} - {t}' xbmc=${KODI_IP} --lang de
fi

log "=============="

exit 0


Im idealen Fall befüllst Du via Tablet den JD.
Wenn JD seine Arbeit getan hat erscheint im kodi ein Infofenster.
Der Content wurde jetzt erfolgreich:
- umbenannt
- evtl. 3D Flag gesetzt
- an die richtige Stelle kopiert
und zuguterletzt wurde die kodi Bibliothek aktualisiert mit all seinen Vorzügen. :-)

Nachtrag: Ich nutze OpenELEC(kodi) auf einem RaspberryPi direkt per HDMI an den TV angeschlossen.


.bismarck

Last edited by .bismarck; 06.06.2015 at 17:36.
Reply With Quote
  #11  
Old 06.06.2015, 18:13
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,286
Default

Evtl mal den Filebot Entwickler anschreiben ob er nicht direkt eine Extension bauen will, dann kann man sich das mit dem Eventscripten sparen. Filebot selbst ist ja auch in java geschrieben
__________________
JD-Dev & Server-Admin
Reply With Quote
  #12  
Old 09.06.2015, 19:23
michiil
Guest
 
Posts: n/a
Default

@.bismarck

Danke (:
So was ähnliches hab ich mir inzwischen auch gebaut , nur weit nicht so komplex. Der teil mit dem 3d gefällt mir ich denke das werde ich übernehmen (:
Ein vorschlag: anstatt die dateien umzubenennen kannst du doch die -q flag von filebot benutzen, oder?
Eine frage: ich habe ein sehr ähnliches system wie du (jdownloader mit filebot auf einem nas und openelec auf einem raspberry) nur der raspberry ist ja nicht immer ein. Das datenbank aktualisieren funktioniert wenn kodi läuft oder?

Last edited by .bismarck; 09.06.2015 at 21:08. Reason: Fullquote entfernt
Reply With Quote
  #13  
Old 09.06.2015, 21:07
.bismarck's Avatar
.bismarck .bismarck is offline
Leerzeichenüberseher
 
Join Date: Jul 2010
Posts: 889
Default

Hi!

Quote:
Originally Posted by michiil
nur der raspberry ist ja nicht immer ein. Das datenbank aktualisieren funktioniert wenn kodi läuft oder?
Bei 10W Stromverbrauch lass ich den RPi immer laufen. ;-)
Das Aktualisieren der Datenbank funktioniert natürlich nur wenn kodi erreichbar ist.

Quote:
Originally Posted by michiil
Ein vorschlag:
Kannst Du gerne bei Dir so einbauen. Ich lass das so wie es ist, denn es funktioniert. :-)

mkvtoolnix musste ich mir selber bauen, ich weiss nicht ob es da was Fertiges für Dein NAS gibt. Evtl. läuft ja mein Paket auch auf Deinem NAS. Was hast Du denn für ein NAS?

Code:
cat /proc/cpuinfo

.bismarck
Reply With Quote
  #14  
Old 22.08.2015, 10:47
neutr0n
Guest
 
Posts: n/a
Default

Darf ich mal fragen wie ich diese Scripte einbaue ? Also das Shell Script ist mir ja klar, wobei ich den ganzen Kram mit 3D usw nicht brauche, aber ich scheitere an dem eventscripter. Wenn ich das von dir so in die angegebene Config Datei von JDownloader einbaue, passiert gar nichts, er erkennt nicht mal das es ein event scripter script gibt...
Reply With Quote
  #15  
Old 22.08.2015, 12:24
karlheinz2013
Guest
 
Posts: n/a
Default

Hier bei hier musste ich erst den EventScripter quasi "dazu-installieren", bevor ich ihn benutzen konnte. Also unter Einstellungen > linke Spalte ganz runter scrollen > Noch nicht installiert > Ereignis-Skripter. Dann konnte ich dort dann direkt meine Skripte in einem kleinen Editor basteln. Bei mir ist das allerdings auch schon eine sehr alte JD-Installation. Kann natürlich sein, dass der EventScripter inzwischen schon vorinstalliert wird.
Reply With Quote
  #16  
Old 22.08.2015, 14:25
neutr0n
Guest
 
Posts: n/a
Default

Der Eventscripter ist schon installiert und auch aktiv, ich frage mich nur wo ich dieses riesen Script hin packe, nicht das shell script, das andere...
Reply With Quote
  #17  
Old 23.08.2015, 19:50
.bismarck's Avatar
.bismarck .bismarck is offline
Leerzeichenüberseher
 
Join Date: Jul 2010
Posts: 889
Default

@neutr0n,
Starte JDownloader auf Deinem PC, erstelle ein eventscript(aktivieren, Trigger auswählen). Dann auf Bearbeiten und kopiere o.g. Inhalt dort rein. Dann an Deine Umgebung anpassen(Pfade usw.) -> speichern. Jetzt kopierst Du die:
Code:
JD_HOME/cfg/org.jdownloader.extensions.eventscripter.EventScripterExtension.scripts.json
auf Dein NAS in den entsprechenden cfg Ordner vom JD. JD danach einmal neustarten.

Naja so riesig ist das Script nun auch nicht ;-)


.bismarck
Reply With Quote
  #18  
Old 10.02.2016, 16:38
michldi
Guest
 
Posts: n/a
Default

hallo community,
ich habe ein problem mit filebot & JD hier gepostet und möchte einen doppel-thread vermeiden. kann jemand von euch sich das bitte mal anschauen und mir weiterhelfen?
einige von euch haben das ganze anscheinend erfolgreich zum laufen gebracht:

https://board.jdownloader.org/showth...t=64748&page=3
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 18:06.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.