Ejemplo n.º 1
0
def run_gen_tool_with_recovery_country(env: Env, *args, **kwargs):
    if "data_path" not in kwargs or "output" not in kwargs:
        logger.warning("The call run_gen_tool() will be without recovery.")
        run_gen_tool(*args, **kwargs)

    prev_data_path = kwargs["data_path"]
    mwm = f"{kwargs['output']}.mwm"
    osm2ft = f"{mwm}.osm2ft"
    kwargs["data_path"] = env.paths.draft_path
    symlink_force(os.path.join(prev_data_path, osm2ft),
                  os.path.join(env.paths.draft_path, osm2ft))
    shutil.copy(os.path.join(prev_data_path, mwm),
                os.path.join(env.paths.draft_path, mwm))
    run_gen_tool(*args, **kwargs)
    shutil.move(os.path.join(env.paths.draft_path, mwm),
                os.path.join(prev_data_path, mwm))
    kwargs["data_path"] = prev_data_path
Ejemplo n.º 2
0
    def setup_borders(self):
        temp_borders = self.paths.generation_borders_path
        # It is needed in case of rebuilding several mwms.
        for filename in os.listdir(temp_borders):
            file_path = os.path.join(temp_borders, filename)
            if os.path.isfile(file_path) or os.path.islink(file_path):
                os.unlink(file_path)
            elif os.path.isdir(file_path):
                shutil.rmtree(file_path)

        borders = PathProvider.borders_path()
        for x in self.countries:
            if x in WORLDS_NAMES:
                continue

            poly = f"{x}.poly"
            os.symlink(os.path.join(borders, poly), os.path.join(temp_borders, poly))
        symlink_force(temp_borders, os.path.join(self.paths.draft_path, "borders"))