Esempio n. 1
0
    def test_client_config_from_static_with_cl_update(self):
        cwd = os.path.dirname(os.path.realpath(__file__))
        static_conf_file = os.path.join(cwd, "test_client_static.conf")
        if not os.access(static_conf_file, os.F_OK):
            self.fail("Unable to locate test_cache_static.conf")

        cmdline = '--config=%s' % static_conf_file

        client_config = ClientConfiguration()
        client_config.update_from_cl(cmdline.split(' '))

        self.assertEquals(constants.NS_MODE_ENABLE,
                          client_config.get_ns_mode())
        self.assertEquals(0.8, client_config.get_locality_preference())
        self.assertEquals(constants.PS_MODE_ENABLE,
                          client_config.get_peer_selection_mode())
        self.assertEquals(5, client_config.get_rating_cache_interval())
        self.assertEquals(316, client_config.get_download_limit())
        self.assertEquals(316, client_config.get_upload_limit())
        self.assertEquals(7, client_config.get_max_upload_slots_per_download())
        self.assertEquals(simpledefs.DLMODE_VOD,
                          client_config.get_download_mode())
        self.assertEquals(10, client_config.get_connection_limit())
        self.assertEquals('torrents/startrek.torrent',
                          client_config.get_single_torrent())
        self.assertEquals('xml', client_config.get_serialization_method())
        self.assertEquals(False, client_config.get_compress_xml_reports())
        self.assertEquals(1.0, client_config.get_report_interval())
        self.assertEquals(1234567, client_config.get_id())
Esempio n. 2
0
    def test_client_config_from_cl(self):
        cmdline = '--port=8800 --id=33 --directory=client_test --temporary_state_directory=client_st ' + \
                  '--logfile=client33.log --peer_selection_mode=enable --ranking_source=geoip ' + \
                  '--neighbour_selection_mode=enable --sis_url=http://localhost:8080/sis ' + \
                  '--upload=768 --download=768 --single_torrent=startrek.torrent ' + \
                  '--report_to=http://localhost:3333 --loglevel=ERROR -e seeding 150 ' + \
                  '--I=130.83.78.43/16;130.84.1.1/16 --activity_report_interval=60'

        client_config = ClientConfiguration()
        client_config.update_from_cl(cmdline.split(' '))

        self.assertEquals(8800, client_config.get_port())
        self.assertEquals(33, client_config.get_id())
        self.assertEquals('client_test', client_config.get_directory())
        self.assertEquals('client_st', client_config.get_state_directory())
        self.assertEquals('client33.log', client_config.get_logfile())
        self.assertEquals(constants.PS_MODE_ENABLE,
                          client_config.get_peer_selection_mode())
        self.assertEquals(constants.RS_GEOIP,
                          client_config.get_ranking_source())
        self.assertEquals(constants.NS_MODE_ENABLE,
                          client_config.get_ns_mode())
        self.assertEquals('http://localhost:8080/sis',
                          client_config.get_sis_url())
        self.assertEquals('http://localhost:8080/sis/ClientEndpoint',
                          client_config.get_sis_client_endpoint())
        self.assertEquals(768, client_config.get_upload_limit())
        self.assertEquals(768, client_config.get_download_limit())
        self.assertEquals('startrek.torrent',
                          client_config.get_single_torrent())
        self.assertEquals('http://localhost:3333',
                          client_config.get_report_to())
        self.assertEquals(constants.EXIT_ON_SEEDING_TIME,
                          client_config.get_exit_on())
        self.assertEquals(150, client_config.get_seeding_time())
        self.assertEquals(60, client_config.get_activity_report_interval())
        self.assertEquals(['130.83.78.43/16', '130.84.1.1/16'],
                          client_config.get_ip_prefixes())
Esempio n. 3
0
        d = self._session.start_download(tdef, dscfg)
        d.set_state_callback(self._handlers.state_callback, getpeerlist=True)

    def _on_exit(self, signal=None, func=None):
        if self._local_reporter is not None:
            self._local_reporter.write_stats()
        # stop all active downloads
        for download in self._session.get_downloads():
            download.stop()
        # shutting down session
        self._session.shutdown(checkpoint=False, gracetime=2.0)
        # call the provided method (cleanup purposes)
        self._cleanup(signal, func)
        os._exit(0)


#___________________________________________________________________________________________________
# MAIN

if __name__ == "__main__":
    logging.config.fileConfig("config/log_client.conf")
    client_config = ClientConfiguration()
    client_config.update_from_cl(sys.argv[1:])

    if client_config.get_logfile() is not None:
        print >> sys.stderr, "Using logfile: %s" % client_config.get_logfile()
        common_utils.setup_client_file_logger(client_config.get_logfile())

    client = Client(client_config)
    client.start_client()
Esempio n. 4
0
            self._logger.warn("RUN in file sharing mode")
            
        d = self._session.start_download(tdef, dscfg)
        d.set_state_callback(self._handlers.state_callback, getpeerlist=True)
      
    def _on_exit(self, signal=None, func=None):
        if self._local_reporter is not None:
            self._local_reporter.write_stats()
        # stop all active downloads
        for download in self._session.get_downloads():
            download.stop()
        # shutting down session
        self._session.shutdown(checkpoint=False, gracetime=2.0)
        # call the provided method (cleanup purposes)
        self._cleanup(signal, func)
        os._exit(0)
    
#___________________________________________________________________________________________________
# MAIN
    
if __name__ == "__main__":
    logging.config.fileConfig("config/log_client.conf")
    client_config = ClientConfiguration()
    client_config.update_from_cl(sys.argv[1:])
    
    if client_config.get_logfile() is not None:
        print >>sys.stderr, "Using logfile: %s" % client_config.get_logfile()
        common_utils.setup_client_file_logger(client_config.get_logfile())
    
    client = Client(client_config)
    client.start_client()
    def test_client_config_from_static_with_cl_update(self):
        cwd = os.path.dirname(os.path.realpath(__file__))
        static_conf_file = os.path.join(cwd, "test_client_static.conf")
        if not os.access(static_conf_file, os.F_OK):
            self.fail("Unable to locate test_cache_static.conf")        

        cmdline = '--config=%s' % static_conf_file
        
        client_config = ClientConfiguration()
        client_config.update_from_cl(cmdline.split(' '))
        
        self.assertEquals(constants.NS_MODE_ENABLE, client_config.get_ns_mode())
        self.assertEquals(0.8, client_config.get_locality_preference())
        self.assertEquals(constants.PS_MODE_ENABLE, client_config.get_peer_selection_mode())
        self.assertEquals(5, client_config.get_rating_cache_interval())
        self.assertEquals(316, client_config.get_download_limit())
        self.assertEquals(316, client_config.get_upload_limit())
        self.assertEquals(7, client_config.get_max_upload_slots_per_download())
        self.assertEquals(simpledefs.DLMODE_VOD, client_config.get_download_mode())
        self.assertEquals(10, client_config.get_connection_limit())
        self.assertEquals('torrents/startrek.torrent', client_config.get_single_torrent())
        self.assertEquals('xml', client_config.get_serialization_method())
        self.assertEquals(False, client_config.get_compress_xml_reports())
        self.assertEquals(1.0, client_config.get_report_interval())
        self.assertEquals(1234567, client_config.get_id())
 def test_client_config_from_cl(self):
     cmdline = '--port=8800 --id=33 --directory=client_test --temporary_state_directory=client_st ' + \
               '--logfile=client33.log --peer_selection_mode=enable --ranking_source=geoip ' + \
               '--neighbour_selection_mode=enable --sis_url=http://localhost:8080/sis ' + \
               '--upload=768 --download=768 --single_torrent=startrek.torrent ' + \
               '--report_to=http://localhost:3333 --loglevel=ERROR -e seeding 150 ' + \
               '--I=130.83.78.43/16;130.84.1.1/16 --activity_report_interval=60'
     
     client_config = ClientConfiguration()
     client_config.update_from_cl(cmdline.split(' '))
     
     self.assertEquals(8800, client_config.get_port())
     self.assertEquals(33, client_config.get_id())
     self.assertEquals('client_test', client_config.get_directory())
     self.assertEquals('client_st', client_config.get_state_directory())
     self.assertEquals('client33.log', client_config.get_logfile())
     self.assertEquals(constants.PS_MODE_ENABLE, client_config.get_peer_selection_mode())
     self.assertEquals(constants.RS_GEOIP, client_config.get_ranking_source())
     self.assertEquals(constants.NS_MODE_ENABLE, client_config.get_ns_mode())
     self.assertEquals('http://localhost:8080/sis', client_config.get_sis_url())
     self.assertEquals('http://localhost:8080/sis/ClientEndpoint', client_config.get_sis_client_endpoint())
     self.assertEquals(768, client_config.get_upload_limit())
     self.assertEquals(768, client_config.get_download_limit())
     self.assertEquals('startrek.torrent', client_config.get_single_torrent())
     self.assertEquals('http://localhost:3333', client_config.get_report_to())
     self.assertEquals(constants.EXIT_ON_SEEDING_TIME, client_config.get_exit_on())
     self.assertEquals(150, client_config.get_seeding_time())
     self.assertEquals(60, client_config.get_activity_report_interval())
     self.assertEquals(['130.83.78.43/16','130.84.1.1/16'], client_config.get_ip_prefixes())