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
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"))