2022-07-02 12:59:19 +03:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
#
|
|
|
|
# This file is part of Nominatim. (https://nominatim.org)
|
|
|
|
#
|
|
|
|
# Copyright (C) 2022 by the Nominatim developer community.
|
|
|
|
# For a full list of authors see the git log.
|
|
|
|
"""
|
|
|
|
Type definitions for typing annotations.
|
|
|
|
|
|
|
|
Complex type definitions are moved here, to keep the source files readable.
|
|
|
|
"""
|
2022-07-03 18:38:11 +03:00
|
|
|
from typing import Union, Mapping, TypeVar, TYPE_CHECKING
|
2022-07-02 12:59:19 +03:00
|
|
|
|
|
|
|
# Generics varaible names do not confirm to naming styles, ignore globally here.
|
|
|
|
# pylint: disable=invalid-name
|
|
|
|
|
|
|
|
if TYPE_CHECKING:
|
|
|
|
import psycopg2.sql
|
|
|
|
import psycopg2.extensions
|
|
|
|
import os
|
|
|
|
|
|
|
|
StrPath = Union[str, 'os.PathLike[str]']
|
|
|
|
|
2022-07-03 18:38:11 +03:00
|
|
|
SysEnv = Mapping[str, str]
|
|
|
|
|
2022-07-02 12:59:19 +03:00
|
|
|
# psycopg2-related types
|
|
|
|
|
|
|
|
Query = Union[str, bytes, 'psycopg2.sql.Composable']
|
|
|
|
T_cursor = TypeVar('T_cursor', bound='psycopg2.extensions.cursor')
|