* Fixed group commands.

git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1179 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
rakshasa
2010-10-06 12:08:44 +00:00
parent 49f61eeda3
commit a0f3e95d20
3 changed files with 16 additions and 21 deletions
+7 -9
View File
@@ -158,11 +158,13 @@ group_insert(const torrent::Object::list_type& args) {
const std::string& name = check_name(post_increment(itr, last)->as_string());
const std::string& view = check_name(post_increment(itr, last)->as_string());
rpc::commands.call("method.insert", rpc::create_object_list("group." + name + ".ratio.enable", "simple",
"schedule2=group." + name + ".ratio,5,60,on_ratio=" + name));
rpc::commands.call("method.insert", rpc::create_object_list("group." + name + ".ratio.disable", "simple",
"schedule_remove2=group." + name + ".ratio"));
rpc::commands.call("method.insert", rpc::create_object_list("group." + name + ".ratio.command", "simple",
"d.try_close= ;d.ignore_commands.set=1"));
rpc::commands.call("method.insert", rpc::create_object_list("group2." + name + ".view", "string", view));
rpc::commands.call("method.insert", rpc::create_object_list("group2." + name + ".ratio.enable", "simple", "schedule22=group." + name + ".ratio,5,60,on_ratio=" + name));
rpc::commands.call("method.insert", rpc::create_object_list("group2." + name + ".ratio.disable", "simple", "schedule_remove2=group." + name + ".ratio"));
rpc::commands.call("method.insert", rpc::create_object_list("group." + name + ".ratio.command", "simple", "d.try_close= ;d.ignore_commands.set=1"));
rpc::commands.call("method.insert", rpc::create_object_list("group2." + name + ".ratio.min", "value", (int64_t)200));
rpc::commands.call("method.insert", rpc::create_object_list("group2." + name + ".ratio.max", "value", (int64_t)300));
rpc::commands.call("method.insert", rpc::create_object_list("group2." + name + ".ratio.upload", "value", (int64_t)20 << 20));
@@ -172,8 +174,6 @@ group_insert(const torrent::Object::list_type& args) {
CMD2_REDIRECT_GENERIC_STR("group." + name + ".view", "group2." + name + ".view");
CMD2_REDIRECT_GENERIC_STR("group." + name + ".view.set", "group2." + name + ".view.set");
CMD2_REDIRECT_GENERIC_STR("group." + name + ".ratio.enable", "group2." + name + ".ratio.enable");
CMD2_REDIRECT_GENERIC_STR("group." + name + ".ratio.disable", "group2." + name + ".ratio.disable");
CMD2_REDIRECT_GENERIC_STR("group." + name + ".ratio.min", "group2." + name + ".ratio.min");
CMD2_REDIRECT_GENERIC_STR("group." + name + ".ratio.min.set", "group2." + name + ".ratio.min.set");
CMD2_REDIRECT_GENERIC_STR("group." + name + ".ratio.max", "group2." + name + ".ratio.max");
@@ -186,8 +186,6 @@ group_insert(const torrent::Object::list_type& args) {
CMD2_REDIRECT_GENERIC_STR_NO_EXPORT("group." + name + ".view", "group2." + name + ".view");
CMD2_REDIRECT_GENERIC_STR_NO_EXPORT("group." + name + ".view.set", "group2." + name + ".view.set");
CMD2_REDIRECT_GENERIC_STR_NO_EXPORT("group." + name + ".ratio.enable", "group2." + name + ".ratio.enable");
CMD2_REDIRECT_GENERIC_STR_NO_EXPORT("group." + name + ".ratio.disable", "group2." + name + ".ratio.disable");
CMD2_REDIRECT_GENERIC_STR_NO_EXPORT("group." + name + ".ratio.min", "group2." + name + ".ratio.min");
CMD2_REDIRECT_GENERIC_STR_NO_EXPORT("group." + name + ".ratio.min.set", "group2." + name + ".ratio.min.set");
CMD2_REDIRECT_GENERIC_STR_NO_EXPORT("group." + name + ".ratio.max", "group2." + name + ".ratio.max");
@@ -313,5 +311,5 @@ initialize_command_local() {
CMD2_ANY_P("argument.2", std::tr1::bind(&rpc::command_base::argument_ref, 2));
CMD2_ANY_P("argument.3", std::tr1::bind(&rpc::command_base::argument_ref, 3));
CMD2_ANY_LIST ("group2.insert", std::tr1::bind(&group_insert, std::tr1::placeholders::_2));
CMD2_ANY_LIST ("group.insert", std::tr1::bind(&group_insert, std::tr1::placeholders::_2));
}
+4 -1
View File
@@ -62,7 +62,10 @@ ViewManager::clear() {
ViewManager::iterator
ViewManager::insert(const std::string& name) {
if (find(name) != end() || name.empty())
if (name.empty())
throw torrent::input_error("View with empty name not supported.");
if (find(name) != end())
throw torrent::input_error("View with same name already inserted.");
View* view = new View();
+5 -11
View File
@@ -238,8 +238,8 @@ main(int argc, char** argv) {
"method.set_key = event.download.erased, !_download_list, ui.unfocus_download=\n"
"method.set_key = event.download.erased, ~_delete_tied, d.delete_tied=\n"
"method.insert = group2.insert_persistent_view,simple|const,"
"view.add=$argument.0=,view.persistent=$argument.0=,\"group2.insert=$argument.0=,$argument.0=\"\n"
"method.insert = group.insert_persistent_view,simple|const,"
"view.add=$argument.0=,view.persistent=$argument.0=,\"group.insert=$argument.0=,$argument.0=\"\n"
// Allow setting 'group2.view' as constant, so that we can't
// modify the value. And look into the possibility of making
@@ -249,7 +249,7 @@ main(int argc, char** argv) {
// TODO: Remember to ensure it doesn't get restarted by watch
// dir, etc. Set ignore commands, or something.
"group2.insert = seeding,seeding\n"
"group.insert = seeding,seeding\n"
"session.name = \"$cat=$system.hostname=,:,$system.pid=\"\n"
@@ -317,8 +317,8 @@ main(int argc, char** argv) {
CMD2_REDIRECT_GENERIC("upload_rate", "throttle.global_up.max_rate.set_kb");
CMD2_REDIRECT_GENERIC("download_rate", "throttle.global_down.max_rate.set_kb");
CMD2_REDIRECT_GENERIC("ratio.enable", "group2.seeding.ratio.enable");
CMD2_REDIRECT_GENERIC("ratio.disable", "group2.seeding.ratio.disable");
CMD2_REDIRECT_GENERIC("ratio.enable", "group.seeding.ratio.enable");
CMD2_REDIRECT_GENERIC("ratio.disable", "group.seeding.ratio.disable");
CMD2_REDIRECT_GENERIC("ratio.min", "group2.seeding.ratio.min");
CMD2_REDIRECT_GENERIC("ratio.max", "group2.seeding.ratio.max");
CMD2_REDIRECT_GENERIC("ratio.upload", "group2.seeding.ratio.upload");
@@ -366,9 +366,6 @@ main(int argc, char** argv) {
if (rpc::call_command_value("method.use_intermediate") == 1) {
CMD2_REDIRECT_GENERIC("execute", "execute2");
CMD2_REDIRECT_GENERIC("group.insert", "group2.insert");
CMD2_REDIRECT_GENERIC("group.insert_persistent_view", "group2.insert_persistent_view");
CMD2_REDIRECT_GENERIC("schedule", "schedule2");
CMD2_REDIRECT_GENERIC("schedule_remove", "schedule_remove2");
@@ -376,9 +373,6 @@ main(int argc, char** argv) {
// Allow for use in config files, etc, just don't export it.
CMD2_REDIRECT_GENERIC_NO_EXPORT("execute", "execute2");
CMD2_REDIRECT_GENERIC_NO_EXPORT("group.insert", "group2.insert");
CMD2_REDIRECT_GENERIC_NO_EXPORT("group.insert_persistent_view", "group2.insert_persistent_view");
CMD2_REDIRECT_GENERIC_NO_EXPORT("schedule", "schedule2");
CMD2_REDIRECT_GENERIC_NO_EXPORT("schedule_remove", "schedule_remove2");
}