66 lines
2.1 KiB
JavaScript
66 lines
2.1 KiB
JavaScript
angular
|
|
.module("webui.services.rpc.helpers", [
|
|
"webui.services.deps",
|
|
"webui.services.rpc",
|
|
"webui.services.alerts"
|
|
])
|
|
.factory("$rpchelpers", [
|
|
"$_",
|
|
"$rpc",
|
|
"$alerts",
|
|
function(_, rpc, alerts) {
|
|
var miscellaneous = { version: "", enabledFeatures: [] };
|
|
rpc.once("getVersion", [], function(data) {
|
|
miscellaneous = data[0];
|
|
});
|
|
return {
|
|
isFeatureEnabled: function(feature) {
|
|
return miscellaneous.enabledFeatures.indexOf(feature) != -1;
|
|
},
|
|
getAria2Version: function() {
|
|
return miscellaneous.version;
|
|
},
|
|
addUris: function(uris, settings, cb) {
|
|
_.each(uris, function(uri) {
|
|
var uri_parsed = [];
|
|
// parse options passed in the URIs. E.g. http://ex1.com/f1.jpg --out=image.jpg --check-integrity
|
|
var uriSettings = _.cloneDeep(settings);
|
|
_.each(uri, function(uri_element) {
|
|
if (uri_element.startsWith("--")) {
|
|
uri_options = uri_element.split(/--|=(.*)/);
|
|
if (uri_options.length > 2) {
|
|
uriSettings[uri_options[2]] = uri_options[3] || "true";
|
|
}
|
|
} else {
|
|
uri_parsed.push(uri_element);
|
|
}
|
|
});
|
|
// passing true to batch all the addUri calls
|
|
rpc.once("addUri", [uri_parsed, uriSettings], cb, true);
|
|
});
|
|
|
|
// now dispatch all addUri syscalls
|
|
rpc.forceUpdate();
|
|
},
|
|
addTorrents: function(txts, settings, cb) {
|
|
_.each(txts, function(txt) {
|
|
// passing true to batch all the addUri calls
|
|
rpc.once("addTorrent", [txt, [], settings], cb, true);
|
|
});
|
|
|
|
// now dispatch all addUri syscalls
|
|
rpc.forceUpdate();
|
|
},
|
|
addMetalinks: function(txts, settings, cb) {
|
|
_.each(txts, function(txt) {
|
|
// passing true to batch all the addUri calls
|
|
rpc.once("addMetalink", [txt, settings], cb, true);
|
|
});
|
|
|
|
// now dispatch all addUri syscalls
|
|
rpc.forceUpdate();
|
|
}
|
|
};
|
|
}
|
|
]);
|