feat: 增加 "种子下载完成后执行脚本" 参数配置

add "script-torrent-done-enabled" Configuration item
This commit is contained in:
ronggang 2019-01-16 10:16:38 +08:00
parent 887eb2ed10
commit d38de2fa6b
5 changed files with 18 additions and 5 deletions

View File

@ -222,7 +222,8 @@
},
"import-config": "Import configuration from file",
"export-config": "Export current configuration",
"import-config-confirm": "Do you want to import these configurations? This overrides the current configuration."
"import-config-confirm": "Do you want to import these configurations? This overrides the current configuration.",
"script-torrent-done-enabled": "Execute the following script when the torrent download is complete:"
},
"public": {
"button-ok": "OK",

View File

@ -221,7 +221,8 @@
},
"import-config": "从备份文件中导入配置",
"export-config": "导出当前配置到配置文件内容包括Transmission 参数、WebUI 配置)",
"import-config-confirm": "是否确认导入这些配置信息?这将覆盖当前配置。"
"import-config-confirm": "是否确认导入这些配置信息?这将覆盖当前配置。",
"script-torrent-done-enabled": "种子下载完成后执行以下脚本:"
},
"public": {
"button-ok": "确定",

View File

@ -48,7 +48,7 @@ this.lang.toolbar.tip.recheck).click(function(){var a=system.control.torrentlist
$(this))});this.panel.toolbar.find("#toolbar_remove").linkbutton({disabled:true}).attr("title",this.lang.toolbar.tip.remove).click(function(){var a=system.control.torrentlist.datagrid("getChecked"),b=[],c;for(c in a)b.push(a[c].id);b.length!=0&&system.openDialogFromTemplate({id:"dialog-torrent-remove-confirm",options:{title:system.lang.dialog["torrent-remove"].title,width:350,height:150},datas:{ids:b}})});this.panel.toolbar.find("#toolbar_rename").linkbutton({disabled:true}).click(function(){var a=
system.control.torrentlist.datagrid("getChecked");a.length!=0&&system.openDialogFromTemplate({id:"dialog-torrent-rename",options:{title:system.lang.dialog["torrent-rename"].title,width:520,height:200,resizable:true},datas:{id:a[0].id}})});this.panel.toolbar.find("#toolbar_changeDownloadDir").linkbutton({disabled:true}).attr("title",this.lang.toolbar.tip["change-download-dir"]).click(function(){var a=system.control.torrentlist.datagrid("getChecked"),b=[],c;for(c in a)b.push(a[c].id);b.length!=0&&system.openDialogFromTemplate({id:"dialog-torrent-changeDownloadDir",
options:{title:system.lang.dialog["torrent-changeDownloadDir"].title,width:520,height:200},datas:{ids:b}})});this.panel.toolbar.find("#toolbar_alt_speed").linkbutton().attr("title",this.lang.toolbar.tip["alt-speed"]).click(function(){var a=$(this),b=false;if(a.linkbutton("options").iconCls=="iconfont tr-icon-rocket")b=true;transmission.exec({method:"session-set",arguments:{"alt-speed-enabled":b}},function(c){if(c.result=="success"){system.serverConfig["alt-speed-enabled"]=b;a.linkbutton({iconCls:"iconfont tr-icon-"+
(b?"woniu":"rocket")});b?$("#status_alt_speed").show():$("#status_alt_speed").hide()}});a.linkbutton({iconCls:"icon-loading"})});this.panel.toolbar.find("#toolbar_config").linkbutton().attr("title",this.lang.toolbar.tip["system-config"]).click(function(){system.openDialogFromTemplate({id:"dialog-system-config",options:{title:system.lang.toolbar["system-config"],width:680,height:450,resizable:true}})});this.panel.toolbar.find("#toolbar_reload").linkbutton().attr("title",this.lang.toolbar.tip["system-reload"]).click(function(){system.reloadData()});
(b?"woniu":"rocket")});b?$("#status_alt_speed").show():$("#status_alt_speed").hide()}});a.linkbutton({iconCls:"icon-loading"})});this.panel.toolbar.find("#toolbar_config").linkbutton().attr("title",this.lang.toolbar.tip["system-config"]).click(function(){system.openDialogFromTemplate({id:"dialog-system-config",options:{title:system.lang.toolbar["system-config"],width:680,height:500,resizable:true}})});this.panel.toolbar.find("#toolbar_reload").linkbutton().attr("title",this.lang.toolbar.tip["system-reload"]).click(function(){system.reloadData()});
this.panel.toolbar.find("#toolbar_search").searchbox({searcher:function(a){system.searchTorrents(a)},prompt:this.lang.toolbar["search-prompt"]});this.panel.toolbar.find("#toolbar_copyPath").linkbutton().attr("title",this.lang.toolbar.tip["copy-path-to-clipboard"])},initStatusBar:function(){this.panel.statusbar.find("#status_title_downloadspeed").html(this.lang.statusbar.downloadspeed);this.panel.statusbar.find("#status_title_uploadspeed").html(this.lang.statusbar.uploadspeed)},connect:function(){this.showStatus(this.lang.system.status.connect,
0);transmission.on.torrentCountChange=function(){system.reloadTorrentBaseInfos()};transmission.on.postError=function(){};transmission.init({islocal:true},function(){system.reloadSession(true);system.getServerStatus()})},reloadSession:function(a){transmission.getSession(function(b){system.serverConfig=b;$("#status_version").html("Transmission "+system.lang.statusbar.version+b.version+", RPC: "+b["rpc-version"]+", WEB Control: "+system.version+"("+system.codeupdate+")");if(b["alt-speed-enabled"]==true){system.panel.toolbar.find("#toolbar_alt_speed").linkbutton({iconCls:"iconfont tr-icon-woniu"});
$("#status_alt_speed").show()}else{system.panel.toolbar.find("#toolbar_alt_speed").linkbutton({iconCls:"iconfont tr-icon-rocket"});$("#status_alt_speed").hide()}system.downloadDir=b["download-dir"];transmission.downloadDirs.length==0&&transmission.downloadDirs.push(system.downloadDir);parseInt(system.serverConfig["rpc-version"])>=15?transmission.getFreeSpace(system.downloadDir,function(c){system.serverConfig["download-dir-free-space"]=c.arguments["size-bytes"];system.showFreeSpace(c.arguments["size-bytes"])}):

View File

@ -1486,7 +1486,7 @@ var system = {
options: {
title: system.lang.toolbar["system-config"],
width: 680,
height: 450,
height: 500,
resizable: true
}
});

View File

@ -34,6 +34,15 @@
<tr>
<td colspan="2"><hr/></td>
</tr>
<tr>
<td colspan="2"><input id="script-torrent-done-enabled" type="checkbox" style="width:16px;"/><label for="script-torrent-done-enabled" system-lang="dialog['system-config']['script-torrent-done-enabled']"></label></td>
</tr>
<tr>
<td colspan="2"><input id="script-torrent-done-filename" value="" type="text" enabledof="script-torrent-done-enabled" style="width:100%;"/></td>
</tr>
<tr>
<td colspan="2"><hr/></td>
</tr>
<tr>
<td colspan="2">
<span id="system-config-config-dir"></span>
@ -435,7 +444,7 @@
var title = ("incomplete-dir-enabled,rename-partial-files,start-added-torrents,download-queue-enabled,seed-queue-enabled" +
",peer-port-random-on-start,speed-limit-down-enabled,speed-limit-up-enabled,alt-speed-enabled,idle-seeding-limit-enabled" +
",port-forwarding-enabled,utp-enabled,dht-enabled,lpd-enabled,pex-enabled,blocklist-enabled,seedRatioLimited,queue-stalled-enabled" +
",alt-speed-time-enabled"
",alt-speed-time-enabled,script-torrent-done-enabled"
).split(",");
$.each(title, function (i, item) {
thisDialog.find("#" + item).prop("checked", system.serverConfig[item])
@ -498,6 +507,8 @@
thisDialog.find("#queue-stalled-minutes").val(system.serverConfig["queue-stalled-minutes"]).prop("disabled", !system.serverConfig["queue-stalled-enabled"]);
thisDialog.find("#idle-seeding-limit").val(system.serverConfig["idle-seeding-limit"]).prop("disabled", !system.serverConfig["idle-seeding-limit-enabled"]);
thisDialog.find("#script-torrent-done-filename").val(system.serverConfig["script-torrent-done-filename"]).prop("disabled", !system.serverConfig["script-torrent-done-enabled"]);
var etype = system.lang.dialog["system-config"]["encryption-type"];
for (var key in etype) {
$("<option/>").val(key).attr("selected", (key == system.serverConfig["encryption"] ? true : false)).text(etype[key]).appendTo(thisDialog.find("#encryption"));