コード例 #1
0
ファイル: facade.py プロジェクト: syncloud-old/insider
def get_insider(bin_path=default_bin_path, config_path=default_config_path, logs_path=default_logs_path, use_upnpc_mock=False):

    script_path = os.path.join(bin_path, 'insider')
    insider_config_path = os.path.join(config_path, 'insider.cfg')
    cron_log_path = os.path.join(logs_path, 'insider-cron.log')

    insider_config = InsiderConfig(insider_config_path)

    domain_config_path = os.path.join(config_path, 'domain.json')
    services_config_path = os.path.join(config_path, 'services.json')
    port_config_path = os.path.join(config_path, 'ports.json')

    local_ip = Facade().local_ip()

    port_config = PortConfig(port_config_path)

    if use_upnpc_mock or insider_config.is_upnpc_mock():
        upnpclient = upnpc_mock.Upnpc()
    else:
        upnpclient = upnpc.Upnpc(local_ip)

    mapper = port_mapper.PortMapper(port_config, upnpclient)
    domain_config = config.DomainConfig(domain_config_path)
    service_config = ServiceConfig(services_config_path)

    dns_service = dns.Dns(
        insider_config,
        domain_config,
        service_config,
        mapper,
        local_ip)

    cron_service = cron.Cron(script_path, cron_log_path, insider_config.get_cron_period_mins())

    return Insider(mapper, dns_service, cron_service, insider_config, service_config)
コード例 #2
0
    def test_domain(self):
        filename = temp_file(insider_config)
        config = InsiderConfig(filename)

        config.update('syncloud.it', 'http://api.syncloud.it')
        self.assertEquals('syncloud.it', config.get_redirect_main_domain())
        self.assertEquals('http://api.syncloud.it', config.get_redirect_api_url())

        config.update('syncloud.info', 'http://api.syncloud.info:81')
        self.assertEquals('syncloud.info', config.get_redirect_main_domain())
        self.assertEquals('http://api.syncloud.info:81', config.get_redirect_api_url())
コード例 #3
0
ファイル: helpers.py プロジェクト: syncloud-old/insider
def get_insider_config(domain, api_url):
    filename = temp_file(insider_config)
    config = InsiderConfig(filename)
    config.update(domain, api_url)
    return config