Beispiel #1
0
    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)
Beispiel #2
0
    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
Beispiel #3
0
def test_migrate_old_site_config(site, result):
    assert config.migrate_old_site_config({"mysite": site}) == {
        "mysite": result
    }