mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-10 03:54:06 +00:00
use yaml config loader for country info
This commit is contained in:
@@ -55,7 +55,7 @@ class SetupAll:
|
|||||||
from ..tools import database_import, refresh, postcodes, freeze, country_info
|
from ..tools import database_import, refresh, postcodes, freeze, country_info
|
||||||
from ..indexer.indexer import Indexer
|
from ..indexer.indexer import Indexer
|
||||||
|
|
||||||
country_info.setup_country_config(args.config.config_dir / 'country_settings.yaml')
|
country_info.setup_country_config(args.config)
|
||||||
|
|
||||||
if args.continue_at is None:
|
if args.continue_at is None:
|
||||||
files = args.get_osm_file_list()
|
files = args.get_osm_file_list()
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ class Configuration:
|
|||||||
|
|
||||||
search_paths = [self.project_dir, self.config_dir]
|
search_paths = [self.project_dir, self.config_dir]
|
||||||
for path in search_paths:
|
for path in search_paths:
|
||||||
if (path / filename).is_file():
|
if path is not None and (path / filename).is_file():
|
||||||
return path / filename
|
return path / filename
|
||||||
|
|
||||||
LOG.fatal("Configuration file '%s' not found.\nDirectories searched: %s",
|
LOG.fatal("Configuration file '%s' not found.\nDirectories searched: %s",
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
Functions for importing and managing static country information.
|
Functions for importing and managing static country information.
|
||||||
"""
|
"""
|
||||||
import psycopg2.extras
|
import psycopg2.extras
|
||||||
import yaml
|
|
||||||
|
|
||||||
from nominatim.db import utils as db_utils
|
from nominatim.db import utils as db_utils
|
||||||
from nominatim.db.connection import connect
|
from nominatim.db.connection import connect
|
||||||
@@ -14,12 +13,12 @@ class _CountryInfo:
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._info = {}
|
self._info = {}
|
||||||
|
|
||||||
def load(self, configfile):
|
def load(self, config):
|
||||||
""" Load the country properties from the configuration files,
|
""" Load the country properties from the configuration files,
|
||||||
if they are not loaded yet.
|
if they are not loaded yet.
|
||||||
"""
|
"""
|
||||||
if not self._info:
|
if not self._info:
|
||||||
self._info = yaml.safe_load(configfile.read_text(encoding='utf-8'))
|
self._info = config.load_sub_configuration('country_settings.yaml')
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
""" Return tuples of (country_code, property dict) as iterable.
|
""" Return tuples of (country_code, property dict) as iterable.
|
||||||
@@ -29,12 +28,12 @@ class _CountryInfo:
|
|||||||
|
|
||||||
_COUNTRY_INFO = _CountryInfo()
|
_COUNTRY_INFO = _CountryInfo()
|
||||||
|
|
||||||
def setup_country_config(configfile):
|
def setup_country_config(config):
|
||||||
""" Load country properties from the configuration file.
|
""" Load country properties from the configuration file.
|
||||||
Needs to be called before using any other functions in this
|
Needs to be called before using any other functions in this
|
||||||
file.
|
file.
|
||||||
"""
|
"""
|
||||||
_COUNTRY_INFO.load(configfile)
|
_COUNTRY_INFO.load(config)
|
||||||
|
|
||||||
|
|
||||||
def setup_country_tables(dsn, sql_dir, ignore_partitions=False):
|
def setup_country_tables(dsn, sql_dir, ignore_partitions=False):
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from nominatim.tools import country_info
|
|||||||
|
|
||||||
@pytest.fixture(autouse=True)
|
@pytest.fixture(autouse=True)
|
||||||
def read_config(def_config):
|
def read_config(def_config):
|
||||||
country_info.setup_country_config(def_config.config_dir / 'country_settings.yaml')
|
country_info.setup_country_config(def_config)
|
||||||
|
|
||||||
@pytest.mark.parametrize("no_partitions", (True, False))
|
@pytest.mark.parametrize("no_partitions", (True, False))
|
||||||
def test_setup_country_tables(src_dir, temp_db_with_extensions, dsn, temp_db_cursor,
|
def test_setup_country_tables(src_dir, temp_db_with_extensions, dsn, temp_db_cursor,
|
||||||
|
|||||||
Reference in New Issue
Block a user