forked from Github/Axter-Stash
Transfer option settings **[Disable Complete Confirmation]** and **[Disable Delete Confirmation]** when paginating.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -838,16 +838,16 @@ def mangeDupFiles(merge=False, deleteDup=False, tagDuplicates=False, deleteBlack
|
||||
if QtyTagForDelPaginate >= htmlReportPaginate:
|
||||
QtyTagForDelPaginate = 0
|
||||
fileHtmlReport.write("</table>\n")
|
||||
homeHtmReportLink = f"<a class=\"link-items\" title=\"Home Page\" href=\"file://{htmlReportNameHomePage}\">[Home]</a>"
|
||||
homeHtmReportLink = f"<a id=\"HomePage\" class=\"link-items\" title=\"Home Page\" href=\"file://{htmlReportNameHomePage}\">[Home]</a>"
|
||||
prevHtmReportLink = ""
|
||||
if PaginateId > 0:
|
||||
if PaginateId > 1:
|
||||
prevHtmReport = htmlReportNameHomePage.replace(".html", f"_{PaginateId-1}.html")
|
||||
else:
|
||||
prevHtmReport = htmlReportNameHomePage
|
||||
prevHtmReportLink = f"<a class=\"link-items\" title=\"Previous Page\" href=\"file://{prevHtmReport}\">[Prev]</a>"
|
||||
prevHtmReportLink = f"<a id=\"PrevPage\" class=\"link-items\" title=\"Previous Page\" href=\"file://{prevHtmReport}\">[Prev]</a>"
|
||||
nextHtmReport = htmlReportNameHomePage.replace(".html", f"_{PaginateId+1}.html")
|
||||
nextHtmReportLink = f"<a class=\"link-items\" title=\"Next Page\" href=\"file://{nextHtmReport}\">[Next]</a>"
|
||||
nextHtmReportLink = f"<a id=\"NextPage\" class=\"link-items\" title=\"Next Page\" href=\"file://{nextHtmReport}\">[Next]</a>"
|
||||
fileHtmlReport.write(f"<center><table><tr><td>{homeHtmReportLink}</td><td>{prevHtmReportLink}</td><td>{nextHtmReportLink}</td></tr></table></center>")
|
||||
fileHtmlReport.write(f"{stash.Setting('htmlReportPostfix')}")
|
||||
fileHtmlReport.close()
|
||||
@@ -858,10 +858,10 @@ def mangeDupFiles(merge=False, deleteDup=False, tagDuplicates=False, deleteBlack
|
||||
prevHtmReport = htmlReportNameHomePage.replace(".html", f"_{PaginateId-1}.html")
|
||||
else:
|
||||
prevHtmReport = htmlReportNameHomePage
|
||||
prevHtmReportLink = f"<a class=\"link-items\" title=\"Previous Page\" href=\"file://{prevHtmReport}\">[Prev]</a>"
|
||||
prevHtmReportLink = f"<a id=\"PrevPage_Top\" class=\"link-items\" title=\"Previous Page\" href=\"file://{prevHtmReport}\">[Prev]</a>"
|
||||
if len(DupFileSets) > (QtyTagForDel + htmlReportPaginate):
|
||||
nextHtmReport = htmlReportNameHomePage.replace(".html", f"_{PaginateId+1}.html")
|
||||
nextHtmReportLink = f"<a class=\"link-items\" title=\"Next Page\" href=\"file://{nextHtmReport}\">[Next]</a>"
|
||||
nextHtmReportLink = f"<a id=\"NextPage_Top\" class=\"link-items\" title=\"Next Page\" href=\"file://{nextHtmReport}\">[Next]</a>"
|
||||
fileHtmlReport.write(f"<center><table><tr><td>{homeHtmReportLink}</td><td>{prevHtmReportLink}</td><td>{nextHtmReportLink}</td></tr></table></center>")
|
||||
else:
|
||||
stash.Debug(f"DupFileSets Qty = {len(DupFileSets)}; DupFileDetailList Qty = {len(DupFileDetailList)}; QtyTagForDel = {QtyTagForDel}; htmlReportPaginate = {htmlReportPaginate}; QtyTagForDel + htmlReportPaginate = {QtyTagForDel+htmlReportPaginate}")
|
||||
@@ -885,7 +885,7 @@ def mangeDupFiles(merge=False, deleteDup=False, tagDuplicates=False, deleteBlack
|
||||
if fileHtmlReport != None:
|
||||
fileHtmlReport.write("</table>\n")
|
||||
if PaginateId > 0:
|
||||
homeHtmReportLink = f"<a class=\"link-items\" title=\"Home Page\" href=\"file://{htmlReportNameHomePage}\">[Home]</a>"
|
||||
homeHtmReportLink = f"<a id=\"HomePage_Top\" class=\"link-items\" title=\"Home Page\" href=\"file://{htmlReportNameHomePage}\">[Home]</a>"
|
||||
if PaginateId > 1:
|
||||
prevHtmReport = htmlReportNameHomePage.replace(".html", f"_{PaginateId-1}.html")
|
||||
else:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: DupFileManager
|
||||
description: Manages duplicate files.
|
||||
version: 0.1.9
|
||||
version: 0.2.0
|
||||
url: https://github.com/David-Maisonave/Axter-Stash/tree/main/plugins/DupFileManager
|
||||
ui:
|
||||
javascript:
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
# Below fields are in the development stage, and should not be used.
|
||||
config_dev = {
|
||||
# If enabled, ignore reparsepoints. For Windows NT drives only.
|
||||
"ignoreReparsepoints" : True,
|
||||
# If enabled, ignore symbolic links.
|
||||
"ignoreSymbolicLinks" : True,
|
||||
|
||||
# If enabled, swap longer file name to preferred path.
|
||||
"swapLongFileName" : False,
|
||||
|
||||
# If enabled, when finding exact duplicate files, keep file with the shorter name. The default is to keep file name with the longer name.
|
||||
"keepShorterFileName" : False,
|
||||
# If enabled, when finding duplicate files, keep media with the shorter time length. The default is to keep media with longer time length.
|
||||
"keepShorterLength" : False,
|
||||
# If enabled, when finding duplicate files, keep media with the lower resolution. The default is to keep media with higher resolution.
|
||||
"keepLowerResolution" : False,
|
||||
# If enabled, keep duplicate media with high resolution over media with significant longer time.
|
||||
"keepHighResOverLen" : False, # Requires keepBothHighResAndLongerLen = False
|
||||
# If enabled, keep both duplicate files if the LOWER resolution file is significantly longer.
|
||||
"keepBothHighResAndLongerLen" : True,
|
||||
|
||||
# Keep empty to check all paths, or populate it with the only paths to check for duplicates
|
||||
"onlyCheck_paths": [], #Example: "onlyCheck_paths": ['C:\\SomeMediaPath\\subpath', "E:\\YetAnotherPath\\subpath', "E:\\YetAnotherPath\\secondSubPath']
|
||||
}
|
||||
@@ -69,6 +69,30 @@ li:hover .large {
|
||||
<script src="https://www.axter.com/js/jquery.prompt.js"></script>
|
||||
<link rel="stylesheet" href="https://www.axter.com/js/jquery.prompt.css"/>
|
||||
<script>
|
||||
var OrgPrevPage = null;
|
||||
var OrgNextPage = null;
|
||||
var OrgHomePage = null;
|
||||
var RemoveToKeepConfirmValue = null;
|
||||
var RemoveValidatePromptValue = null;
|
||||
function SetPaginateButton(){
|
||||
$("#NextPage").attr("href", OrgNextPage + "?" + RemoveToKeepConfirmValue + "&" + RemoveValidatePromptValue);
|
||||
$("#PrevPage").attr("href", OrgPrevPage + "?" + RemoveToKeepConfirmValue + "&" + RemoveValidatePromptValue);
|
||||
$("#HomePage").attr("href", OrgHomePage + "?" + RemoveToKeepConfirmValue + "&" + RemoveValidatePromptValue);
|
||||
$("#NextPage_Top").attr("href", OrgNextPage + "?" + RemoveToKeepConfirmValue + "&" + RemoveValidatePromptValue);
|
||||
$("#PrevPage_Top").attr("href", OrgPrevPage + "?" + RemoveToKeepConfirmValue + "&" + RemoveValidatePromptValue);
|
||||
$("#HomePage_Top").attr("href", OrgHomePage + "?" + RemoveToKeepConfirmValue + "&" + RemoveValidatePromptValue);
|
||||
}
|
||||
function SetPaginateButtonChange(){
|
||||
var chkBxRemoveValid = document.getElementById("RemoveValidatePrompt");
|
||||
var chkBxDisableDeleteConfirm = document.getElementById("RemoveToKeepConfirm");
|
||||
RemoveToKeepConfirmValue = "RemoveToKeepConfirm=false";
|
||||
RemoveValidatePromptValue = "RemoveValidatePrompt=false";
|
||||
if (chkBxRemoveValid.checked)
|
||||
RemoveToKeepConfirmValue = "RemoveToKeepConfirm=true";
|
||||
if (chkBxDisableDeleteConfirm.checked)
|
||||
RemoveValidatePromptValue = "RemoveValidatePrompt=true";
|
||||
SetPaginateButton();
|
||||
}
|
||||
function trim(str, ch) {
|
||||
var start = 0, end = str.length;
|
||||
while(start < end && str[start] === ch) ++start;
|
||||
@@ -131,6 +155,32 @@ function selectMarker(Mode, ActionID, button){
|
||||
});
|
||||
}
|
||||
$(document).ready(function(){
|
||||
OrgPrevPage = $("#PrevPage").attr('href');
|
||||
OrgNextPage = $("#NextPage").attr('href');
|
||||
OrgHomePage = $("#HomePage").attr('href');
|
||||
console.log("OrgNextPage = " + OrgNextPage);
|
||||
|
||||
const queryString = window.location.search;
|
||||
const urlParams = new URLSearchParams(queryString);
|
||||
console.log("urlParams = " + urlParams);
|
||||
RemoveToKeepConfirmValue = "RemoveToKeepConfirm=false";
|
||||
RemoveValidatePromptValue = "RemoveValidatePrompt=false";
|
||||
if (urlParams.get('RemoveToKeepConfirm') != null && urlParams.get('RemoveToKeepConfirm') !== ""){
|
||||
RemoveToKeepConfirmValue = "RemoveToKeepConfirm=" + urlParams.get('RemoveToKeepConfirm');
|
||||
if (urlParams.get('RemoveToKeepConfirm') === "true")
|
||||
$( "#RemoveToKeepConfirm" ).prop("checked", true);
|
||||
else
|
||||
$( "#RemoveToKeepConfirm" ).prop("checked", false);
|
||||
}
|
||||
if (urlParams.get('RemoveValidatePrompt') != null && urlParams.get('RemoveValidatePrompt') !== ""){
|
||||
RemoveValidatePromptValue = "RemoveValidatePrompt=" + urlParams.get('RemoveValidatePrompt');
|
||||
console.log("RemoveValidatePromptValue = " + RemoveValidatePromptValue);
|
||||
if (urlParams.get('RemoveValidatePrompt') === "true")
|
||||
$( "#RemoveValidatePrompt" ).prop("checked", true);
|
||||
else
|
||||
$( "#RemoveValidatePrompt" ).prop("checked", false);
|
||||
}
|
||||
SetPaginateButton();
|
||||
$("button").click(function(){
|
||||
var Mode = this.value;
|
||||
var ActionID = this.id;
|
||||
@@ -167,6 +217,13 @@ $(document).ready(function(){
|
||||
}
|
||||
RunPluginOperation(Mode, ActionID, this, true);
|
||||
});
|
||||
$("#RemoveValidatePrompt").change(function() {
|
||||
console.log("checkbox clicked");
|
||||
SetPaginateButtonChange();
|
||||
});
|
||||
$("#RemoveToKeepConfirm").change(function() {
|
||||
SetPaginateButtonChange();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# DupFileManager: Ver 0.1.9 (By David Maisonave)
|
||||
# DupFileManager: Ver 0.2.0 (By David Maisonave)
|
||||
|
||||
DupFileManager is a [Stash](https://github.com/stashapp/stash) plugin which manages duplicate files in the Stash system.
|
||||
It has both **task** and **tools-UI** components.
|
||||
@@ -105,7 +105,5 @@ That's it!!!
|
||||
- Add advanced menu directly to the Settings->Tools menu. Planned for 1.5.0 Version.
|
||||
- Add report directly to the Settings->Tools menu. Planned for 1.5.0 Version.
|
||||
- Remove all flags from all scenes option. Planned for 1.0.5 Version.
|
||||
- Transfer option settings **[Disable Complete Confirmation]** and **[Disable Delete Confirmation]** when paginating. Planned for 1.0.5 Version.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -37,9 +37,10 @@ const queryString = window.location.search;
|
||||
const urlParams = new URLSearchParams(queryString);
|
||||
console.log(urlParams);
|
||||
var GraphQl_URL = "http://localhost:9999/graphql";
|
||||
if (urlParams.get('GQL') != null && urlParams.get('GQL') === "")
|
||||
if (urlParams.get('GQL') != null && urlParams.get('GQL') !== ""){
|
||||
GraphQl_URL = urlParams.get('GQL');
|
||||
GqlFromParam = true;
|
||||
}
|
||||
console.log("GQL = " + GraphQl_URL);
|
||||
|
||||
function RunPluginDupFileManager(Mode, Param = 0, Async = false) {
|
||||
|
||||
Reference in New Issue
Block a user