def set_stop_collecting_threshold(self,value): self.sesslock.acquire() try: SessionConfigInterface.set_stop_collecting_threshold(self,value) olbridge = OverlayThreadingBridge.getInstance() task = lambda:self.olthread_set_stop_collecting_threshold(value) olbridge.add_task(task,0) finally: self.sesslock.release()
def set_start_recommender(self,value): self.sesslock.acquire() try: SessionConfigInterface.set_start_recommender(self,value) olbridge = OverlayThreadingBridge.getInstance() task = lambda:self.olthread_set_start_recommender(value) olbridge.add_task(task,0) finally: self.sesslock.release()
def set_stop_collecting_threshold(self, value): self.sesslock.acquire() try: SessionConfigInterface.set_stop_collecting_threshold(self, value) olbridge = OverlayThreadingBridge.getInstance() task = lambda: self.olthread_set_stop_collecting_threshold(value) olbridge.add_task(task, 0) finally: self.sesslock.release()
def set_start_recommender(self, value): self.sesslock.acquire() try: SessionConfigInterface.set_start_recommender(self, value) olbridge = OverlayThreadingBridge.getInstance() task = lambda: self.olthread_set_start_recommender(value) olbridge.add_task(task, 0) finally: self.sesslock.release()
def set_torrent_collecting_max_torrents(self, value): self.sesslock.acquire() try: SessionConfigInterface.set_torrent_collecting_max_torrents(self, value) from Tribler.Core.RemoteTorrentHandler import RemoteTorrentHandler rth = RemoteTorrentHandler.getInstance() rth.set_max_num_torrents(value) finally: self.sesslock.release()
def set_torrent_collecting_rate(self, value): self.sesslock.acquire() try: from Tribler.Core.Overlay.OverlayThreadingBridge import OverlayThreadingBridge SessionConfigInterface.set_torrent_collecting_rate(self, value) olbridge = OverlayThreadingBridge.getInstance() task = lambda: self.olthread_set_torrent_collecting_rate(value) olbridge.add_task(task, 0) finally: self.sesslock.release()
def set_torrent_collecting_rate(self,value): self.sesslock.acquire() try: from Tribler.Core.Overlay.OverlayThreadingBridge import OverlayThreadingBridge SessionConfigInterface.set_torrent_collecting_rate(self,value) olbridge = OverlayThreadingBridge.getInstance() task = lambda:self.olthread_set_torrent_collecting_rate(value) olbridge.add_task(task,0) finally: self.sesslock.release()
def set_proxyservice_status(self, value): """ Set the status of the proxyservice (on or off). ProxyService off means the current node could not be used as a proxy. ProxyService on means other nodes will be able to use it as a proxy. @param value: one of the possible two values: PROXYSERVICE_OFF, PROXYSERVICE_ON """ self.sesslock.acquire() try: SessionConfigInterface.set_proxyservice_status(self, value) finally: self.sesslock.release()
def set_proxyservice_status(self,value): """ Set the status of the proxyservice (on or off). ProxyService off means the current node could not be used as a proxy. ProxyService on means other nodes will be able to use it as a proxy. @param value: one of the possible two values: PROXYSERVICE_OFF, PROXYSERVICE_ON """ self.sesslock.acquire() try: SessionConfigInterface.set_proxyservice_status(self, value) finally: self.sesslock.release()
def get_tracker_multitracker_http_timeout(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_multitracker_http_timeout( self) finally: self.sesslock.release()
def get_video_analyser_path(self): # To protect self.sessconfig self.sesslock.acquire() try: return SessionConfigInterface.get_video_analyser_path(self) finally: self.sesslock.release()
def get_tracker_multitracker_reannounce_interval(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_multitracker_reannounce_interval( self) finally: self.sesslock.release()
def get_listen_port(self): # To protect self.sessconfig self.sesslock.acquire() try: return SessionConfigInterface.get_listen_port(self) finally: self.sesslock.release()
def get_tracker_min_time_between_cache_refreshes(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_min_time_between_cache_refreshes( self) finally: self.sesslock.release()
def get_tracker_timeout_check_interval(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_timeout_check_interval( self) finally: self.sesslock.release()
def get_torrent_collecting_max_torrents(self): self.sesslock.acquire() try: return SessionConfigInterface.get_torrent_collecting_max_torrents( self) finally: self.sesslock.release()
def get_tracker_only_local_override_ip(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_only_local_override_ip( self) finally: self.sesslock.release()
def get_multicast_local_peer_discovery(self): self.sesslock.acquire() try: return SessionConfigInterface.get_multicast_local_peer_discovery( self) finally: self.sesslock.release()
def get_buddycast_collecting_solution(self): self.sesslock.acquire() try: return SessionConfigInterface.get_buddycast_collecting_solution( self) finally: self.sesslock.release()
def test_convert_session_config(self): old_pickle_dict = {"state_dir": "/", "mainline_dht_port": 1337, "torrent_checking": "maybe", "torrent_collecting": "maybe", "libtorrent": 1337, "dispersy_port": 1337} self.write_pickle_file(old_pickle_dict, "sessconfig.pickle") PickleConverter(self.mock_session).convert_session_config() self.assertTrue(os.path.exists(SessionConfigInterface.get_default_config_filename(self.session_base_dir))) self.assertFalse(os.path.exists(os.path.join(self.session_base_dir, "sessconfig.pickle")))
def get_proxyservice_status(self): """ Returns the status of the proxyservice (on or off). @return: one of the possible two values: PROXYSERVICE_OFF, PROXYSERVICE_ON """ self.sesslock.acquire() try: return SessionConfigInterface.get_proxyservice_status(self) finally: self.sesslock.release()
def convert_session_config(self): """ Convert the sessionconfig.pickle file to libtribler.conf. Do nothing if we do not have a pickle file. """ old_filename = os.path.join(self.session.get_state_dir(), 'sessconfig.pickle') new_filename = SessionConfigInterface.get_default_config_filename( self.session.get_state_dir()) if not os.path.exists(old_filename): return with open(old_filename, "rb") as old_file: sessconfig = pickle.load(old_file) # Upgrade to new config sconfig = SessionStartupConfig() for key, value in sessconfig.iteritems(): if key in [ 'state_dir', 'install_dir', 'ip', 'minport', 'maxport', 'bind', 'ipv6_enabled', 'ipv6_binds_v4', 'timeout', 'timeout_check_interval', 'eckeypairfilename', 'megacache', 'nickname', 'mugshot', 'videoanalyserpath', 'peer_icon_path', 'live_aux_seeders' ]: sconfig.sessconfig.set('general', key, value) if key in ['mainline_dht', 'mainline_dht_port']: sconfig.sessconfig.set( 'mainline_dht', 'enabled' if key == 'mainline_dht' else key, value) if key == 'torrent_checking': sconfig.sessconfig.set('torrent_checking', 'enabled', value) if key in [ 'torrent_collecting', 'dht_torrent_collecting', 'torrent_collecting_max_torrents', 'torrent_collecting_dir', 'stop_collecting_threshold' ]: sconfig.sessconfig.set( 'torrent_collecting', 'enabled' if key == 'torrent_collecting' else key, value) if key in [ 'libtorrent', 'lt_proxytype', 'lt_proxyserver', 'lt_proxyauth' ]: sconfig.sessconfig.set( 'libtorrent', 'enabled' if key == 'libtorrent' else key, value) if key in ['dispersy_port', 'dispersy']: sconfig.sessconfig.set('dispersy', 'enabled' if key == 'dispersy' else key, value) # Save the new file, remove the old one sconfig.save(new_filename) os.remove(old_filename)
def __init__(self): self.lm = MockObject() self.lm.ltmgr = MockObject() self.lm.boosting_manager = MockObject() self.lm.download_exists = MockObject() self.lm.channelcast_db = MockObject() self.lm.torrent_store = MockObject() sessconfig = SessionConfigInterface() self.get_cm_policy = lambda _: SeederRatioPolicy self.get_cm_max_torrents_per_source = sessconfig.get_cm_max_torrents_per_source self.get_cm_max_torrents_active = sessconfig.get_cm_max_torrents_active self.get_cm_source_interval = sessconfig.get_cm_source_interval self.get_cm_swarm_interval = sessconfig.get_cm_swarm_interval self.get_cm_share_mode_target = sessconfig.get_cm_share_mode_target self.get_cm_tracker_interval = sessconfig.get_cm_tracker_interval self.get_cm_logging_interval = sessconfig.get_cm_logging_interval self.get_cm_sources = sessconfig.get_cm_sources self.add_observer = lambda *_: None
def get_tracker_multitracker_http_timeout(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_multitracker_http_timeout(self) finally: self.sesslock.release()
def get_tracker_hupmonitor(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_hupmonitor(self) finally: self.sesslock.release()
def get_tracker_aggregate_forward(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_aggregate_forward(self) finally: self.sesslock.release()
def get_tracker_multitracker_reannounce_interval(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_multitracker_reannounce_interval(self) finally: self.sesslock.release()
def get_nat_detect(self): self.sesslock.acquire() try: return SessionConfigInterface.get_nat_detect(self) finally: self.sesslock.release()
def get_tracker_keep_dead(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_keep_dead(self) finally: self.sesslock.release()
def get_tracker_banned_ips(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_banned_ips(self) finally: self.sesslock.release()
def get_puncturing_internal_port(self): self.sesslock.acquire() try: return SessionConfigInterface.get_puncturing_internal_port(self) finally: self.sesslock.release()
def get_overlay_max_message_length(self): self.sesslock.acquire() try: return SessionConfigInterface.get_overlay_max_message_length(self) finally: self.sesslock.release()
def get_pingback_servers(self): self.sesslock.acquire() try: return SessionConfigInterface.get_pingback_servers(self) finally: self.sesslock.release()
def test_startup_session_invalid_port(self): sci = SessionConfigInterface() sci.set_mainline_dht_listen_port("abcd") self.assertTrue(isinstance(sci.get_mainline_dht_listen_port(), int))
def get_download_help_dir(self): self.sesslock.acquire() try: return SessionConfigInterface.get_download_help_dir(self) finally: self.sesslock.release()
def get_multicast_local_peer_discovery(self): self.sesslock.acquire() try: return SessionConfigInterface.get_multicast_local_peer_discovery(self) finally: self.sesslock.release()
def get_tracker_parse_dir_interval(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_parse_dir_interval(self) finally: self.sesslock.release()
def get_tracker_infopage_redirect(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_infopage_redirect(self) finally: self.sesslock.release()
def get_tracker_only_local_override_ip(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_only_local_override_ip(self) finally: self.sesslock.release()
def get_bind_to_addresses(self): self.sesslock.acquire() try: return SessionConfigInterface.get_bind_to_addresses(self) finally: self.sesslock.release()
def get_tracker_scrape_allowed(self): self.sesslock.acquire() try: return SessionConfigInterface.get_tracker_scrape_allowed(self) finally: self.sesslock.release()
def get_buddycast_collecting_solution(self): self.sesslock.acquire() try: return SessionConfigInterface.get_buddycast_collecting_solution(self) finally: self.sesslock.release()
def get_superpeer_file(self): self.sesslock.acquire() try: return SessionConfigInterface.get_superpeer_file(self) finally: self.sesslock.release()
def get_swift_path(self): self.sesslock.acquire() try: return SessionConfigInterface.get_swift_path(self) finally: self.sesslock.release()
def get_peer_icon_path(self): self.sesslock.acquire() try: return SessionConfigInterface.get_peer_icon_path(self) finally: self.sesslock.release()
def get_swift_cmd_listen_port(self): self.sesslock.acquire() try: return SessionConfigInterface.get_swift_cmd_listen_port(self) finally: self.sesslock.release()
def get_upnp_mode(self): self.sesslock.acquire() try: return SessionConfigInterface.get_upnp_mode(self) finally: self.sesslock.release()
def get_crawler(self): self.sesslock.acquire() try: return SessionConfigInterface.get_crawler(self) finally: self.sesslock.release()
def get_swift_downloads_per_process(self): self.sesslock.acquire() try: return SessionConfigInterface.get_swift_downloads_per_process(self) finally: self.sesslock.release()
def get_autoclose_timeout(self): self.sesslock.acquire() try: return SessionConfigInterface.get_autoclose_timeout(self) finally: self.sesslock.release()
def test_session_config_init(self): sessconf = CallbackConfigParser() sessconf.add_section('mainline_dht') sessconf.set('mainline_dht', 'mainline_dht_port', 1234) sci = SessionConfigInterface(sessconf) self.assertTrue(sci) self.assertIsInstance(sci.get_listen_port(), int) self.assertIsInstance(sci.get_mainline_dht_listen_port(), int) self.assertIsInstance(sci.get_default_state_dir(), unicode) sci.set_state_dir(self.session_base_dir) self.assertEqual(sci.get_state_dir(), self.session_base_dir) default_log_dir = os.path.join(self.session_base_dir, "logs") self.assertEqual(sci.get_log_dir(), default_log_dir) sci.set_log_dir(self.LOG_DIR) self.assertEqual(sci.get_log_dir(), self.LOG_DIR) self.assertIsInstance(sci.get_install_dir(), (unicode, str)) self.assertIsInstance(sci.get_permid_keypair_filename(), str) sci.set_listen_port(1337) self.assertEqual(sci.sessconfig.get('general', 'minport'), 1337) self.assertEqual(sci.sessconfig.get('general', 'maxport'), 1337) self.assertIsInstance(sci.get_tunnel_community_socks5_listen_ports(), list) self.assertFalse(sci.get_tunnel_community_exitnode_enabled()) sci.set_tunnel_community_enabled(False) self.assertFalse(sci.get_tunnel_community_enabled()) sci.set_megacache(False) self.assertFalse(sci.get_megacache()) sci.set_libtorrent(False) self.assertFalse(sci.get_libtorrent()) sci.set_libtorrent_max_conn_download(5) self.assertEqual(sci.get_libtorrent_max_conn_download(), 5) sci.set_libtorrent_max_download_rate(200) self.assertEqual(sci.get_libtorrent_max_download_rate(), 200) sci.set_libtorrent_max_upload_rate(300) self.assertEqual(sci.get_libtorrent_max_upload_rate(), 300) sci.set_libtorrent_proxy_settings(3, ("127.0.0.1", 1337), ("foo", "bar")) self.assertEqual(sci.get_libtorrent_proxy_settings(), (3, ("127.0.0.1", 1337), ("foo", "bar"))) sci.set_anon_proxy_settings(5, ("127.0.0.1", 1337), ("foo", "bar")) self.assertEqual(sci.get_anon_proxy_settings(), (5, ("127.0.0.1", 1337), ("foo", "bar"))) sci.set_libtorrent_utp(False) self.assertFalse(sci.get_libtorrent_utp()) sci.set_torrent_store(False) self.assertFalse(sci.get_torrent_store()) sci.set_torrent_store_dir(self.session_base_dir) self.assertEqual(sci.get_torrent_store_dir(), self.session_base_dir) sci.set_torrent_collecting(False) self.assertFalse(sci.get_torrent_collecting()) sci.set_dht_torrent_collecting(False) self.assertFalse(sci.get_dht_torrent_collecting()) sci.set_torrent_collecting_max_torrents(1337) self.assertEqual(sci.get_torrent_collecting_max_torrents(), 1337) sci.set_torrent_collecting_dir(self.session_base_dir) self.assertEqual(sci.get_torrent_collecting_dir(), self.session_base_dir) sci.set_torrent_checking(False) self.assertFalse(sci.get_torrent_checking()) sci.set_stop_collecting_threshold(1337) self.assertEqual(sci.get_stop_collecting_threshold(), 1337) sci.set_nickname("foobar") self.assertEqual(sci.get_nickname(), "foobar") self.assertEqual(sci.get_mugshot(), (None, None)) sci.set_mugshot("myimage", mime="image/png") self.assertEqual(sci.get_mugshot(), ("image/png", "myimage")) sci.set_peer_icon_path(self.session_base_dir) self.assertEqual(sci.get_peer_icon_path(), self.session_base_dir) sci.set_video_analyser_path(self.session_base_dir) self.assertEqual(sci.get_video_analyser_path(), self.session_base_dir) sci.set_mainline_dht(False) self.assertFalse(sci.get_mainline_dht()) sci.set_mainline_dht_listen_port(1337) self.assertEqual( sci.sessconfig.get('mainline_dht', 'mainline_dht_port'), 1337) sci.set_multicast_local_peer_discovery(False) self.assertFalse(sci.get_multicast_local_peer_discovery()) sci.set_dispersy(False) self.assertFalse(sci.get_dispersy()) sci.set_dispersy_port(1337) self.assertIsInstance(sci.get_dispersy_port(), int) self.assertEqual(sci.sessconfig.get('dispersy', 'dispersy_port'), 1337) sci.set_videoserver_enabled(False) self.assertFalse(sci.get_videoserver_enabled()) sci.set_videoplayer_path(self.session_base_dir) self.assertEqual(sci.get_videoplayer_path(), self.session_base_dir) sci.set_videoserver_port(1337) self.assertIsInstance(sci.get_videoserver_port(), int) self.assertEqual(sci.sessconfig.get('video', 'port'), 1337) sci.set_preferred_playback_mode(5) self.assertEqual(sci.get_preferred_playback_mode(), 5) sci.set_enable_torrent_search(False) self.assertFalse(sci.get_enable_torrent_search()) sci.set_enable_channel_search(False) self.assertFalse(sci.get_enable_channel_search()) sci.set_enable_metadata(False) self.assertFalse(sci.get_enable_metadata()) sci.set_metadata_store_dir(self.session_base_dir) self.assertEqual(sci.get_metadata_store_dir(), self.session_base_dir) sci.set_channel_community_enabled(False) self.assertFalse(sci.get_channel_community_enabled()) sci.set_preview_channel_community_enabled(False) self.assertFalse(sci.get_preview_channel_community_enabled()) sci.set_http_api_enabled(True) self.assertTrue(sci.get_http_api_enabled()) sci.set_http_api_port(1337) self.assertEqual(sci.sessconfig.get('http_api', 'port'), 1337) sci.set_resource_monitor_enabled(False) self.assertFalse(sci.get_resource_monitor_enabled()) sci.set_resource_monitor_poll_interval(12) self.assertEqual(sci.get_resource_monitor_poll_interval(), 12) sci.set_resource_monitor_history_size(1234) self.assertEqual(sci.get_resource_monitor_history_size(), 1234) self.assertIsInstance( sci.get_default_config_filename(self.session_base_dir), str)