def step_features(env: Env, **kwargs): if env.production: kwargs.update({"add_ads": True}) if any(x not in WORLDS_NAMES for x in env.countries): kwargs.update({"generate_packed_borders": True}) if any(x == WORLD_NAME for x in env.countries): kwargs.update({"generate_world": True}) if len(env.countries) == len( get_all_countries_list(PathProvider.borders_path())): kwargs.update({"have_borders_for_whole_world": True}) run_gen_tool( env.gen_tool, out=env.get_subprocess_out(), err=env.get_subprocess_out(), data_path=env.paths.data_path, intermediate_data_path=env.paths.intermediate_data_path, cache_path=env.paths.cache_path, osm_file_type="o5m", osm_file_name=env.paths.planet_o5m, node_storage=env.node_storage, user_resource_path=env.paths.user_resource_path, dump_cities_boundaries=True, cities_boundaries_data=env.paths.cities_boundaries_path, generate_features=True, threads_count=settings.THREADS_COUNT_FEATURES_STAGE, **kwargs, )
def make_coastline(env: Env): coastline_o5m = os.path.join(env.paths.coastline_path, "coastline.o5m") filter_coastline( env[settings.OSM_TOOL_FILTER], env.paths.planet_o5m, coastline_o5m, output=env.get_subprocess_out(), error=env.get_subprocess_out(), ) run_gen_tool( env.gen_tool, out=env.get_subprocess_out(), err=env.get_subprocess_out(), intermediate_data_path=env.paths.coastline_path, osm_file_type="o5m", osm_file_name=coastline_o5m, node_storage=env.node_storage, user_resource_path=env.paths.user_resource_path, preprocess=True, ) run_gen_tool( env.gen_tool, out=env.get_subprocess_out(), err=env.get_subprocess_out(), intermediate_data_path=env.paths.coastline_path, osm_file_type="o5m", osm_file_name=coastline_o5m, node_storage=env.node_storage, user_resource_path=env.paths.user_resource_path, make_coasts=True, fail_on_coasts=True, threads_count=settings.THREADS_COUNT, )
def step_preprocess(env: Env, **kwargs): run_gen_tool( env.gen_tool, out=env.get_subprocess_out(), err=env.get_subprocess_out(), intermediate_data_path=env.paths.intermediate_data_path, osm_file_type="o5m", osm_file_name=env.paths.planet_o5m, node_storage=env.node_storage, user_resource_path=env.paths.user_resource_path, preprocess=True, **kwargs, )
def _generate_common_index(env: Env, country: AnyStr, **kwargs): run_gen_tool( env.gen_tool, out=env.get_subprocess_out(country), err=env.get_subprocess_out(country), data_path=env.paths.mwm_path, intermediate_data_path=env.paths.intermediate_data_path, user_resource_path=env.paths.user_resource_path, node_storage=env.node_storage, planet_version=env.planet_version, generate_geometry=True, generate_index=True, output=country, **kwargs, )
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 make_symlink(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 apply(self, env: Env): run_gen_tool( env.gen_tool, out=env.get_subprocess_out(), err=env.get_subprocess_out(), intermediate_data_path=env.paths.intermediate_data_path, user_resource_path=env.paths.user_resource_path, dump_wikipedia_urls=env.paths.wiki_url_path, idToWikidata=env.paths.id_to_wikidata_path, ) langs = ("en", "ru", "es", "fr", "de") checker = check_and_get_checker(env.paths.popularity_path) download_from_wikipedia_tags(env.paths.wiki_url_path, env.paths.descriptions_path, langs, checker) download_from_wikidata_tags(env.paths.id_to_wikidata_path, env.paths.descriptions_path, langs, checker)