def add_data(self, table, data):
""" Insert data into the given table.
"""
sql = getattr(self.api._async_api._tables, table).insert()
self.async_to_sync(self.exec_async(sql, data))
def add_data(self, table, data):
""" Insert data into the given table.
"""
sql = getattr(self.api._async_api._tables, table).insert()
self.async_to_sync(self.exec_async(sql, data))
- {'place_id': kw.get('place_id', 1000),
- 'osm_type': kw.get('osm_type', 'W'),
- 'osm_id': kw.get('osm_id', 4),
- 'class_': kw.get('class_', 'highway'),
- 'type': kw.get('type', 'residential'),
- 'name': name,
- 'address': kw.get('address'),
- 'extratags': kw.get('extratags'),
- 'parent_place_id': kw.get('parent_place_id'),
- 'linked_place_id': kw.get('linked_place_id'),
- 'admin_level': kw.get('admin_level', 15),
- 'country_code': kw.get('country_code'),
- 'housenumber': kw.get('housenumber'),
- 'postcode': kw.get('postcode'),
- 'wikipedia': kw.get('wikipedia'),
- 'rank_search': kw.get('rank_search', 30),
- 'rank_address': kw.get('rank_address', 30),
- 'importance': kw.get('importance'),
- 'centroid': 'POINT(%f %f)' % centroid,
- 'indexed_status': kw.get('indexed_status', 0),
- 'indexed_date': kw.get('indexed_date',
- dt.datetime(2022, 12, 7, 14, 14, 46, 0)),
- 'geometry': geometry})
-
+ {'place_id': kw.get('place_id', 1000),
+ 'osm_type': kw.get('osm_type', 'W'),
+ 'osm_id': kw.get('osm_id', 4),
+ 'class_': kw.get('class_', 'highway'),
+ 'type': kw.get('type', 'residential'),
+ 'name': name,
+ 'address': kw.get('address'),
+ 'extratags': kw.get('extratags'),
+ 'parent_place_id': kw.get('parent_place_id'),
+ 'linked_place_id': kw.get('linked_place_id'),
+ 'admin_level': kw.get('admin_level', 15),
+ 'country_code': kw.get('country_code'),
+ 'housenumber': kw.get('housenumber'),
+ 'postcode': kw.get('postcode'),
+ 'wikipedia': kw.get('wikipedia'),
+ 'rank_search': kw.get('rank_search', 30),
+ 'rank_address': kw.get('rank_address', 30),
+ 'importance': kw.get('importance'),
+ 'centroid': 'POINT(%f %f)' % centroid,
+ 'indexed_status': kw.get('indexed_status', 0),
+ 'indexed_date': kw.get('indexed_date',
+ dt.datetime(2022, 12, 7, 14, 14, 46, 0)),
+ 'geometry': geometry})
- {'place_id': kw.get('place_id', 10000),
- 'osm_id': kw.get('osm_id', 4004),
- 'parent_place_id': kw.get('parent_place_id'),
- 'indexed_date': kw.get('indexed_date',
- dt.datetime(2022, 12, 7, 14, 14, 46, 0)),
- 'startnumber': kw.get('startnumber', 2),
- 'endnumber': kw.get('endnumber', 6),
- 'step': kw.get('step', 2),
- 'address': kw.get('address'),
- 'postcode': kw.get('postcode'),
- 'country_code': kw.get('country_code'),
- 'linegeo': kw.get('geometry', 'LINESTRING(1.1 -0.2, 1.09 -0.22)')})
-
+ {'place_id': kw.get('place_id', 10000),
+ 'osm_id': kw.get('osm_id', 4004),
+ 'parent_place_id': kw.get('parent_place_id'),
+ 'indexed_date': kw.get('indexed_date',
+ dt.datetime(2022, 12, 7, 14, 14, 46, 0)),
+ 'startnumber': kw.get('startnumber', 2),
+ 'endnumber': kw.get('endnumber', 6),
+ 'step': kw.get('step', 2),
+ 'address': kw.get('address'),
+ 'postcode': kw.get('postcode'),
+ 'country_code': kw.get('country_code'),
+ 'linegeo': kw.get('geometry', 'LINESTRING(1.1 -0.2, 1.09 -0.22)')})
- {'place_id': kw.get('place_id', 30000),
- 'parent_place_id': kw.get('parent_place_id'),
- 'startnumber': kw.get('startnumber', 2),
- 'endnumber': kw.get('endnumber', 6),
- 'step': kw.get('step', 2),
- 'postcode': kw.get('postcode'),
- 'linegeo': kw.get('geometry', 'LINESTRING(1.1 -0.2, 1.09 -0.22)')})
-
+ {'place_id': kw.get('place_id', 30000),
+ 'parent_place_id': kw.get('parent_place_id'),
+ 'startnumber': kw.get('startnumber', 2),
+ 'endnumber': kw.get('endnumber', 6),
+ 'step': kw.get('step', 2),
+ 'postcode': kw.get('postcode'),
+ 'linegeo': kw.get('geometry', 'LINESTRING(1.1 -0.2, 1.09 -0.22)')})
- {'place_id': kw.get('place_id', 1000),
- 'parent_place_id': kw.get('parent_place_id'),
- 'country_code': kw.get('country_code'),
- 'postcode': kw.get('postcode'),
- 'rank_search': kw.get('rank_search', 20),
- 'rank_address': kw.get('rank_address', 22),
- 'indexed_date': kw.get('indexed_date',
- dt.datetime(2022, 12, 7, 14, 14, 46, 0)),
- 'geometry': kw.get('geometry', 'POINT(23 34)')})
-
+ {'place_id': kw.get('place_id', 1000),
+ 'parent_place_id': kw.get('parent_place_id'),
+ 'country_code': kw.get('country_code'),
+ 'postcode': kw.get('postcode'),
+ 'rank_search': kw.get('rank_search', 20),
+ 'rank_address': kw.get('rank_address', 22),
+ 'indexed_date': kw.get('indexed_date',
+ dt.datetime(2022, 12, 7, 14, 14, 46, 0)),
+ 'geometry': kw.get('geometry', 'POINT(23 34)')})
+ def add_word_table(self, content):
+ data = [dict(zip(['word_id', 'word_token', 'type', 'word', 'info'], c))
+ for c in content]
+
+ async def _do_sql():
+ async with self.api._async_api.begin() as conn:
+ if 'word' not in conn.t.meta.tables:
+ await make_query_analyzer(conn)
+ word_table = conn.t.meta.tables['word']
+ await conn.connection.run_sync(word_table.create)
+ if data:
+ await conn.execute(conn.t.meta.tables['word'].insert(), data)
+
+ self.async_to_sync(_do_sql())
- event_loop.run_until_complete(convert_sqlite.convert(Path('/invalid'),
- db, options))
- outapi = napi.NominatimAPI(Path('/invalid'),
- {'NOMINATIM_DATABASE_DSN': f"sqlite:dbname={db}",
- 'NOMINATIM_USE_US_TIGER_DATA': 'yes'})
+ apiobj.add_data(
+ 'properties',
+ [{'property': 'tokenizer', 'value': 'icu'},
+ {'property': 'tokenizer_import_normalisation', 'value': ':: lower();'},
+ {'property': 'tokenizer_import_transliteration',
+ 'value': "'1' > '/1/'; 'ä' > 'ä '"}])
+
+ async def _do_sql():
+ async with apiobj.api._async_api.begin() as conn:
+ if 'word' in conn.t.meta.tables:
+ return
+ await make_query_analyzer(conn)
+ word_table = conn.t.meta.tables['word']
+ await conn.connection.run_sync(word_table.create)
+
+ apiobj.async_to_sync(_do_sql())
+
+ event_loop.run_until_complete(convert_sqlite.convert(None, db, options))
+ outapi = napi.NominatimAPI(environ={'NOMINATIM_DATABASE_DSN': f"sqlite:dbname={db}",
+ 'NOMINATIM_USE_US_TIGER_DATA': 'yes'})