add missing min_memory_usage() and high_performance_seed() settings presets to python

This commit is contained in:
arvidn 2017-01-23 20:33:52 -05:00 committed by Arvid Norberg
parent 605227d9da
commit 62db98ca09
3 changed files with 53 additions and 22 deletions

View File

@ -1,3 +1,4 @@
* add missing min_memory_usage() and high_performance_seed() settings presets to python
* fix stat cache issue that sometimes would produce incorrect resume data * fix stat cache issue that sometimes would produce incorrect resume data
* storage optimization to peer classes * storage optimization to peer classes
* fix torrent name in alerts of builds with deprecated functions * fix torrent name in alerts of builds with deprecated functions

View File

@ -140,6 +140,29 @@ namespace
} }
} }
dict make_dict(lt::settings_pack const& sett)
{
dict ret;
for (int i = settings_pack::string_type_base;
i < settings_pack::max_string_setting_internal; ++i)
{
ret[name_for_setting(i)] = sett.get_str(i);
}
for (int i = settings_pack::int_type_base;
i < settings_pack::max_int_setting_internal; ++i)
{
ret[name_for_setting(i)] = sett.get_int(i);
}
for (int i = settings_pack::bool_type_base;
i < settings_pack::max_bool_setting_internal; ++i)
{
ret[name_for_setting(i)] = sett.get_bool(i);
}
return ret;
}
boost::shared_ptr<lt::session> make_session(boost::python::dict sett, int flags) boost::shared_ptr<lt::session> make_session(boost::python::dict sett, int flags)
{ {
settings_pack p; settings_pack p;
@ -181,25 +204,21 @@ namespace
allow_threading_guard guard; allow_threading_guard guard;
sett = ses.get_settings(); sett = ses.get_settings();
} }
dict ret; return make_dict(sett);
for (int i = settings_pack::string_type_base; }
i < settings_pack::max_string_setting_internal; ++i)
{
ret[name_for_setting(i)] = sett.get_str(i);
}
for (int i = settings_pack::int_type_base; dict min_memory_usage_wrapper()
i < settings_pack::max_int_setting_internal; ++i) {
{ settings_pack ret;
ret[name_for_setting(i)] = sett.get_int(i); min_memory_usage(ret);
} return make_dict(ret);
}
for (int i = settings_pack::bool_type_base; dict high_performance_seed_wrapper()
i < settings_pack::max_bool_setting_internal; ++i) {
{ settings_pack ret;
ret[name_for_setting(i)] = sett.get_bool(i); high_performance_seed(ret);
} return make_dict(ret);
return ret;
} }
#ifndef BOOST_NO_EXCEPTIONS #ifndef BOOST_NO_EXCEPTIONS
@ -962,11 +981,8 @@ void bind_session()
scope().attr("create_metadata_plugin") = "metadata_transfer"; scope().attr("create_metadata_plugin") = "metadata_transfer";
#endif #endif
typedef void (*mem_preset2)(settings_pack& s); def("high_performance_seed", high_performance_seed_wrapper);
typedef void (*perf_preset2)(settings_pack& s); def("min_memory_usage", min_memory_usage_wrapper);
def("high_performance_seed", (perf_preset2)high_performance_seed);
def("min_memory_usage", (mem_preset2)min_memory_usage);
class_<stats_metric>("stats_metric") class_<stats_metric>("stats_metric")
.def_readonly("name", &stats_metric::name) .def_readonly("name", &stats_metric::name)

View File

@ -252,6 +252,20 @@ class test_session(unittest.TestCase):
self.assertEqual(s.get_settings()['num_want'], 66) self.assertEqual(s.get_settings()['num_want'], 66)
self.assertEqual(s.get_settings()['user_agent'], 'test123') self.assertEqual(s.get_settings()['user_agent'], 'test123')
def test_min_memory_preset(self):
min_mem = lt.min_memory_usage()
print(min_mem)
self.assertTrue('connection_speed' in min_mem)
self.assertTrue('file_pool_size' in min_mem)
def test_seed_mode_preset(self):
seed_mode = lt.high_performance_seed()
print(seed_mode)
self.assertTrue('alert_queue_size' in seed_mode)
self.assertTrue('connection_speed' in seed_mode)
self.assertTrue('file_pool_size' in seed_mode)
if __name__ == '__main__': if __name__ == '__main__':
print(lt.__version__) print(lt.__version__)