]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/steps/steps_osm_data.py
initial flex import scripts
[nominatim.git] / test / bdd / steps / steps_osm_data.py
index a48d9cd6d82e0938fff46aaeff8b41d047a69b60..0082bd081e3056445ea3dd6383fb3db4cea9611c 100644 (file)
@@ -11,11 +11,14 @@ from pathlib import Path
 
 from nominatim.tools.exec_utils import run_osm2pgsql
 
 
 from nominatim.tools.exec_utils import run_osm2pgsql
 
+from geometry_alias import ALIASES
+
 def get_osm2pgsql_options(nominatim_env, fname, append):
     return dict(import_file=fname,
                 osm2pgsql=str(nominatim_env.build_dir / 'osm2pgsql' / 'osm2pgsql'),
                 osm2pgsql_cache=50,
 def get_osm2pgsql_options(nominatim_env, fname, append):
     return dict(import_file=fname,
                 osm2pgsql=str(nominatim_env.build_dir / 'osm2pgsql' / 'osm2pgsql'),
                 osm2pgsql_cache=50,
-                osm2pgsql_style=str(nominatim_env.src_dir / 'settings' / 'import-extratags.style'),
+                osm2pgsql_style=str(nominatim_env.get_test_config().get_import_style_file()),
+                osm2pgsql_style_path=nominatim_env.get_test_config().config_dir,
                 threads=1,
                 dsn=nominatim_env.get_libpq_dsn(),
                 flatnode_file='',
                 threads=1,
                 dsn=nominatim_env.get_libpq_dsn(),
                 flatnode_file='',
@@ -45,12 +48,8 @@ def write_opl_file(opl, grid):
 
         return fd.name
 
 
         return fd.name
 
-@given(u'the scene (?P<scene>.+)')
-def set_default_scene(context, scene):
-    context.scene = scene
-
-@given(u'the ([0-9.]+ )?grid')
-def define_node_grid(context, grid_step):
+@given(u'the ([0-9.]+ )?grid(?: with origin (?P<origin>.*))?')
+def define_node_grid(context, grid_step, origin):
     """
     Define a grid of node positions.
     Use a table to define the grid. The nodes must be integer ids. Optionally
     """
     Define a grid of node positions.
     Use a table to define the grid. The nodes must be integer ids. Optionally
@@ -61,8 +60,22 @@ def define_node_grid(context, grid_step):
     else:
         grid_step = 0.00001
 
     else:
         grid_step = 0.00001
 
+    if origin:
+        if ',' in origin:
+            # TODO coordinate
+            coords = origin.split(',')
+            if len(coords) != 2:
+                raise RuntimeError('Grid origin expects orgin with x,y coordinates.')
+            origin = (float(coords[0]), float(coords[1]))
+        elif origin in ALIASES:
+            origin = ALIASES[origin]
+        else:
+            raise RuntimeError('Grid origin must be either coordinate or alias.')
+    else:
+        origin = (0.0, 0.0)
+
     context.osm.set_grid([context.table.headings] + [list(h) for h in context.table],
     context.osm.set_grid([context.table.headings] + [list(h) for h in context.table],
-                         grid_step)
+                         grid_step, origin)
 
 
 @when(u'loading osm data')
 
 
 @when(u'loading osm data')