"""
Version information for Nominatim.
"""
-from typing import Optional, NamedTuple
+from typing import NamedTuple, Optional
+
+# See also https://github.com/PyCQA/pylint/issues/6006
+# pylint: disable=useless-import-alias,unused-import
class NominatimVersion(NamedTuple):
""" Version information for Nominatim. We follow semantic versioning.
db_patch_level: int
def __str__(self) -> str:
+ if self.db_patch_level is None:
+ return f"{self.major}.{self.minor}.{self.patch_level}"
+
return f"{self.major}.{self.minor}.{self.patch_level}-{self.db_patch_level}"
def release_version(self) -> str:
"""
return f"{self.major}.{self.minor}.{self.patch_level}"
-NOMINATIM_VERSION = NominatimVersion(4, 4, 99, 1)
-
-POSTGRESQL_REQUIRED_VERSION = (9, 6)
-POSTGIS_REQUIRED_VERSION = (2, 2)
-
-# Cmake sets a variable @GIT_HASH@ by executing 'git --log'. It is not run
-# on every execution of 'make'.
-# cmake/tool-installed.tmpl is used to build the binary 'nominatim'. Inside
-# there is a call to set the variable value below.
-GIT_COMMIT_HASH : Optional[str] = None
def parse_version(version: str) -> NominatimVersion:
"""
parts = version.split('.')
return NominatimVersion(*[int(x) for x in parts[:2] + parts[2].split('-')])
+
+
+NOMINATIM_VERSION = parse_version('4.4.99-1')
+
+POSTGRESQL_REQUIRED_VERSION = (9, 6)
+POSTGIS_REQUIRED_VERSION = (2, 2)
+OSM2PGSQL_REQUIRED_VERSION = (1, 8)
+
+# Cmake sets a variable @GIT_HASH@ by executing 'git --log'. It is not run
+# on every execution of 'make'.
+# cmake/tool-installed.tmpl is used to build the binary 'nominatim'. Inside
+# there is a call to set the variable value below.
+GIT_COMMIT_HASH : Optional[str] = None