#1
|
|||
|
|||
Skript oder sonst eine automatisierte Möglichkeit: Links nicht 1 weiteres Mal laden?
Gibt es ein Skript oder sonst eine automatisierte Möglichkeit, zu vermeiden, dass Links, deren Dateien JD schon irgendwann einmal (in den letzten Jahren) runtergeladen hat, nicht noch einmal ruterlädt?
|
#2
|
||||
|
||||
Ticket:
Wie du siehst ist das Ticket bereits 10 Jahre alt und eine (zeitnahe) Umsetzung daher extrem unwahrscheinlich. Zudem wird dein Vorhaben zusätzlich schwierig, denn: - Anhand welcher Merkmale willst du erkennen, was du bereits heruntergeladen hast? Nur über die Links abzugleichen wäre natürlich am einfachsten - Sollen auch offline Links berücksichtigt werden? - Abgleich über Hashes der Dateien? - Die heruntergeladenen Daten sind meist nicht mehr vorhanden (entpackte- und gelöschte Archive) - Über die Dateinamenabgleichen? Aber neue Dateien könnten theoretisch gleich heißen aber einen anderen Inhalt haben Du siehst das wird nicht einfach und ist nicht mal eben schnell erledige bzw. überhaupt möglich. Um aktuell überhaupt anfangen zu können, geladene Links, Dateinamen usw. zu speichern müsstest du entweder über die myjd API gehen oder dir ein EventScripter Script schreiben. Selbst wenn das verlinkte Ticket erledigt wäre, würde das nicht ausreichen um dein Ziel zuverlässig zu erreichen Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#3
|
|||||
|
|||||
Ups, so alt schon.
Irgendwo hier gab es die gleiche Frage auch, glaube, jemand wollte vielleicht ein Skript machen, kann ich aber nicht mehr finden. Quote:
Quote:
Quote:
Quote:
Quote:
|
#4
|
|||||
|
|||||
Quote:
Notfalls den EventScripter Thread durchforsten und/oder den User mgpai fragen er hat schon viele Scripte geschrieben und daher die beste Übersicht: https://board.jdownloader.org/member.php?u=73437 Quote:
Quote:
Quote:
Quote:
... über die Zeit haben zwar einige User soetwas angefragt, aber ich kann mir nicht vorstellen, dass es jemans umgesetzt werden wird also mach' dir besser keine falschen Hoffnungen oder setze es einfach selbst um. Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#5
|
|||
|
|||
Danke für den Link.
Quote:
Tja, dann sollte man also wohl besser ausfpassen beim Runterladen um Duplikate zu vermeiden. Werde trotzdem mal mgpai fragen. Als letzten Versuch. |
#6
|
||||
|
||||
Gerne.
Quote:
Quote:
Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#7
|
|||
|
|||
Quote:
Quote:
|
#8
|
||||
|
||||
Braucht er nicht aktiv es sind Backups.
Ja.
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#9
|
|||
|
|||
Quote:
|
#10
|
||||
|
||||
Quote:
Brauchst du falls deine Downliadliste/Linkgrabber Liste aus irgendeinem Grund kaputtgeht. Weil JD viele Einstellungsmöglichkeiten hat. EDIT Siehe: https://board.jdownloader.org/showpo...2&postcount=17 Quote:
Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download Last edited by pspzockerscene; 05.02.2020 at 16:37. Reason: Verlinkung ergänzt |
#11
|
|||
|
|||
Hmmm, tja, sehr verwirrend. Aber auf jeden Fall nicht nutzbar für so ein Skript also oder zur Nutzung der (alten) Links.
OK, vielen Dank! |
#12
|
|||
|
|||
Die Backups liegen aber doch nicht in cfg/archives. Dort finde ich nur ein paar JSON-Dateien.
|
#13
|
|||
|
|||
Ja, stimmt, die Backup-Dateien sind im Ordner cfg. Im Ordner archives sind hier fast 28.000 json-Dateien.
|
#14
|
|||
|
|||
downloadListXXX.zip.backup dürften zudem kaputte Listen sein.
|
#15
|
|||
|
|||
Wie kommt denn das?
|
#18
|
|||
|
|||
Quote:
Default location of history file: "<JDownloader folder>\cfg\history.txt" Move selected download links to history file: Code:
// Add finished download links from selection to history, and remove them from the list // Tirgger required: Downloadlist Contextmenu Button Pressed // Customize downloadlist context menu > Add new "Eventscripter Trigger" button > Rename it to "Move to history" (without quotes) > Change Icon (optional) if (name == "Move to history") { var historyFile = getPath(JD_HOME + "/cfg/history.txt"); if (!historyFile.exists()) writeFile(historyFile, "", true); var history = readFile(historyFile); var linkUrls = []; var linkIds = []; var removeLinks = function(linkIds) { callAPI("downloadsV2", "removeLinks", linkIds, []); } dlSelection.getLinks().forEach(function(link) { if (link.isFinished()) { var url = link.getContentURL() || link.getPluginURL(); var id = link.getUUID(); if (history.indexOf(url) == -1) linkUrls.push(url); linkIds.push(id); } }) if (linkUrls.length) { data = "Added from the downloadlist list on " + Date().toString().substring(4, 24) + "\r\n"; data += linkUrls.join("\r\n") + "\r\n\r\n"; writeFile(historyFile, data, true); } if (linkIds.length) removeLinks(linkIds); } Move selected linkgrabber lnks to history file: Code:
// Add selected linkgrabber links to history, and remove them from the list // Tirgger required: Linkgrabber Contextmenu Button Pressed // Customize linkgrabber context menu > Add new "Eventscripter Trigger" button > Rename it to "Move to history" (without quotes) > Change Icon (optional) if (name == "Move to history") { var historyFile = getPath(JD_HOME + "/cfg/history.txt"); if (!historyFile.exists()) writeFile(historyFile, "", true); var history = readFile(historyFile); var linkUrls = []; var linkIds = []; var removeLinks = function(linkIds) { callAPI("linkgrabberv2", "removeLinks", linkIds, []); } lgSelection.getLinks().forEach(function(link) { var url = link.getUrl(); var id = link.getUUID(); if (history.indexOf(url) == -1) linkUrls.push(url); linkIds.push(id); }) if (linkUrls.length) { data = "Added from the lingkrabber list on " + Date().toString().substring(4, 24) + "\r\n"; data += linkUrls.join("\r\n") + "\r\n\r\n"; writeFile(historyFile, data, true); } if (linkIds.length) removeLinks(linkIds); } Detect/mark duplicate files when they are added to the linkgrabber tab: Code:
// If download link is present in history file, mark it as duplicae (add "#duplicatelink" to comment) // Trigger required: Packagizer Hook if (state == "AFTER") { var url = link.getURL(); var historyFile = getPath(JD_HOME + "/cfg/history.txt"); var history = historyFile.exists() ? readFile(historyFile) : ""; if (history.indexOf(url) > -1) { var text = "#duplicatelink"; var comment = link.getComment(); comment = comment ? text + " " + comment : text; link.setComment(comment); } } Skip duplicate links on download start: Code:
// Skip link if it present in download history (has "#duplicatelink" in comment) // To download the file (prevent skipping), remove "#duplicatelink" from comment // Trigger required: A Download Started var comment = link.getComment() || ""; if (comment.indexOf("#duplicatelink") > -1) { var url = link.getContentURL() || link.getPluginURL(); link.setSkipped(true); alert("Download Skipped: \"" + url + "\" is present in history file."); } |
#19
|
|||
|
|||
Quote:
|
#20
|
|||
|
|||
Extremely fast done, thank you very much!
So one somehow has to add each single script to a new item in the event scripter, I assume. And to give the items a name and do anything else? |
Thread Tools | |
Display Modes | |
|
|