def inject_promo_ids(): parser = argparse.ArgumentParser( description="Injects promo cities osm ids into countries.txt") parser.add_argument("--mwm", required=True, help="path to mwm files") parser.add_argument("--types", required=True, help="path to omim/data/types.txt") parser.add_argument("--promo_cities", required=True, help="Path to promo cities file") parser.add_argument("--promo_countries", required=True, help="Path to promo countries file") parser.add_argument( "--osm2ft", help="path to osm2ft files (default is the same as mwm)") parser.add_argument( "--countries", help= "path to countries.txt file (default is countries.txt file into mwm directory)", ) parser.add_argument( "--output", help= "Output countries.txt file (default is countries.txt file into mwm directory)", ) args = parser.parse_args(sys.argv[2:]) if not args.osm2ft: args.osm2ft = args.mwm if not args.countries: args.countries = os.path.join(args.mwm, "countries.txt") if not args.output: args.output = os.path.join(args.mwm, "countries.txt") with open(args.countries) as f: countries = json.load(f) inject_promo_ids( countries, args.promo_cities, args.promo_countries, args.mwm, args.types, args.osm2ft, ) with open(args.output, "w") as f: json.dump(countries, f, indent=1)
def stage_countries_txt(env): countries = hierarchy_to_countries(env.old_to_new_path, env.borders_to_osm_path, env.countries_synonyms_path, env.hierarchy_path, env.mwm_path, env.mwm_version) if env.is_accepted_stage(stage_download_production_external): countries_json = json.loads(countries) inject_promo_ids(countries_json, env.promo_catalog_cities_path, env.promo_catalog_countries_path, env.mwm_path, env.types_path, env.mwm_path) countries = json.dumps(countries_json, ensure_ascii=True, indent=1) with open(env.counties_txt_path, "w") as f: f.write(countries)
def apply(self, env: Env): countries = hierarchy_to_countries( env.paths.old_to_new_path, env.paths.borders_to_osm_path, env.paths.countries_synonyms_path, env.paths.hierarchy_path, env.paths.mwm_path, env.paths.mwm_version, ) if env.production: inject_promo_ids( countries, env.paths.promo_catalog_cities_path, env.paths.promo_catalog_countries_path, env.paths.mwm_path, env.paths.types_path, env.paths.mwm_path, ) with open(env.paths.counties_txt_path, "w") as f: json.dump(countries, f, ensure_ascii=True, indent=1)
def apply(self, env: Env): countries = hierarchy_to_countries( env.paths.old_to_new_path, env.paths.borders_to_osm_path, env.paths.countries_synonyms_path, env.paths.hierarchy_path, env.paths.mwm_path, env.paths.mwm_version, ) if is_skipped(env, StageDownloadProductionExternal): countries_json = json.loads(countries) inject_promo_ids( countries_json, env.paths.promo_catalog_cities_path, env.paths.promo_catalog_countries_path, env.paths.mwm_path, env.paths.types_path, env.paths.mwm_path, ) countries = json.dumps(countries_json, ensure_ascii=True, indent=1) with open(env.paths.counties_txt_path, "w") as f: f.write(countries)