forked from premiere/premiere-libtorrent
fix python dictionary to settings_pack conversion bug (#652)
This commit is contained in:
parent
96b7d3ad46
commit
80710abcbf
|
@ -1,5 +1,6 @@
|
||||||
1.1.1 release
|
1.1.1 release
|
||||||
|
|
||||||
|
* fix set_settings in python binding
|
||||||
* Added missing alert categories in python binding
|
* Added missing alert categories in python binding
|
||||||
* Added dht_get_peers_reply_alert alert in python binding
|
* Added dht_get_peers_reply_alert alert in python binding
|
||||||
|
|
||||||
|
|
|
@ -101,16 +101,17 @@ namespace
|
||||||
void make_settings_pack(lt::settings_pack& p, dict const& sett_dict)
|
void make_settings_pack(lt::settings_pack& p, dict const& sett_dict)
|
||||||
{
|
{
|
||||||
list iterkeys = (list)sett_dict.keys();
|
list iterkeys = (list)sett_dict.keys();
|
||||||
for (int i = 0; i < boost::python::len(iterkeys); i++)
|
int const len = boost::python::len(iterkeys);
|
||||||
|
for (int i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
std::string key = extract<std::string>(iterkeys[i]);
|
std::string const key = extract<std::string>(iterkeys[i]);
|
||||||
|
|
||||||
int sett = setting_by_name(key);
|
int sett = setting_by_name(key);
|
||||||
if (sett == 0) continue;
|
if (sett < 0) continue;
|
||||||
|
|
||||||
TORRENT_TRY
|
TORRENT_TRY
|
||||||
{
|
{
|
||||||
object value = sett_dict[key];
|
object const value = sett_dict[key];
|
||||||
switch (sett & settings_pack::type_mask)
|
switch (sett & settings_pack::type_mask)
|
||||||
{
|
{
|
||||||
case settings_pack::string_type_base:
|
case settings_pack::string_type_base:
|
||||||
|
|
|
@ -156,8 +156,9 @@ class test_session(unittest.TestCase):
|
||||||
def test_apply_settings(self):
|
def test_apply_settings(self):
|
||||||
|
|
||||||
s = lt.session({})
|
s = lt.session({})
|
||||||
s.apply_settings({'num_want': 66})
|
s.apply_settings({'num_want': 66, 'user_agent': 'test123'})
|
||||||
self.assertEqual(s.get_settings()['num_want'], 66)
|
self.assertEqual(s.get_settings()['num_want'], 66)
|
||||||
|
self.assertEqual(s.get_settings()['user_agent'], 'test123')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue