def __init__(self, downloader, connection):
     SingleDownloadHelperInterface.__init__(self)
     self.downloader = downloader
     self.connection = connection
     self.choked = True
     self.interested = False
     self.active_requests = []
     self.measure = Measure(downloader.max_rate_period)
     self.peermeasure = Measure(downloader.max_rate_period)
     self.raw_have = Bitfield(downloader.numpieces)
     self.have = Bitfield(downloader.numpieces)
     self.last = -1000
     self.last2 = -1000
     self.example_interest = None
     self.backlog = 2
     self.ip = connection.get_ip()
     self.guard = BadDataGuard(self)
     self.app_mode = globalConfig.get_mode()
     self.white_list = None
     self.black_list = None
     self.app_mode = globalConfig.get_mode()
     if self.app_mode == 'node':
         source_node = globalConfig.get_value('source_node')
         support_nodes = globalConfig.get_value('support_nodes')
         if not globalConfig.get_value('allow_peers_download'):
             self.white_list = set()
             if source_node is not None and globalConfig.get_value(
                     'allow_source_download'):
                 self.white_list.add(source_node[0])
             if len(support_nodes) and globalConfig.get_value(
                     'allow_support_download'):
                 self.white_list.update([addr[0] for addr in support_nodes])
         else:
             self.black_list = set()
             if source_node is not None and not globalConfig.get_value(
                     'allow_source_download'):
                 self.black_list.add(source_node[0])
             if len(support_nodes) and not globalConfig.get_value(
                     'allow_support_download'):
                 self.black_list.update([addr[0] for addr in support_nodes])
             if len(self.black_list) == 0:
                 self.black_list = None
         if DEBUG:
             log('download::__init__: white_list', self.white_list,
                 'black_list', self.black_list)
     self.helper = downloader.picker.helper
     self.proxy_have = Bitfield(downloader.numpieces)
     self.short_term_measure = Measure(5)
     self.bad_performance_counter = 0
Example #2
0
 def __init__(self,
              timeout,
              ipv6_enable,
              readsize=100000,
              max_connects=1000):
     self.timeout = timeout
     self.ipv6_enable = ipv6_enable
     self.readsize = readsize
     self.poll = poll()
     self.single_sockets = {}
     self.dead_from_write = []
     if max_connects <= 0:
         max_connects = 1000
     if DEBUG:
         log('SocketHandler::__init__: max_connects', max_connects)
     self.max_connects = max_connects
     self.servers = {}
     self.btengine_said_reachable = False
     self.interrupt_socket = None
     self.udp_sockets = {}
     if globalConfig.get_mode() == 'stream' and globalConfig.get_value(
             'private_source'):
         self.white_list = globalConfig.get_value('support_nodes')
         if DEBUG:
             log('SocketHandler::__init__: white_list', self.white_list)
     else:
         self.white_list = None
 def __init__(self, utility, system_default_locale = 'en_EN'):
     self.utility = utility
     default_filename = 'en_EN.lang'
     langpath = os.path.join(self.utility.getPath(), 'data', 'lang')
     sys.stdout.write('Setting up languages\n')
     sys.stdout.write('Default: ' + str(default_filename) + '\n')
     sys.stdout.write('System: ' + str(system_default_locale) + '\n')
     self.user_lang = None
     user_filepath = os.path.join(self.utility.getConfigPath(), 'user.lang')
     if existsAndIsReadable(user_filepath):
         self.user_lang = ConfigReader(user_filepath, 'ABC/language')
     parsed_locale = self.parse_locale(system_default_locale)
     self.local_lang_filename = parsed_locale + '.lang'
     self.local_lang = None
     local_filepath = os.path.join(langpath, self.local_lang_filename)
     if self.local_lang_filename != default_filename and existsAndIsReadable(local_filepath):
         if globalConfig.get_mode() == 'client_wx':
             import wx
             self.local_lang = wx.FileConfig(localFilename=local_filepath)
             self.local_lang.SetPath('ABC/language')
         else:
             self.local_lang = ConfigReader(local_filepath, 'ABC/language')
     self.default_lang = None
     default_filepath = os.path.join(langpath, default_filename)
     if existsAndIsReadable(default_filepath):
         self.default_lang = ConfigReader(default_filepath, 'ABC/language')
     self.cache = {}
     self.langwarning = False
Example #4
0
 def __init__(self, utility, system_default_locale='en_EN'):
     self.utility = utility
     default_filename = 'en_EN.lang'
     langpath = os.path.join(self.utility.getPath(), 'data', 'lang')
     sys.stdout.write('Setting up languages\n')
     sys.stdout.write('Default: ' + str(default_filename) + '\n')
     sys.stdout.write('System: ' + str(system_default_locale) + '\n')
     self.user_lang = None
     user_filepath = os.path.join(self.utility.getConfigPath(), 'user.lang')
     if existsAndIsReadable(user_filepath):
         self.user_lang = ConfigReader(user_filepath, 'ABC/language')
     parsed_locale = self.parse_locale(system_default_locale)
     self.local_lang_filename = parsed_locale + '.lang'
     self.local_lang = None
     local_filepath = os.path.join(langpath, self.local_lang_filename)
     if self.local_lang_filename != default_filename and existsAndIsReadable(
             local_filepath):
         if globalConfig.get_mode() == 'client_wx':
             import wx
             self.local_lang = wx.FileConfig(localFilename=local_filepath)
             self.local_lang.SetPath('ABC/language')
         else:
             self.local_lang = ConfigReader(local_filepath, 'ABC/language')
     self.default_lang = None
     default_filepath = os.path.join(langpath, default_filename)
     if existsAndIsReadable(default_filepath):
         self.default_lang = ConfigReader(default_filepath, 'ABC/language')
     self.cache = {}
     self.langwarning = False
 def __init__(self, downloader, connection):
     SingleDownloadHelperInterface.__init__(self)
     self.downloader = downloader
     self.connection = connection
     self.choked = True
     self.interested = False
     self.active_requests = []
     self.measure = Measure(downloader.max_rate_period)
     self.peermeasure = Measure(downloader.max_rate_period)
     self.raw_have = Bitfield(downloader.numpieces)
     self.have = Bitfield(downloader.numpieces)
     self.last = -1000
     self.last2 = -1000
     self.example_interest = None
     self.backlog = 2
     self.ip = connection.get_ip()
     self.guard = BadDataGuard(self)
     self.app_mode = globalConfig.get_mode()
     self.white_list = None
     self.black_list = None
     self.app_mode = globalConfig.get_mode()
     if self.app_mode == 'node':
         source_node = globalConfig.get_value('source_node')
         support_nodes = globalConfig.get_value('support_nodes')
         if not globalConfig.get_value('allow_peers_download'):
             self.white_list = set()
             if source_node is not None and globalConfig.get_value('allow_source_download'):
                 self.white_list.add(source_node[0])
             if len(support_nodes) and globalConfig.get_value('allow_support_download'):
                 self.white_list.update([ addr[0] for addr in support_nodes ])
         else:
             self.black_list = set()
             if source_node is not None and not globalConfig.get_value('allow_source_download'):
                 self.black_list.add(source_node[0])
             if len(support_nodes) and not globalConfig.get_value('allow_support_download'):
                 self.black_list.update([ addr[0] for addr in support_nodes ])
             if len(self.black_list) == 0:
                 self.black_list = None
         if DEBUG:
             log('download::__init__: white_list', self.white_list, 'black_list', self.black_list)
     self.helper = downloader.picker.helper
     self.proxy_have = Bitfield(downloader.numpieces)
     self.short_term_measure = Measure(5)
     self.bad_performance_counter = 0
 def __init__(self, connecter, raw_server, my_id, max_len, schedulefunc,
              keepalive_delay, download_id, measurefunc, config,
              limit_connections_queue):
     self.raw_server = raw_server
     self.connecter = connecter
     self.my_id = my_id
     self.max_len = max_len
     self.schedulefunc = schedulefunc
     self.keepalive_delay = keepalive_delay
     self.download_id = download_id
     self.measurefunc = measurefunc
     self.config = config
     self.connections = {}
     self.banned = {}
     self.to_connect = set()
     self.trackertime = None
     self.paused = False
     self.limit_connections_queue = limit_connections_queue
     if self.config['max_connections'] == 0:
         self.max_connections = 1073741824
     else:
         self.max_connections = self.config['max_connections']
     self.rerequest = None
     self.toofast_banned = {}
     self.helper = None
     self.white_list = None
     self.black_list = None
     self.app_mode = globalConfig.get_mode()
     if self.app_mode == 'node':
         self.last_source_check_time = None
         source_node = globalConfig.get_value('source_node')
         support_nodes = globalConfig.get_value('support_nodes')
         if not globalConfig.get_value('allow_peers_download'):
             self.white_list = set()
             if source_node is not None and globalConfig.get_value(
                     'allow_source_download'):
                 self.white_list.add(source_node[0])
             if len(support_nodes) and globalConfig.get_value(
                     'allow_support_download'):
                 self.white_list.update([addr[0] for addr in support_nodes])
         else:
             self.black_list = set()
             if source_node is not None and not globalConfig.get_value(
                     'allow_source_download'):
                 self.black_list.add(source_node[0])
             if len(support_nodes) and not globalConfig.get_value(
                     'allow_support_download'):
                 self.black_list.update([addr[0] for addr in support_nodes])
             if len(self.black_list) == 0:
                 self.black_list = None
         if DEBUG:
             log('Encoder::__init__: white_list', self.white_list,
                 'black_list', self.black_list)
     schedulefunc(self.send_keepalives, keepalive_delay)
     self.repexer = None
Example #7
0
 def __init__(self, session):
     self.session = session
     self.sesslock = session.sesslock
     self.sessconfig = session.sessconfig
     mode = globalConfig.get_mode()
     if mode == "stream" or mode == "node" or mode == "tracker":
         count_threads = 1
     else:
         count_threads = 10
     self.threadpool = ThreadPool(count_threads)
     self.notifier = Notifier.getInstance(self.threadpool)
Example #8
0
 def __init__(self, session):
     self.session = session
     self.sesslock = session.sesslock
     self.sessconfig = session.sessconfig
     mode = globalConfig.get_mode()
     if mode == 'stream' or mode == 'node' or mode == 'tracker':
         count_threads = 1
     else:
         count_threads = 10
     self.threadpool = ThreadPool(count_threads)
     self.notifier = Notifier.getInstance(self.threadpool)
 def __init__(self, config, schedule, picker, done = lambda : False):
     self.app_mode = globalConfig.get_mode()
     self.config = config
     self.round_robin_period = config['round_robin_period']
     self.schedule = schedule
     self.picker = picker
     self.connections = []
     self.last_preferred = 0
     self.last_round_robin = clock()
     self.done = done
     self.super_seed = False
     self.paused = False
     schedule(self._round_robin, 5)
     self.seeding_manager = None
Example #10
0
 def __init__(self, config, schedule, picker, done=lambda: False):
     self.app_mode = globalConfig.get_mode()
     self.config = config
     self.round_robin_period = config['round_robin_period']
     self.schedule = schedule
     self.picker = picker
     self.connections = []
     self.last_preferred = 0
     self.last_round_robin = clock()
     self.done = done
     self.super_seed = False
     self.paused = False
     schedule(self._round_robin, 5)
     self.seeding_manager = None
 def __init__(self, connecter, raw_server, my_id, max_len, schedulefunc, keepalive_delay, download_id, measurefunc, config, limit_connections_queue):
     self.raw_server = raw_server
     self.connecter = connecter
     self.my_id = my_id
     self.max_len = max_len
     self.schedulefunc = schedulefunc
     self.keepalive_delay = keepalive_delay
     self.download_id = download_id
     self.measurefunc = measurefunc
     self.config = config
     self.connections = {}
     self.banned = {}
     self.to_connect = set()
     self.trackertime = None
     self.paused = False
     self.limit_connections_queue = limit_connections_queue
     if self.config['max_connections'] == 0:
         self.max_connections = 1073741824
     else:
         self.max_connections = self.config['max_connections']
     self.rerequest = None
     self.toofast_banned = {}
     self.helper = None
     self.white_list = None
     self.black_list = None
     self.app_mode = globalConfig.get_mode()
     if self.app_mode == 'node':
         self.last_source_check_time = None
         source_node = globalConfig.get_value('source_node')
         support_nodes = globalConfig.get_value('support_nodes')
         if not globalConfig.get_value('allow_peers_download'):
             self.white_list = set()
             if source_node is not None and globalConfig.get_value('allow_source_download'):
                 self.white_list.add(source_node[0])
             if len(support_nodes) and globalConfig.get_value('allow_support_download'):
                 self.white_list.update([ addr[0] for addr in support_nodes ])
         else:
             self.black_list = set()
             if source_node is not None and not globalConfig.get_value('allow_source_download'):
                 self.black_list.add(source_node[0])
             if len(support_nodes) and not globalConfig.get_value('allow_support_download'):
                 self.black_list.update([ addr[0] for addr in support_nodes ])
             if len(self.black_list) == 0:
                 self.black_list = None
         if DEBUG:
             log('Encoder::__init__: white_list', self.white_list, 'black_list', self.black_list)
     schedulefunc(self.send_keepalives, keepalive_delay)
     self.repexer = None
 def __init__(self, timeout, ipv6_enable, readsize = 100000, max_connects = 1000):
     self.timeout = timeout
     self.ipv6_enable = ipv6_enable
     self.readsize = readsize
     self.poll = poll()
     self.single_sockets = {}
     self.dead_from_write = []
     if max_connects <= 0:
         max_connects = 1000
     if DEBUG:
         log('SocketHandler::__init__: max_connects', max_connects)
     self.max_connects = max_connects
     self.servers = {}
     self.btengine_said_reachable = False
     self.interrupt_socket = None
     self.udp_sockets = {}
     if globalConfig.get_mode() == 'stream' and globalConfig.get_value('private_source'):
         self.white_list = globalConfig.get_value('support_nodes')
         if DEBUG:
             log('SocketHandler::__init__: white_list', self.white_list)
     else:
         self.white_list = None