From 9b636fdc1004f9da3215d9fda350fcd995cf089a Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Thu, 30 Jun 2022 10:48:04 +0200 Subject: [PATCH] mypy: minimal annotations to enable a clean run --- .mypy.ini | 16 ++++++++++++++++ nominatim/config.py | 3 ++- nominatim/tools/migration.py | 3 ++- nominatim/tools/replication.py | 4 ++-- nominatim/tools/special_phrases/sp_importer.py | 2 +- 5 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 .mypy.ini diff --git a/.mypy.ini b/.mypy.ini new file mode 100644 index 00000000..28b81993 --- /dev/null +++ b/.mypy.ini @@ -0,0 +1,16 @@ +[mypy] + +[mypy-icu.*] +ignore_missing_imports = True + +[mypy-psycopg2.*] +ignore_missing_imports = True + +[mypy-psutil] +ignore_missing_imports = True + +[mypy-osmium.*] +ignore_missing_imports = True + +[mypy-datrie.*] +ignore_missing_imports = True diff --git a/nominatim/config.py b/nominatim/config.py index b3934b49..2049b6a6 100644 --- a/nominatim/config.py +++ b/nominatim/config.py @@ -7,6 +7,7 @@ """ Nominatim configuration accessor. """ +from typing import Dict, Any import logging import os from pathlib import Path @@ -18,7 +19,7 @@ from dotenv import dotenv_values from nominatim.errors import UsageError LOG = logging.getLogger() -CONFIG_CACHE = {} +CONFIG_CACHE : Dict[str, Any] = {} def flatten_config_list(content, section=''): """ Flatten YAML configuration lists that contain include sections diff --git a/nominatim/tools/migration.py b/nominatim/tools/migration.py index 28a14455..8cb1a355 100644 --- a/nominatim/tools/migration.py +++ b/nominatim/tools/migration.py @@ -7,6 +7,7 @@ """ Functions for database migration to newer software versions. """ +from typing import List, Tuple, Callable import logging from psycopg2 import sql as pysql @@ -20,7 +21,7 @@ from nominatim.errors import UsageError LOG = logging.getLogger() -_MIGRATION_FUNCTIONS = [] +_MIGRATION_FUNCTIONS : List[Tuple[str, Callable]] = [] def migrate(config, paths): """ Check for the current database version and execute migrations, diff --git a/nominatim/tools/replication.py b/nominatim/tools/replication.py index 53571706..fab3d2db 100644 --- a/nominatim/tools/replication.py +++ b/nominatim/tools/replication.py @@ -21,8 +21,8 @@ try: from osmium.replication.server import ReplicationServer from osmium import WriteHandler except ImportError as exc: - logging.getLogger().fatal("pyosmium not installed. Replication functions not available.\n" - "To install pyosmium via pip: pip3 install osmium") + logging.getLogger().critical("pyosmium not installed. Replication functions not available.\n" + "To install pyosmium via pip: pip3 install osmium") raise UsageError("replication tools not available") from exc LOG = logging.getLogger() diff --git a/nominatim/tools/special_phrases/sp_importer.py b/nominatim/tools/special_phrases/sp_importer.py index 31bbc355..805f8937 100644 --- a/nominatim/tools/special_phrases/sp_importer.py +++ b/nominatim/tools/special_phrases/sp_importer.py @@ -33,7 +33,7 @@ class SPImporter(): Take a sp loader which load the phrases from an external source. """ - def __init__(self, config, db_connection, sp_loader) -> None: + def __init__(self, config, db_connection, sp_loader): self.config = config self.db_connection = db_connection self.sp_loader = sp_loader -- 2.39.5