X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/bb175cc95898de420781867973b38d033c187e81..953064191f8c7f08f29aad41db94bf36863229e9:/test/python/mock_icu_word_table.py diff --git a/test/python/mock_icu_word_table.py b/test/python/mock_icu_word_table.py index 35a99b83..08fd60a2 100644 --- a/test/python/mock_icu_word_table.py +++ b/test/python/mock_icu_word_table.py @@ -1,3 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# This file is part of Nominatim. (https://nominatim.org) +# +# Copyright (C) 2022 by the Nominatim developer community. +# For a full list of authors see the git log. """ Legacy word table for testing with functions to prefil and test contents of the table. @@ -52,6 +58,24 @@ class MockIcuWordTable: self.conn.commit() + def add_housenumber(self, word_id, word_tokens, word=None): + with self.conn.cursor() as cur: + if isinstance(word_tokens, str): + # old style without analyser + cur.execute("""INSERT INTO word (word_id, word_token, type) + VALUES (%s, %s, 'H') + """, (word_id, word_tokens)) + else: + if word is None: + word = word_tokens[0] + for token in word_tokens: + cur.execute("""INSERT INTO word (word_id, word_token, type, word, info) + VALUES (%s, %s, 'H', %s, jsonb_build_object('lookup', %s)) + """, (word_id, token, word, word_tokens[0])) + + self.conn.commit() + + def count(self): with self.conn.cursor() as cur: return cur.scalar("SELECT count(*) FROM word") @@ -62,6 +86,11 @@ class MockIcuWordTable: return cur.scalar("SELECT count(*) FROM word WHERE type = 'S'") + def count_housenumbers(self): + with self.conn.cursor() as cur: + return cur.scalar("SELECT count(*) FROM word WHERE type = 'H'") + + def get_special(self): with self.conn.cursor() as cur: cur.execute("SELECT word_token, info, word FROM word WHERE type = 'S'")