mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
refactored tests and made changes to code for easy readibility
This commit is contained in:
@@ -312,32 +312,29 @@ def create_country_names(conn, config):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
with conn.cursor() as cur:
|
with conn.cursor() as cur:
|
||||||
cur.execute("""select
|
cur.execute("""SELECT getorcreate_country(make_standard_name('uk'), 'gb')""")
|
||||||
getorcreate_country(make_standard_name('uk')
|
cur.execute("""SELECT getorcreate_country(make_standard_name('united states'), 'us')""")
|
||||||
, 'gb')""")
|
cur.execute("""SELECT COUNT(*) FROM
|
||||||
cur.execute("""select getorcreate_country(make_standard_name('united states'), 'us')""")
|
(SELECT getorcreate_country(make_standard_name(country_code),
|
||||||
cur.execute("""select count(*) from
|
country_code) FROM country_name WHERE country_code is not null) AS x""")
|
||||||
(select getorcreate_country(make_standard_name(country_code),
|
cur.execute("""SELECT COUNT(*) FROM
|
||||||
country_code) from country_name where country_code is not null) as x""")
|
(SELECT getorcreate_country(make_standard_name(name->'name'), country_code)
|
||||||
cur.execute("""select count(*) from
|
FROM country_name WHERE name ? 'name') AS x""")
|
||||||
(select getorcreate_country(make_standard_name(name->'name'),
|
sql_statement = """SELECT COUNT(*) FROM (SELECT getorcreate_country(make_standard_name(v),
|
||||||
country_code) from country_name where name ? 'name') as x""")
|
country_code) FROM (SELECT country_code, skeys(name)
|
||||||
sql_statement = """select count(*) from (select getorcreate_country(make_standard_name(v)
|
AS k, svals(name) AS v FROM country_name) x WHERE k"""
|
||||||
, country_code) from (select country_code, skeys(name)
|
|
||||||
as k, svals(name) as v from country_name) x where k """
|
|
||||||
|
|
||||||
languages = config.LANGUAGES
|
languages = config.LANGUAGES
|
||||||
|
|
||||||
if languages:
|
if languages:
|
||||||
sql_statement += 'in '
|
sql_statement = "{} IN (".format(sql_statement)
|
||||||
delim = '('
|
delim = ''
|
||||||
for language in languages.split(','):
|
for language in languages.split(','):
|
||||||
sql_statement += delim + "'name:" + language + "'"
|
sql_statement = "{}{}'name:{}'".format(sql_statement,delim,language)
|
||||||
delim = ','
|
delim = ', '
|
||||||
|
sql_statement = '{})'.format(sql_statement)
|
||||||
sql_statement += ')'
|
|
||||||
else:
|
else:
|
||||||
sql_statement += "like 'name:%'"
|
sql_statement = "{} LIKE 'name:%'".format(sql_statement)
|
||||||
sql_statement += ') v'
|
sql_statement = "{}) v".format(sql_statement)
|
||||||
cur.execute(sql_statement)
|
cur.execute(sql_statement)
|
||||||
conn.commit()
|
conn.commit()
|
||||||
|
|||||||
@@ -209,17 +209,23 @@ def test_create_country_names(temp_db_conn, temp_db_cursor, def_config,
|
|||||||
temp_db_cursor.execute("""CREATE FUNCTION make_standard_name (name TEXT)
|
temp_db_cursor.execute("""CREATE FUNCTION make_standard_name (name TEXT)
|
||||||
RETURNS TEXT AS $$ SELECT 'a'::TEXT $$ LANGUAGE SQL
|
RETURNS TEXT AS $$ SELECT 'a'::TEXT $$ LANGUAGE SQL
|
||||||
""")
|
""")
|
||||||
|
temp_db_cursor.execute('CREATE TABLE country_name (country_code varchar(2), name hstore)')
|
||||||
|
temp_db_cursor.execute('CREATE TABLE word (code varchar(2))')
|
||||||
|
temp_db_cursor.execute("""INSERT INTO country_name VALUES ('us',
|
||||||
|
'"name"=>"us","name:af"=>"us"')""")
|
||||||
temp_db_cursor.execute("""CREATE OR REPLACE FUNCTION getorcreate_country(lookup_word TEXT,
|
temp_db_cursor.execute("""CREATE OR REPLACE FUNCTION getorcreate_country(lookup_word TEXT,
|
||||||
lookup_country_code varchar(2))
|
lookup_country_code varchar(2))
|
||||||
RETURNS INTEGER
|
RETURNS INTEGER
|
||||||
AS $$
|
AS $$
|
||||||
BEGIN
|
BEGIN
|
||||||
INSERT INTO country_name VALUES (5, lookup_word);
|
INSERT INTO word VALUES (lookup_country_code);
|
||||||
RETURN 5;
|
RETURN 5;
|
||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
LANGUAGE plpgsql;
|
LANGUAGE plpgsql;
|
||||||
""")
|
""")
|
||||||
temp_db_cursor.execute('CREATE TABLE country_name (id int, country_code varchar(2), name hstore)')
|
|
||||||
database_import.create_country_names(temp_db_conn, def_config)
|
database_import.create_country_names(temp_db_conn, def_config)
|
||||||
assert temp_db_cursor.table_rows('country_name') == 4
|
if languages:
|
||||||
|
assert temp_db_cursor.table_rows('word') == 4
|
||||||
|
else:
|
||||||
|
assert temp_db_cursor.table_rows('word') == 5
|
||||||
|
|||||||
Reference in New Issue
Block a user