From cbbcbb1fd74c118d51dc8a85d4c1d2234587dde7 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Wed, 6 Jul 2022 11:08:36 +0200 Subject: [PATCH] move country_info into data submodule --- nominatim/clicmd/setup.py | 5 +++-- nominatim/{tools => data}/country_info.py | 0 nominatim/data/postcode_format.py | 2 +- nominatim/tokenizer/icu_rule_loader.py | 4 ++-- .../tokenizer/sanitizers/tag_analyzer_by_language.py | 2 +- test/python/cli/test_cmd_import.py | 12 ++++++------ test/python/{tools => data}/test_country_info.py | 2 +- .../tokenizer/sanitizers/test_clean_postcodes.py | 2 +- .../sanitizers/test_tag_analyzer_by_language.py | 2 +- test/python/tools/test_postcodes.py | 3 ++- 10 files changed, 18 insertions(+), 16 deletions(-) rename nominatim/{tools => data}/country_info.py (100%) rename test/python/{tools => data}/test_country_info.py (99%) diff --git a/nominatim/clicmd/setup.py b/nominatim/clicmd/setup.py index f0ec358b..73095468 100644 --- a/nominatim/clicmd/setup.py +++ b/nominatim/clicmd/setup.py @@ -63,8 +63,9 @@ class SetupAll: @staticmethod - def run(args): - from ..tools import database_import, refresh, postcodes, freeze, country_info + def run(args): # pylint: disable=too-many-statements + from ..data import country_info + from ..tools import database_import, refresh, postcodes, freeze from ..indexer.indexer import Indexer country_info.setup_country_config(args.config) diff --git a/nominatim/tools/country_info.py b/nominatim/data/country_info.py similarity index 100% rename from nominatim/tools/country_info.py rename to nominatim/data/country_info.py diff --git a/nominatim/data/postcode_format.py b/nominatim/data/postcode_format.py index 6ae43b7d..366ea505 100644 --- a/nominatim/data/postcode_format.py +++ b/nominatim/data/postcode_format.py @@ -11,7 +11,7 @@ format. import re from nominatim.errors import UsageError -from nominatim.tools import country_info +from nominatim.data import country_info class CountryPostcodeMatcher: """ Matches and formats a postcode according to a format definition diff --git a/nominatim/tokenizer/icu_rule_loader.py b/nominatim/tokenizer/icu_rule_loader.py index 8a564355..035b6698 100644 --- a/nominatim/tokenizer/icu_rule_loader.py +++ b/nominatim/tokenizer/icu_rule_loader.py @@ -17,7 +17,7 @@ from nominatim.db.properties import set_property, get_property from nominatim.errors import UsageError from nominatim.tokenizer.place_sanitizer import PlaceSanitizer from nominatim.tokenizer.icu_token_analysis import ICUTokenAnalysis -import nominatim.tools.country_info +import nominatim.data.country_info LOG = logging.getLogger() @@ -46,7 +46,7 @@ class ICURuleLoader: config='TOKENIZER_CONFIG') # Make sure country information is available to analyzers and sanitizers. - nominatim.tools.country_info.setup_country_config(config) + nominatim.data.country_info.setup_country_config(config) self.normalization_rules = self._cfg_to_icu_rules(rules, 'normalization') self.transliteration_rules = self._cfg_to_icu_rules(rules, 'transliteration') diff --git a/nominatim/tokenizer/sanitizers/tag_analyzer_by_language.py b/nominatim/tokenizer/sanitizers/tag_analyzer_by_language.py index 9a99d127..d3413c1a 100644 --- a/nominatim/tokenizer/sanitizers/tag_analyzer_by_language.py +++ b/nominatim/tokenizer/sanitizers/tag_analyzer_by_language.py @@ -30,7 +30,7 @@ Arguments: any analyzer tagged) is retained. (default: replace) """ -from nominatim.tools import country_info +from nominatim.data import country_info class _AnalyzerByLanguage: """ Processor for tagging the language of names in a place. diff --git a/test/python/cli/test_cmd_import.py b/test/python/cli/test_cmd_import.py index 84c7743a..d545c760 100644 --- a/test/python/cli/test_cmd_import.py +++ b/test/python/cli/test_cmd_import.py @@ -10,7 +10,7 @@ Tests for import command of the command-line interface wrapper. import pytest import nominatim.tools.database_import -import nominatim.tools.country_info +import nominatim.data.country_info import nominatim.tools.refresh import nominatim.tools.postcodes import nominatim.indexer.indexer @@ -37,7 +37,7 @@ class TestCliImportWithDb: def test_import_full(self, mock_func_factory, with_updates, place_table, property_table): mocks = [ mock_func_factory(nominatim.tools.database_import, 'setup_database_skeleton'), - mock_func_factory(nominatim.tools.country_info, 'setup_country_tables'), + mock_func_factory(nominatim.data.country_info, 'setup_country_tables'), mock_func_factory(nominatim.tools.database_import, 'import_osm_data'), mock_func_factory(nominatim.tools.refresh, 'import_wikipedia_articles'), mock_func_factory(nominatim.tools.database_import, 'truncate_data_tables'), @@ -46,7 +46,7 @@ class TestCliImportWithDb: mock_func_factory(nominatim.tools.database_import, 'create_table_triggers'), mock_func_factory(nominatim.tools.database_import, 'create_partition_tables'), mock_func_factory(nominatim.tools.database_import, 'create_search_indices'), - mock_func_factory(nominatim.tools.country_info, 'create_country_names'), + mock_func_factory(nominatim.data.country_info, 'create_country_names'), mock_func_factory(nominatim.tools.refresh, 'load_address_levels_from_config'), mock_func_factory(nominatim.tools.postcodes, 'update_postcodes'), mock_func_factory(nominatim.indexer.indexer.Indexer, 'index_full'), @@ -76,7 +76,7 @@ class TestCliImportWithDb: mock_func_factory(nominatim.tools.database_import, 'truncate_data_tables'), mock_func_factory(nominatim.tools.database_import, 'load_data'), mock_func_factory(nominatim.tools.database_import, 'create_search_indices'), - mock_func_factory(nominatim.tools.country_info, 'create_country_names'), + mock_func_factory(nominatim.data.country_info, 'create_country_names'), mock_func_factory(nominatim.tools.postcodes, 'update_postcodes'), mock_func_factory(nominatim.indexer.indexer.Indexer, 'index_full'), mock_func_factory(nominatim.tools.refresh, 'setup_website'), @@ -94,7 +94,7 @@ class TestCliImportWithDb: temp_db_conn): mocks = [ mock_func_factory(nominatim.tools.database_import, 'create_search_indices'), - mock_func_factory(nominatim.tools.country_info, 'create_country_names'), + mock_func_factory(nominatim.data.country_info, 'create_country_names'), mock_func_factory(nominatim.indexer.indexer.Indexer, 'index_full'), mock_func_factory(nominatim.tools.refresh, 'setup_website'), mock_func_factory(nominatim.db.properties, 'set_property') @@ -115,7 +115,7 @@ class TestCliImportWithDb: def test_import_continue_postprocess(self, mock_func_factory): mocks = [ mock_func_factory(nominatim.tools.database_import, 'create_search_indices'), - mock_func_factory(nominatim.tools.country_info, 'create_country_names'), + mock_func_factory(nominatim.data.country_info, 'create_country_names'), mock_func_factory(nominatim.tools.refresh, 'setup_website'), mock_func_factory(nominatim.db.properties, 'set_property') ] diff --git a/test/python/tools/test_country_info.py b/test/python/data/test_country_info.py similarity index 99% rename from test/python/tools/test_country_info.py rename to test/python/data/test_country_info.py index 3f00d54e..2234f40d 100644 --- a/test/python/tools/test_country_info.py +++ b/test/python/data/test_country_info.py @@ -10,7 +10,7 @@ Tests for function that handle country properties. from textwrap import dedent import pytest -from nominatim.tools import country_info +from nominatim.data import country_info @pytest.fixture def loaded_country(def_config): diff --git a/test/python/tokenizer/sanitizers/test_clean_postcodes.py b/test/python/tokenizer/sanitizers/test_clean_postcodes.py index 2446999a..237527f1 100644 --- a/test/python/tokenizer/sanitizers/test_clean_postcodes.py +++ b/test/python/tokenizer/sanitizers/test_clean_postcodes.py @@ -11,7 +11,7 @@ import pytest from nominatim.tokenizer.place_sanitizer import PlaceSanitizer from nominatim.data.place_info import PlaceInfo -from nominatim.tools import country_info +from nominatim.data import country_info @pytest.fixture def sanitize(def_config, request): diff --git a/test/python/tokenizer/sanitizers/test_tag_analyzer_by_language.py b/test/python/tokenizer/sanitizers/test_tag_analyzer_by_language.py index fd4be01f..306b8027 100644 --- a/test/python/tokenizer/sanitizers/test_tag_analyzer_by_language.py +++ b/test/python/tokenizer/sanitizers/test_tag_analyzer_by_language.py @@ -11,7 +11,7 @@ import pytest from nominatim.data.place_info import PlaceInfo from nominatim.tokenizer.place_sanitizer import PlaceSanitizer -from nominatim.tools.country_info import setup_country_config +from nominatim.data.country_info import setup_country_config class TestWithDefaults: diff --git a/test/python/tools/test_postcodes.py b/test/python/tools/test_postcodes.py index 0c4b93fc..f5e8f3de 100644 --- a/test/python/tools/test_postcodes.py +++ b/test/python/tools/test_postcodes.py @@ -11,7 +11,8 @@ import subprocess import pytest -from nominatim.tools import postcodes, country_info +from nominatim.tools import postcodes +from nominatim.data import country_info import dummy_tokenizer class MockPostcodeTable: -- 2.39.5