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);