def _set(self, request): site_mgmt = watolib.SiteManagementFactory().factory() all_sites = site_mgmt.load_sites() existing_site = all_sites.get(request["site_id"]) if existing_site and "configuration_hash" in request: validate_config_hash(request["configuration_hash"], existing_site) site_mgmt.validate_configuration(request["site_id"], request["site_config"], all_sites) sites = config.migrate_old_site_config( {request["site_id"]: request["site_config"]}) all_sites.update(sites) site_mgmt.save_sites(all_sites)
def load_sites(cls): if not os.path.exists(cls._sites_mk()): return config.default_single_site_configuration() config_vars = {"sites": {}} exec(open(cls._sites_mk()).read(), config_vars, config_vars) if not config_vars["sites"]: return config.default_single_site_configuration() sites = config.migrate_old_site_config(config_vars["sites"]) for site in sites.itervalues(): if site["proxy"] is not None: site["proxy"] = cls.transform_old_connection_params( site["proxy"]) return sites
def test_migrate_old_site_config(site, result): assert config.migrate_old_site_config({"mysite": site}) == { "mysite": result }