X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/d32a7c18881a3dcbafbe3544187c6636a966ded0..fa2aca1cbc27a610b13372bed39bcbf349d71805:/nominatim/tools/country_info.py diff --git a/nominatim/tools/country_info.py b/nominatim/tools/country_info.py index 68222029..2457e01b 100644 --- a/nominatim/tools/country_info.py +++ b/nominatim/tools/country_info.py @@ -66,6 +66,9 @@ def setup_country_tables(dsn, sql_dir, ignore_partitions=False): """ db_utils.execute_file(dsn, sql_dir / 'country_osm_grid.sql.gz') + def add_prefix_to_keys(name, prefix): + return {prefix+k: v for k, v in name.items()} + params, country_names_data = [], '' for ccode, props in _COUNTRY_INFO.items(): if ccode is not None and props is not None: @@ -76,10 +79,9 @@ def setup_country_tables(dsn, sql_dir, ignore_partitions=False): lang = props['languages'][0] if len(props['languages']) == 1 else None params.append((ccode, partition, lang)) - name = json.dumps(props.get('names').get('name'), ensure_ascii=False, - separators=(', ', '=>')) + name = add_prefix_to_keys(props.get('names').get('name'), 'name:') + name = json.dumps(name , ensure_ascii=False, separators=(', ', '=>')) country_names_data += ccode + '\t' + name[1:-1] + '\n' - with connect(dsn) as conn: with conn.cursor() as cur: cur.execute( @@ -110,8 +112,8 @@ def create_country_names(conn, tokenizer, languages=None): languages = languages.split(',') def _include_key(key): - return key == 'default' or \ - (not languages or key in languages) + return key.startswith('name:') and \ + key[5:] in languages or key[5:] == 'default' with conn.cursor() as cur: psycopg2.extras.register_hstore(cur)