View Single Post
  #8  
Old 05.07.2016, 15:13
ds1508's Avatar
ds1508 ds1508 is offline
DSL User
 
Join Date: Jul 2016
Location: Germany, NRW
Posts: 38
Thumbs up

Here's my fist try with it. This will remove only those packages that have finished downloading AND extracting.

Code:
////////////////////////////////////////////////////////////////////////////////
// CleanupDownloads
////////////////////////////////////////////////////////////////////////////////

require("C:\\Users\\Admin\\Documents\\Visual Studio 2015\\Projects\\JDownloader-EventScripter\\!My_JS-Functions.js");

////////////////////////////////////////////////////////////////////////////////

var showAlertInfo = true;

var dt = new Date();
var datumZeit = dt.toUTCString();
var t = "";
var pKeep = pRemoved = pError = 0;

if (this.name == "[CleanupDownloads]") {
	var myPackages = callAPI("downloadsV2", "queryPackages", { "name": true });
	if (myPackages.length > 0) {
		for (var i = 0; i < myPackages.length; i++) {
			var myFilePackage = getDownloadPackageByUUID(myPackages[i].uuid);
			var myDownloadLinks = myFilePackage.getDownloadLinks();
			var isExtracted = true;
			for (var o = 0; o < myDownloadLinks.length; o++) {
				if (myDownloadLinks[o].getArchive() != null && myDownloadLinks[o].getExtractionStatus() != "SUCCESSFUL") {
					isExtracted = false;
					break;
				}
			}
			t += (i + 1) + "="" + myPackages[i].name + "" (" + myFilePackage.isFinished() + "/" + isExtracted + ")";
			if (myFilePackage.isFinished() && isExtracted) {
				t += " DONE->";
				if (myFilePackage.remove()) {
					pRemoved++;
					t += "Removed\r\n";
				} else {
					pError++;
					t += "RemoveError\r\n";
				}
			} else {
				t += " Keep\r\n";
				pKeep++;
			}
		}
		t += "\r\nRemoved: " + pRemoved + "     RemoveErrors: " + pError + "     Kept: " + pKeep;
		if (showAlertInfo) alert("Cleanup Downloads   (isDownloaded/isExtracted)\r\n" + datumZeit + "\r\n\r\n" + t);
	} else {
		if (showAlertInfo) alert("Cleanup Downloads\r\n" + datumZeit + "\r\n\r\nNo Packages in Downloadlist!");
	}
}
Reply With Quote