forked from Github/Axter-Stash
See version_history
- For report, added logic to transfer option settings **[Disable Complete Confirmation]** and **[Disable Delete Confirmation]** when paginating. - Fixed minor bug in advance_options.html for GQL params. - Added logic to have reports and advanced menu to work with Stash settings requiring a password by adding API-Key as param argument for advance menu, and adding API-Key as variable in reports. - When **[Advance Tag Menu]** is called from reports, it's given both the GQL URL and the apiKey on the URL param, which allows advance menu to work with non-standard URL's and with API-Key.
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -95,7 +95,7 @@ if len(sys.argv) > 1:
|
||||
else:
|
||||
stash.Debug(f"No command line arguments. JSON_INPUT['args'] = {stash.JSON_INPUT['args']}; PLUGIN_TASK_NAME = {stash.PLUGIN_TASK_NAME}; argv = {sys.argv}")
|
||||
stash.status(logLevel=logging.DEBUG)
|
||||
|
||||
|
||||
obsoleteSettingsToConvert = {"zWhitelist" : "zvWhitelist", "zxGraylist" : "zwGraylist", "zyBlacklist" : "zxBlacklist", "zyMatchDupDistance" : "matchDupDistance", "zSwapHighRes" : "zySwapHighRes", "zSwapLongLength" : "zySwapLongLength", "zSwapBetterBitRate" : "zySwapBetterBitRate", "zSwapCodec" : "zySwapCodec", "zSwapBetterFrameRate" : "zySwapBetterFrameRate"}
|
||||
stash.replaceObsoleteSettings(obsoleteSettingsToConvert, "zzObsoleteSettingsCheckVer2")
|
||||
|
||||
@@ -511,6 +511,8 @@ def getHtmlReportTableRow(qtyResults, tagDuplicates):
|
||||
htmlReportPrefix = stash.Setting('htmlReportPrefix')
|
||||
htmlReportPrefix = htmlReportPrefix.replace('http://127.0.0.1:9999/graphql', stash.url)
|
||||
htmlReportPrefix = htmlReportPrefix.replace('http://localhost:9999/graphql', stash.url)
|
||||
if 'apiKey' in stash.STASH_CONFIGURATION and stash.STASH_CONFIGURATION['apiKey'] != "":
|
||||
htmlReportPrefix = htmlReportPrefix.replace('var apiKey = "";', f"var apiKey = \"{stash.STASH_CONFIGURATION['apiKey']}\";")
|
||||
if tagDuplicates == False:
|
||||
htmlReportPrefix = htmlReportPrefix.replace('<td><button id="AdvanceMenu"', '<td hidden><button id="AdvanceMenu"')
|
||||
htmlReportPrefix = htmlReportPrefix.replace('(QtyPlaceHolder)', f'{qtyResults}')
|
||||
|
||||
@@ -69,6 +69,8 @@ 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 apiKey = "";
|
||||
var GraphQl_URL = "http://localhost:9999/graphql";
|
||||
var OrgPrevPage = null;
|
||||
var OrgNextPage = null;
|
||||
var OrgHomePage = null;
|
||||
@@ -101,7 +103,9 @@ function trim(str, ch) {
|
||||
}
|
||||
function RunPluginOperation(Mode, ActionID, button, asyncAjax){
|
||||
var chkBxRemoveValid = document.getElementById("RemoveValidatePrompt");
|
||||
$.ajax({method: "POST", url: "http://localhost:9999/graphql", contentType: "application/json", dataType: "text", cache: asyncAjax, async: asyncAjax,
|
||||
if (apiKey !== "")
|
||||
$.ajaxSetup({beforeSend: function(xhr) {xhr.setRequestHeader('apiKey', apiKey);}});
|
||||
$.ajax({method: "POST", url: GraphQl_URL, contentType: "application/json", dataType: "text", cache: asyncAjax, async: asyncAjax,
|
||||
data: JSON.stringify({
|
||||
query: `mutation RunPluginOperation($plugin_id:ID!,$args:Map!){runPluginOperation(plugin_id:$plugin_id,args:$args)}`,
|
||||
variables: {"plugin_id": "DupFileManager", "args": { "Target" : ActionID, "mode":Mode}},
|
||||
@@ -113,7 +117,10 @@ function RunPluginOperation(Mode, ActionID, button, asyncAjax){
|
||||
$('.FN_ID_' + myArray[0]).text(trim(myArray[1],"'"));
|
||||
}
|
||||
if (!chkBxRemoveValid.checked) alert("Action " + Mode + " for scene(s) ID# " + ActionID + " complete.");
|
||||
}});
|
||||
}, error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||||
console.log("Ajax failed with Status: " + textStatus + "; Error: " + errorThrown);
|
||||
}
|
||||
});
|
||||
}
|
||||
function selectMarker(Mode, ActionID, button){
|
||||
$('<p>Select desire marker type <select><option>yellow highlight</option><option>green highlight</option><option>orange highlight</option><option>cyan highlight</option><option>pink highlight</option><option>red highlight</option><option>strike-through</option><option>disable-scene</option><option>remove all flags</option></select></p>').confirm(function(answer){
|
||||
@@ -187,7 +194,7 @@ $(document).ready(function(){
|
||||
if (ActionID === "AdvanceMenu")
|
||||
{
|
||||
var newUrl = window.location.href;
|
||||
newUrl = newUrl.replace(/report\/DuplicateTagScenes[_0-9]*.html/g, "advance_options.html?GQL=http://localhost:9999/graphql");
|
||||
newUrl = newUrl.replace(/report\/DuplicateTagScenes[_0-9]*.html/g, "advance_options.html?GQL=" + GraphQl_URL + "&apiKey=" + apiKey);
|
||||
window.open(newUrl, "_blank");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -32,30 +32,34 @@ html.wait, html.wait * { cursor: wait !important; }
|
||||
</style>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
||||
<script>
|
||||
var GqlFromParam = false;
|
||||
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') !== ""){
|
||||
var apiKey = ""; // For Stash installations with a password setup, populate this variable with the apiKey found in Stash->Settings->Security->[API Key]; ----- Or pass in the apiKey at the URL command line. Example: advance_options.html?apiKey=12345G4igiJdgssdgiwqInh5cCI6IkprewJ9hgdsfhgfdhd&GQL=http://localhost:9999/graphql
|
||||
var GraphQl_URL = "http://localhost:9999/graphql";// For Stash installations with non-standard ports or URL's, populate this variable with actual URL; ----- Or pass in the URL at the command line using GQL param. Example: advance_options.html?GQL=http://localhost:9900/graphql
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
if (urlParams.get('apiKey') != null && urlParams.get('apiKey') !== "")
|
||||
apiKey = urlParams.get('apiKey');
|
||||
if (urlParams.get('GQL') != null && urlParams.get('GQL') !== "")
|
||||
GraphQl_URL = urlParams.get('GQL');
|
||||
GqlFromParam = true;
|
||||
}
|
||||
console.log(urlParams);
|
||||
console.log("GQL = " + GraphQl_URL);
|
||||
|
||||
function RunPluginDupFileManager(Mode, Param = 0, Async = false) {
|
||||
$('html').addClass('wait');
|
||||
$("body").css("cursor", "progress");
|
||||
console.log("GraphQl_URL = " + GraphQl_URL + "; Mode = " + Mode + "; Param = " + Param);
|
||||
if (apiKey !== "")
|
||||
$.ajaxSetup({beforeSend: function(xhr) {xhr.setRequestHeader('apiKey', apiKey);}});
|
||||
$.ajax({method: "POST", url: GraphQl_URL, contentType: "application/json", dataType: "text", cache: Async, async: Async,
|
||||
data: JSON.stringify({
|
||||
query: `mutation RunPluginOperation($plugin_id:ID!,$args:Map!){runPluginOperation(plugin_id:$plugin_id,args:$args)}`,
|
||||
variables: {"plugin_id": "DupFileManager", "args": { "Target" : Param, "mode":Mode}},
|
||||
}), success: function(result){
|
||||
console.log(result);
|
||||
console.log("Ajax success with result = " + result);
|
||||
$('html').removeClass('wait');
|
||||
$("body").css("cursor", "default");
|
||||
}});
|
||||
}, error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||||
console.log("Ajax failed with Status: " + textStatus + "; Error: " + errorThrown);
|
||||
}
|
||||
});
|
||||
console.log("Setting default cursor");
|
||||
}
|
||||
$(document).ready(function(){
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
- Fixed minor bug in advance_options.html for GQL params.
|
||||
- Added logic to have reports and advanced menu to work with Stash settings requiring a password by adding API-Key as param argument for advance menu, and adding API-Key as variable in reports.
|
||||
- When **[Advance Tag Menu]** is called from reports, it's given both the GQL URL and the apiKey on the URL param, which allows advance menu to work with non-standard URL's and with API-Key.
|
||||
|
||||
### 0.2.1
|
||||
|
||||
Reference in New Issue
Block a user