X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/bb2bd76f91ed6e4b1530a7fb66553c7fd92afd9d..8a0e3e2f3d9bce87725a6e08dcc90a072a17995c:/nominatim/tools/special_phrases/sp_importer.py?ds=inline diff --git a/nominatim/tools/special_phrases/sp_importer.py b/nominatim/tools/special_phrases/sp_importer.py index 9eefaa19..31bbc355 100644 --- a/nominatim/tools/special_phrases/sp_importer.py +++ b/nominatim/tools/special_phrases/sp_importer.py @@ -62,11 +62,10 @@ class SPImporter(): # Store pairs of class/type for further processing class_type_pairs = set() - for loaded_phrases in self.sp_loader: - for phrase in loaded_phrases: - result = self._process_phrase(phrase) - if result: - class_type_pairs.add(result) + for phrase in self.sp_loader.generate_phrases(): + result = self._process_phrase(phrase) + if result: + class_type_pairs.add(result) self._create_place_classtype_table_and_indexes(class_type_pairs) if should_replace: @@ -191,17 +190,18 @@ class SPImporter(): def _create_place_classtype_table(self, sql_tablespace, phrase_class, phrase_type): """ - Create table place_classtype of the given phrase_class/phrase_type if doesn't exit. + Create table place_classtype of the given phrase_class/phrase_type + if doesn't exit. """ table_name = _classtype_table(phrase_class, phrase_type) - with self.db_connection.cursor() as db_cursor: - db_cursor.execute(SQL("""CREATE TABLE IF NOT EXISTS {} {} AS - SELECT place_id AS place_id, - st_centroid(geometry) AS centroid - FROM placex - WHERE class = %s AND type = %s""") - .format(Identifier(table_name), SQL(sql_tablespace)), - (phrase_class, phrase_type)) + with self.db_connection.cursor() as cur: + cur.execute(SQL("""CREATE TABLE IF NOT EXISTS {} {} AS + SELECT place_id AS place_id, + st_centroid(geometry) AS centroid + FROM placex + WHERE class = %s AND type = %s + """).format(Identifier(table_name), SQL(sql_tablespace)), + (phrase_class, phrase_type)) def _create_place_classtype_indexes(self, sql_tablespace, phrase_class, phrase_type): @@ -214,9 +214,9 @@ class SPImporter(): if not self.db_connection.index_exists(index_prefix + 'centroid'): with self.db_connection.cursor() as db_cursor: db_cursor.execute(SQL("CREATE INDEX {} ON {} USING GIST (centroid) {}") - .format(Identifier(index_prefix + 'centroid'), - Identifier(base_table), - SQL(sql_tablespace))) + .format(Identifier(index_prefix + 'centroid'), + Identifier(base_table), + SQL(sql_tablespace))) # Index on place_id if not self.db_connection.index_exists(index_prefix + 'place_id'):