#1
|
||||
|
||||
![]()
This scripts sorts files in packages descending when added to the linkgrabber.
Required trigger: A new link has been added Special handling for TV shows: sorts part files descending but episode numbers ascending Useful if you have external tools (ie. not jdownloader) move or extract files or if you want to partially extract episodes before the whole package is finished. Then you can just look for "part[0]1.rar" files. Or if you just like it more that way. Code:
// Package sorter (FBD) // Sorts links descending in the linkgrabber // Special handling for TV Shows (parts descending, episodes ascending) // Trigger : A new link has been added // disablePermissionChecks(); // uncomment if you know what you're doing var levelRegex = /[^a-zA-Z0-9](S[0-9]{2}E[0-9]{2})/i; var myCrawledPackages = []; // myCrawledPackages = getAllCrawledPackages(); myCrawledPackages.push(crawledLink.getPackage()); myCrawledPackages.forEach(function(thisPackage) { var myCrawledLinks = thisPackage.getDownloadLinks(); var fileHash = []; myCrawledLinks.forEach(function(thisLink) { var level = ""; const matches = thisLink.getDownloadPath().match(levelRegex); if (matches) level = matches[1]; if (!fileHash[level]) fileHash[level] = {}; fileHash[level][thisLink.getDownloadPath()] = thisLink.getUUID(); }); // want episodes sorted descending too? remove the ".reverse()" here var sortedLevels = Object.keys(fileHash).sort().reverse(); sortedLevels.forEach(function(thisLevel) { var sortedLinks = Object.keys(fileHash[thisLevel]).sort(); sortedLinks.forEach(function(thisPath) { callAPI("linkgrabberv2", "moveLinks", [fileHash[thisLevel][thisPath]], -1, thisPackage.getUUID()); }); }); });
__________________
irc.libera.chat #jDownloader web.libera.chat/#jDownloader |
![]() |
Thread Tools | |
Display Modes | |
|
|