SYMBOL INDEX (2762 symbols across 255 files) FILE: data/words.sql type word_frequencies (line 23) | CREATE TABLE word_frequencies ( FILE: lib-sql/functions/importance.sql function get_wikipedia_match (line 25) | CREATE OR REPLACE FUNCTION get_wikipedia_match(extratags HSTORE, country... FILE: lib-sql/functions/interpolation.sql function place_interpolation_insert (line 10) | CREATE OR REPLACE FUNCTION place_interpolation_insert() function get_interpolation_address (line 99) | CREATE OR REPLACE FUNCTION get_interpolation_address(in_address HSTORE, ... function osmline_insert (line 167) | CREATE OR REPLACE FUNCTION osmline_insert() FILE: lib-sql/functions/partition-functions.sql function getNearFeatures (line 20) | CREATE OR REPLACE function getNearFeatures(in_partition INTEGER, feature... function deleteLocationArea (line 93) | create or replace function deleteLocationArea(in_partition INTEGER, in_p... function insertLocationAreaLarge (line 116) | create or replace function insertLocationAreaLarge( function getNearestNamedRoadPlaceId (line 150) | CREATE OR REPLACE FUNCTION getNearestNamedRoadPlaceId(in_partition INTEGER, function getNearestNamedPlacePlaceId (line 179) | CREATE OR REPLACE FUNCTION getNearestNamedPlacePlaceId(in_partition INTE... function insertSearchName (line 209) | create or replace function insertSearchName( function insertLocationRoad (line 248) | create or replace function insertLocationRoad( function deleteRoad (line 267) | create or replace function deleteRoad(in_partition INTEGER, in_place_id ... FILE: lib-sql/functions/placex_triggers.sql function placex_indexing_prepare (line 25) | CREATE OR REPLACE FUNCTION placex_indexing_prepare(p placex) function find_parent_for_poi (line 191) | CREATE OR REPLACE FUNCTION find_parent_for_poi(poi_osm_type CHAR(1), FILE: lib-sql/functions/postcode_triggers.sql function postcodes_update (line 16) | CREATE OR REPLACE FUNCTION postcodes_update() function postcodes_insert (line 62) | CREATE OR REPLACE FUNCTION postcodes_insert() FILE: lib-sql/functions/ranking.sql function is_rankable_place (line 12) | CREATE OR REPLACE FUNCTION is_rankable_place(osm_type TEXT, class TEXT, function reverse_place_diameter (line 39) | CREATE OR REPLACE FUNCTION reverse_place_diameter(rank_search SMALLINT) function update_place_diameter (line 64) | CREATE OR REPLACE FUNCTION update_place_diameter(rank_search SMALLINT) function geometry_to_rank (line 98) | CREATE OR REPLACE FUNCTION geometry_to_rank(search_rank SMALLINT, geomet... function weigh_search (line 256) | CREATE OR REPLACE FUNCTION weigh_search(search_vector INT[], FILE: lib-sql/functions/updates.sql function update_invalidate_for_new_place (line 11) | CREATE OR REPLACE FUNCTION update_invalidate_for_new_place(address_rank ... FILE: lib-sql/functions/utils.sql function get_center_point (line 10) | CREATE OR REPLACE FUNCTION get_center_point(place GEOMETRY) function geometry_sector (line 30) | CREATE OR REPLACE FUNCTION geometry_sector(partition INTEGER, place GEOM... function array_merge (line 41) | CREATE OR REPLACE FUNCTION array_merge(a INTEGER[], b INTEGER[]) function get_rel_node_members (line 73) | CREATE OR REPLACE FUNCTION get_rel_node_members(members TEXT[], function get_rel_node_members (line 94) | CREATE OR REPLACE FUNCTION get_rel_node_members(members JSONB, memberLab... function add_default_place_name (line 121) | CREATE OR REPLACE FUNCTION add_default_place_name(country_code VARCHAR(2), function get_country_code (line 186) | CREATE OR REPLACE FUNCTION get_country_code(place geometry) function get_country_language_code (line 247) | CREATE OR REPLACE FUNCTION get_country_language_code(search_country_code... function get_partition (line 265) | CREATE OR REPLACE FUNCTION get_partition(in_country_code VARCHAR(10)) function find_parent_for_address (line 289) | CREATE OR REPLACE FUNCTION find_parent_for_address(token_info JSONB, function place_node_fuzzy_area (line 338) | CREATE OR REPLACE FUNCTION place_node_fuzzy_area(geom GEOMETRY, rank_sea... function add_location (line 360) | CREATE OR REPLACE FUNCTION add_location(place_id BIGINT, country_code va... function quad_split_geometry (line 394) | CREATE OR REPLACE FUNCTION quad_split_geometry(geometry GEOMETRY, maxare... function place_force_delete (line 518) | CREATE OR REPLACE FUNCTION place_force_delete(placeid BIGINT) function place_force_update (line 541) | CREATE OR REPLACE FUNCTION place_force_update(placeid BIGINT) function flush_deleted_places (line 589) | CREATE OR REPLACE FUNCTION flush_deleted_places() function place_update_entrances (line 647) | CREATE OR REPLACE FUNCTION place_update_entrances(placeid BIGINT, osmid ... FILE: lib-sql/indices.sql type idx_place_addressline_address_place_id (line 11) | CREATE INDEX IF NOT EXISTS idx_place_addressline_address_place_id type place_interpolation_to_be_deleted (line 77) | CREATE TABLE IF NOT EXISTS place_interpolation_to_be_deleted ( FILE: lib-sql/partition-tables.src.sql type search_name_blank (line 9) | CREATE TABLE search_name_blank ( type location_area_large_ (line 17) | CREATE TABLE location_area_large_{{ partition }} () INHERITS (location_a... FILE: lib-sql/tables/addressline.sql type place_addressline (line 10) | CREATE TABLE place_addressline ( FILE: lib-sql/tables/entrance.sql type placex_entrance (line 11) | CREATE TABLE placex_entrance ( FILE: lib-sql/tables/import_reports.sql type import_polygon_error (line 9) | CREATE TABLE import_polygon_error ( type idx_import_polygon_error_osmid (line 22) | CREATE INDEX idx_import_polygon_error_osmid ON import_polygon_error type import_polygon_delete (line 27) | CREATE TABLE import_polygon_delete ( type idx_import_polygon_delete_osmid (line 34) | CREATE INDEX idx_import_polygon_delete_osmid ON import_polygon_delete FILE: lib-sql/tables/importance_tables.sql type wikimedia_importance (line 10) | CREATE TABLE wikimedia_importance ( FILE: lib-sql/tables/interpolation.sql type location_property_osmline (line 9) | CREATE TABLE location_property_osmline ( FILE: lib-sql/tables/location_area.sql type location_area (line 9) | CREATE TABLE location_area ( type location_area_large (line 22) | CREATE TABLE location_area_large () INHERITS (location_area) type location_area_country (line 25) | CREATE TABLE location_area_country ( FILE: lib-sql/tables/nominatim_properties.sql type nominatim_properties (line 9) | CREATE TABLE nominatim_properties ( FILE: lib-sql/tables/placex.sql type placex (line 11) | CREATE TABLE placex ( type idx_place_id (line 31) | CREATE UNIQUE INDEX idx_place_id ON placex USING BTREE (place_id) {{db.t... type idx_placex_geometry_address_area_candidates (line 48) | CREATE INDEX idx_placex_geometry_address_area_candidates ON placex type idx_placex_geometry_buildings (line 54) | CREATE INDEX idx_placex_geometry_buildings ON placex FILE: lib-sql/tables/postcodes.sql type location_postcodes (line 9) | CREATE TABLE location_postcodes ( FILE: lib-sql/tables/search_name.sql type search_name (line 12) | CREATE TABLE search_name ( FILE: lib-sql/tables/status.sql type import_status (line 9) | CREATE TABLE import_status ( type import_osmosis_log (line 16) | CREATE TABLE import_osmosis_log ( FILE: lib-sql/tables/tiger.sql type location_property_tiger (line 9) | CREATE TABLE location_property_tiger ( FILE: lib-sql/tiger_import_finish.sql type idx_location_property_tiger_parent_place_id_imp (line 9) | CREATE INDEX IF NOT EXISTS idx_location_property_tiger_parent_place_id_imp FILE: lib-sql/tiger_import_start.sql type location_property_tiger_import (line 8) | CREATE TABLE location_property_tiger_import ( function getNearestNamedRoadPlaceIdSlow (line 21) | CREATE OR REPLACE FUNCTION getNearestNamedRoadPlaceIdSlow(in_centroid GE... function getNearestParallelRoadFeatureSlow (line 46) | CREATE OR REPLACE FUNCTION getNearestParallelRoadFeatureSlow(line GEOMETRY) function getNearestRoadPlaceIdSlow (line 85) | CREATE OR REPLACE FUNCTION getNearestRoadPlaceIdSlow(point GEOMETRY) function tiger_line_import (line 111) | CREATE OR REPLACE FUNCTION tiger_line_import(linegeo GEOMETRY, in_startn... FILE: lib-sql/tokenizer/icu_tokenizer.sql function token_get_name_search_tokens (line 11) | CREATE OR REPLACE FUNCTION token_get_name_search_tokens(info JSONB) function token_get_name_match_tokens (line 21) | CREATE OR REPLACE FUNCTION token_get_name_match_tokens(info JSONB) function token_get_housenumber_search_tokens (line 29) | CREATE OR REPLACE FUNCTION token_get_housenumber_search_tokens(info JSONB) function token_normalized_housenumber (line 37) | CREATE OR REPLACE FUNCTION token_normalized_housenumber(info JSONB) function token_is_street_address (line 44) | CREATE OR REPLACE FUNCTION token_is_street_address(info JSONB) function token_has_addr_street (line 51) | CREATE OR REPLACE FUNCTION token_has_addr_street(info JSONB) function token_has_addr_place (line 58) | CREATE OR REPLACE FUNCTION token_has_addr_place(info JSONB) function token_matches_street (line 65) | CREATE OR REPLACE FUNCTION token_matches_street(info JSONB, street_token... function token_matches_place (line 72) | CREATE OR REPLACE FUNCTION token_matches_place(info JSONB, place_tokens ... function token_addr_place_search_tokens (line 79) | CREATE OR REPLACE FUNCTION token_addr_place_search_tokens(info JSONB) function token_get_address_keys (line 86) | CREATE OR REPLACE FUNCTION token_get_address_keys(info JSONB) function token_get_address_search_tokens (line 93) | CREATE OR REPLACE FUNCTION token_get_address_search_tokens(info JSONB, k... function token_matches_address (line 100) | CREATE OR REPLACE FUNCTION token_matches_address(info JSONB, key TEXT, t... function token_get_postcode (line 107) | CREATE OR REPLACE FUNCTION token_get_postcode(info JSONB) function token_strip_info (line 115) | CREATE OR REPLACE FUNCTION token_strip_info(info JSONB) function getorcreate_partial_word (line 221) | CREATE OR REPLACE FUNCTION getorcreate_partial_word(partial TEXT) function getorcreate_hnr_id (line 242) | CREATE OR REPLACE FUNCTION getorcreate_hnr_id(lookup_term TEXT) function create_analyzed_hnr_id (line 263) | CREATE OR REPLACE FUNCTION create_analyzed_hnr_id(norm_term TEXT, lookup... function create_postcode_word (line 285) | CREATE OR REPLACE FUNCTION create_postcode_word(postcode TEXT, lookup_te... FILE: man/create-manpage.py function get_parser (line 9) | def get_parser(): FILE: src/nominatim_api/connection.py class SearchConnection (line 26) | class SearchConnection: method __init__ (line 33) | def __init__(self, conn: AsyncConnection, method set_query_timeout (line 44) | def set_query_timeout(self, timeout: Optional[int]) -> None: method scalar (line 50) | async def scalar(self, sql: sa.sql.base.Executable, method execute (line 57) | async def execute(self, sql: 'sa.Executable', method get_property (line 65) | async def get_property(self, name: str, cached: bool = True) -> str: method get_db_property (line 91) | async def get_db_property(self, name: str) -> Any: method get_cached_value (line 103) | async def get_cached_value(self, group: str, name: str, method get_class_table (line 125) | async def get_class_table(self, cls: str, typ: str) -> Optional[SaFrom... FILE: src/nominatim_api/core.py class NominatimAPIAsync (line 40) | class NominatimAPIAsync: method __init__ (line 51) | def __init__(self, project_dir: Optional[Union[str, Path]] = None, method setup_database (line 84) | async def setup_database(self) -> None: method close (line 166) | async def close(self) -> None: method __aenter__ (line 174) | async def __aenter__(self) -> 'NominatimAPIAsync': method __aexit__ (line 177) | async def __aexit__(self, *_: Any) -> None: method begin (line 181) | async def begin(self, abs_timeout: Optional[float] = None) -> AsyncIte... method status (line 200) | async def status(self) -> StatusResult: method details (line 213) | async def details(self, place: ntyp.PlaceRef, **params: Any) -> Option... method lookup (line 228) | async def lookup(self, places: Sequence[ntyp.PlaceRef], **params: Any)... method reverse (line 243) | async def reverse(self, coord: ntyp.AnyPoint, **params: Any) -> Option... method search (line 266) | async def search(self, query: str, **params: Any) -> SearchResults: method search_address (line 283) | async def search_address(self, amenity: Optional[str] = None, method search_category (line 340) | async def search_category(self, categories: List[Tuple[str, str]], class NominatimAPI (line 367) | class NominatimAPI: method __init__ (line 375) | def __init__(self, project_dir: Optional[Union[str, Path]] = None, method close (line 391) | def close(self) -> None: method __enter__ (line 401) | def __enter__(self) -> 'NominatimAPI': method __exit__ (line 404) | def __exit__(self, *_: Any) -> None: method config (line 408) | def config(self) -> Configuration: method status (line 414) | def status(self) -> StatusResult: method details (line 432) | def details(self, place: ntyp.PlaceRef, **params: Any) -> Optional[Det... method lookup (line 516) | def lookup(self, places: Sequence[ntyp.PlaceRef], **params: Any) -> Se... method reverse (line 594) | def reverse(self, coord: ntyp.AnyPoint, **params: Any) -> Optional[Rev... method search (line 677) | def search(self, query: str, **params: Any) -> SearchResults: method search_address (line 778) | def search_address(self, amenity: Optional[str] = None, method search_category (line 897) | def search_category(self, categories: List[Tuple[str, str]], FILE: src/nominatim_api/errors.py class UsageError (line 12) | class UsageError(Exception): FILE: src/nominatim_api/localization.py class Locales (line 16) | class Locales: method __init__ (line 23) | def __init__(self, langs: Optional[List[str]] = None, method __bool__ (line 37) | def __bool__(self) -> bool: method _add_tags (line 40) | def _add_tags(self, *tags: str) -> None: method _add_lang_tags (line 45) | def _add_lang_tags(self, *tags: str) -> None: method display_name (line 51) | def display_name(self, names: Optional[Mapping[str, str]]) -> str: method from_accept_languages (line 70) | def from_accept_languages(langstr: str, names: str = 'name:XX,name') -... method localize (line 100) | def localize(self, lines: AddressLines) -> None: method localize_results (line 112) | def localize_results(self, results: List[BaseResultT]) -> None: FILE: src/nominatim_api/logging.py function _debug_name (line 30) | def _debug_name(res: Any) -> str: class BaseLogger (line 37) | class BaseLogger: method get_buffer (line 43) | def get_buffer(self) -> str: method function (line 48) | def function(self, func: str, **kwargs: Any) -> None: method section (line 52) | def section(self, heading: str) -> None: method comment (line 56) | def comment(self, text: str) -> None: method var_dump (line 60) | def var_dump(self, heading: str, var: Any) -> None: method table_dump (line 65) | def table_dump(self, heading: str, rows: Iterator[Optional[List[Any]]]... method result_dump (line 69) | def result_dump(self, heading: str, results: Iterator[Tuple[Any, Any]]... method sql (line 73) | def sql(self, conn: AsyncConnection, statement: 'sa.Executable', method format_sql (line 78) | def format_sql(self, conn: AsyncConnection, statement: 'sa.Executable', class HTMLLogger (line 123) | class HTMLLogger(BaseLogger): method __init__ (line 126) | def __init__(self) -> None: method _timestamp (line 129) | def _timestamp(self) -> None: method get_buffer (line 132) | def get_buffer(self) -> str: method function (line 135) | def function(self, func: str, **kwargs: Any) -> None: method section (line 142) | def section(self, heading: str) -> None: method comment (line 146) | def comment(self, text: str) -> None: method var_dump (line 150) | def var_dump(self, heading: str, var: Any) -> None: method table_dump (line 157) | def table_dump(self, heading: str, rows: Iterator[Optional[List[Any]]]... method result_dump (line 173) | def result_dump(self, heading: str, results: Iterator[Tuple[Any, Any]]... method sql (line 206) | def sql(self, conn: AsyncConnection, statement: 'sa.Executable', method _python_var (line 217) | def _python_var(self, var: Any) -> str: method _write (line 224) | def _write(self, text: str) -> None: class TextLogger (line 230) | class TextLogger(BaseLogger): method __init__ (line 233) | def __init__(self) -> None: method _timestamp (line 236) | def _timestamp(self) -> None: method get_buffer (line 239) | def get_buffer(self) -> str: method function (line 242) | def function(self, func: str, **kwargs: Any) -> None: method section (line 248) | def section(self, heading: str) -> None: method comment (line 252) | def comment(self, text: str) -> None: method var_dump (line 255) | def var_dump(self, heading: str, var: Any) -> None: method table_dump (line 261) | def table_dump(self, heading: str, rows: Iterator[Optional[List[Any]]]... method result_dump (line 281) | def result_dump(self, heading: str, results: Iterator[Tuple[Any, Any]]... method sql (line 295) | def sql(self, conn: AsyncConnection, statement: 'sa.Executable', method _python_var (line 301) | def _python_var(self, var: Any) -> str: method _write (line 304) | def _write(self, text: str) -> None: function set_log_output (line 311) | def set_log_output(fmt: str) -> None: function log (line 322) | def log() -> BaseLogger: function get_and_disable (line 328) | def get_and_disable() -> str: FILE: src/nominatim_api/lookup.py class LookupTuple (line 36) | class LookupTuple: class LookupCollector (line 43) | class LookupCollector: method __init__ (line 49) | def __init__(self, places: Iterable[ntyp.PlaceRef], method get_results (line 54) | def get_results(self) -> nres.SearchResults: method add_rows_from_sql (line 59) | async def add_rows_from_sql(self, conn: SearchConnection, sql: SaSelect, method enumerate_free_place_ids (line 85) | def enumerate_free_place_ids(self) -> Iterable[Tuple[int, ntyp.PlaceID]]: method enumerate_free_osm_ids (line 89) | def enumerate_free_osm_ids(self) -> Iterable[Tuple[int, ntyp.OsmID]]: class DetailedCollector (line 94) | class DetailedCollector: method __init__ (line 100) | def __init__(self, place: ntyp.PlaceRef, with_geometry: bool) -> None: method add_rows_from_sql (line 105) | async def add_rows_from_sql(self, conn: SearchConnection, sql: SaSelect, method enumerate_free_place_ids (line 132) | def enumerate_free_place_ids(self) -> Iterable[Tuple[int, ntyp.PlaceID]]: method enumerate_free_osm_ids (line 137) | def enumerate_free_osm_ids(self) -> Iterable[Tuple[int, ntyp.OsmID]]: function get_detailed_place (line 146) | async def get_detailed_place(conn: SearchConnection, place: ntyp.PlaceRef, function get_places (line 168) | async def get_places(conn: SearchConnection, places: Iterable[ntyp.Place... function find_in_placex (line 187) | async def find_in_placex(conn: SearchConnection, collector: Collector) -... function find_in_osmline (line 236) | async def find_in_osmline(conn: SearchConnection, collector: Collector) ... function find_in_postcode (line 279) | async def find_in_postcode(conn: SearchConnection, collector: Collector)... function find_in_tiger (line 324) | async def find_in_tiger(conn: SearchConnection, collector: Collector) ->... FILE: src/nominatim_api/query_preprocessing/base.py class QueryHandler (line 19) | class QueryHandler(Protocol): method create (line 22) | def create(self, config: QueryConfig) -> QueryProcessingFunc: FILE: src/nominatim_api/query_preprocessing/config.py class QueryConfig (line 21) | class QueryConfig(_BaseUserDict): method set_normalizer (line 29) | def set_normalizer(self, normalizer: Any) -> 'QueryConfig': FILE: src/nominatim_api/query_preprocessing/normalize.py function create (line 22) | def create(config: QueryConfig) -> QueryProcessingFunc: FILE: src/nominatim_api/query_preprocessing/regex_replace.py class _GenericPreprocessing (line 22) | class _GenericPreprocessing: method __init__ (line 25) | def __init__(self, config: QueryConfig) -> None: method split_phrase (line 34) | def split_phrase(self, phrase: Phrase) -> Phrase: method __call__ (line 41) | def __call__(self, phrases: List[Phrase]) -> List[Phrase]: function create (line 50) | def create(config: QueryConfig) -> QueryProcessingFunc: FILE: src/nominatim_api/query_preprocessing/split_japanese_phrases.py class _JapanesePreprocessing (line 36) | class _JapanesePreprocessing: method __init__ (line 38) | def __init__(self, config: QueryConfig) -> None: method split_phrase (line 41) | def split_phrase(self, phrase: Phrase) -> Phrase: method __call__ (line 52) | def __call__(self, phrases: List[Phrase]) -> List[Phrase]: function create (line 58) | def create(config: QueryConfig) -> QueryProcessingFunc: FILE: src/nominatim_api/result_formatting.py class FormatDispatcher (line 22) | class FormatDispatcher: method __init__ (line 27) | def __init__(self, content_types: Optional[Mapping[str, str]] = None) ... method format_func (line 34) | def format_func(self, result_class: Type[T], method error_format_func (line 45) | def error_format_func(self, func: ErrorFormatFunc) -> ErrorFormatFunc: method list_formats (line 53) | def list_formats(self, result_type: Type[Any]) -> List[str]: method supports_format (line 58) | def supports_format(self, result_type: Type[Any], fmt: str) -> bool: method format_result (line 63) | def format_result(self, result: Any, fmt: str, options: Mapping[str, A... method format_error (line 71) | def format_error(self, content_type: str, msg: str, status: int) -> str: method set_content_type (line 79) | def set_content_type(self, fmt: str, content_type: str) -> None: method get_content_type (line 86) | def get_content_type(self, fmt: str) -> str: function load_format_dispatcher (line 95) | def load_format_dispatcher(api_name: str, project_dir: Optional[Path]) -... FILE: src/nominatim_api/results.py function _mingle_name_tags (line 33) | def _mingle_name_tags(names: Optional[Dict[str, str]]) -> Optional[Dict[... class SourceTable (line 51) | class SourceTable(enum.Enum): class AddressLine (line 82) | class AddressLine: method display_name (line 136) | def display_name(self) -> Optional[str]: class AddressLines (line 148) | class AddressLines(List[AddressLine]): class WordInfo (line 153) | class WordInfo: class BaseResult (line 173) | class BaseResult: method lat (line 214) | def lat(self) -> float: method lon (line 220) | def lon(self) -> float: method display_name (line 226) | def display_name(self) -> Optional[str]: method calculated_importance (line 254) | def calculated_importance(self) -> float: class DetailedResult (line 266) | class DetailedResult(BaseResult): class ReverseResult (line 274) | class ReverseResult(BaseResult): class ReverseResults (line 281) | class ReverseResults(List[ReverseResult]): class SearchResult (line 288) | class SearchResult(BaseResult): method ranking (line 295) | def ranking(self) -> float: class SearchResults (line 302) | class SearchResults(List[SearchResult]): function _filter_geometries (line 308) | def _filter_geometries(row: SaRow) -> Dict[str, str]: function create_from_placex_row (line 313) | def create_from_placex_row(row: SaRow, class_type: Type[BaseResultT]) ->... function create_from_osmline_row (line 339) | def create_from_osmline_row(row: SaRow, class_type: Type[BaseResultT]) -... function create_from_tiger_row (line 370) | def create_from_tiger_row(row: SaRow, function create_from_postcode_row (line 403) | def create_from_postcode_row(row: SaRow, class_type: Type[BaseResultT]) ... function create_from_country_row (line 422) | def create_from_country_row(row: SaRow, class_type: Type[BaseResultT]) -... function add_result_details (line 436) | async def add_result_details(conn: SearchConnection, results: List[BaseR... function _result_row_to_address_row (line 463) | def _result_row_to_address_row(row: SaRow, isaddress: Optional[bool] = N... function _get_address_lookup_id (line 489) | def _get_address_lookup_id(result: BaseResultT) -> int: function _finalize_entry (line 497) | async def _finalize_entry(conn: SearchConnection, result: BaseResultT) -... function _setup_address_details (line 536) | def _setup_address_details(result: BaseResultT) -> None: function complete_address_details (line 570) | async def complete_address_details(conn: SearchConnection, results: List... function _placex_select_address_row (line 673) | def _placex_select_address_row(conn: SearchConnection, function complete_linked_places (line 685) | async def complete_linked_places(conn: SearchConnection, result: BaseRes... function complete_entrances_details (line 699) | async def complete_entrances_details(conn: SearchConnection, results: Li... function complete_keywords (line 723) | async def complete_keywords(conn: SearchConnection, result: BaseResult) ... function complete_parented_places (line 747) | async def complete_parented_places(conn: SearchConnection, result: BaseR... FILE: src/nominatim_api/reverse.py function no_index (line 30) | def no_index(expr: SaColumn) -> SaColumn: function _select_from_placex (line 37) | def _select_from_placex(t: SaFromClause, use_wkt: bool = True) -> SaSelect: function _interpolated_housenumber (line 61) | def _interpolated_housenumber(table: SaFromClause) -> SaLabel: function _interpolated_position (line 68) | def _interpolated_position(table: SaFromClause) -> SaLabel: function _locate_interpolation (line 76) | def _locate_interpolation(table: SaFromClause) -> SaLabel: function _get_closest (line 84) | def _get_closest(*rows: Optional[SaRow]) -> Optional[SaRow]: class ReverseGeocoder (line 88) | class ReverseGeocoder: method __init__ (line 93) | def __init__(self, conn: SearchConnection, params: ReverseDetails, method max_rank (line 102) | def max_rank(self) -> int: method has_geometries (line 107) | def has_geometries(self) -> bool: method layer_enabled (line 112) | def layer_enabled(self, *layer: DataLayer) -> bool: method layer_disabled (line 117) | def layer_disabled(self, *layer: DataLayer) -> bool: method has_feature_layers (line 122) | def has_feature_layers(self) -> bool: method _add_geometry_columns (line 127) | def _add_geometry_columns(self, sql: SaLambdaSelect, col: SaColumn) ->... method _filter_by_layer (line 144) | def _filter_by_layer(self, table: SaFromClause) -> SaColumn: method _find_closest_street_or_pois (line 160) | async def _find_closest_street_or_pois(self, distance: float, method _find_housenumber_for_street (line 241) | async def _find_housenumber_for_street(self, parent_place_id: int) -> ... method _find_interpolation_for_street (line 262) | async def _find_interpolation_for_street(self, parent_place_id: Option... method _find_tiger_number_for_street (line 292) | async def _find_tiger_number_for_street(self, parent_place_id: int) ->... method lookup_street_poi (line 321) | async def lookup_street_poi(self) -> Tuple[Optional[SaRow], RowFunc]: method _lookup_area_address (line 389) | async def _lookup_area_address(self) -> Optional[SaRow]: method _lookup_area_others (line 459) | async def _lookup_area_others(self) -> Optional[SaRow]: method lookup_area (line 489) | async def lookup_area(self) -> Optional[SaRow]: method lookup_country_codes (line 506) | async def lookup_country_codes(self) -> List[str]: method lookup_country (line 518) | async def lookup_country(self, ccodes: List[str]) -> Tuple[Optional[Sa... method lookup (line 605) | async def lookup(self, coord: AnyPoint) -> Optional[nres.ReverseResult]: FILE: src/nominatim_api/search/db_search_builder.py function wrap_near_search (line 21) | def wrap_near_search(categories: List[Tuple[str, str]], function build_poi_search (line 32) | def build_poi_search(category: List[Tuple[str, str]], class SearchBuilder (line 50) | class SearchBuilder: method __init__ (line 54) | def __init__(self, query: qmod.QueryStruct, details: SearchDetails) ->... method configured_for_country (line 59) | def configured_for_country(self) -> bool: method configured_for_postcode (line 67) | def configured_for_postcode(self) -> bool: method configured_for_housenumbers (line 75) | def configured_for_housenumbers(self) -> bool: method build (line 82) | def build(self, assignment: TokenAssignment) -> Iterator[dbs.AbstractS... method build_poi_search (line 122) | def build_poi_search(self, sdata: dbf.SearchData) -> Iterator[dbs.Abst... method build_special_search (line 130) | def build_special_search(self, sdata: dbf.SearchData, method build_housenumber_search (line 153) | def build_housenumber_search(self, sdata: dbf.SearchData, hnrs: List[q... method build_name_search (line 193) | def build_name_search(self, sdata: dbf.SearchData, method yield_lookups (line 210) | def yield_lookups(self, name: qmod.TokenRange, address: List[qmod.Toke... method yield_name_only_lookups (line 226) | def yield_name_only_lookups(self, partials: dbf.CountedTokenIDs, name:... method yield_address_lookups (line 249) | def yield_address_lookups(self, name_partials: dbf.CountedTokenIDs, method get_name_ranking (line 299) | def get_name_ranking(self, trange: qmod.TokenRange, method get_addr_ranking (line 314) | def get_addr_ranking(self, trange: qmod.TokenRange) -> dbf.FieldRanking: method get_search_data (line 368) | def get_search_data(self, assignment: TokenAssignment) -> Optional[dbf... method get_country_tokens (line 410) | def get_country_tokens(self, trange: qmod.TokenRange) -> List[qmod.Tok... method get_qualifier_tokens (line 421) | def get_qualifier_tokens(self, trange: qmod.TokenRange) -> List[qmod.T... method get_near_items (line 432) | def get_near_items(self, assignment: TokenAssignment) -> Optional[dbf.... FILE: src/nominatim_api/search/db_search_fields.py class CountedTokenIDs (line 21) | class CountedTokenIDs: method __init__ (line 29) | def __init__(self, tokens: Iterator[Token], count_column: str = 'count'): method __len__ (line 33) | def __len__(self) -> int: method get_num_lookup_tokens (line 36) | def get_num_lookup_tokens(self, limit: int, fac: int) -> int: method min_count (line 59) | def min_count(self) -> int: method expected_for_all_search (line 62) | def expected_for_all_search(self, fac: int = 5) -> int: method get_tokens (line 65) | def get_tokens(self) -> List[int]: method get_head_tokens (line 68) | def get_head_tokens(self, num_tokens: int) -> List[int]: method get_tail_tokens (line 71) | def get_tail_tokens(self, first: int) -> List[int]: method split_lookup (line 74) | def split_lookup(self, split: int, column: str) -> 'List[FieldLookup]': class WeightedStrings (line 82) | class WeightedStrings: method __bool__ (line 88) | def __bool__(self) -> bool: method __iter__ (line 91) | def __iter__(self) -> Iterator[Tuple[str, float]]: method get_penalty (line 94) | def get_penalty(self, value: str, default: float = 1000.0) -> float: class WeightedCategories (line 106) | class WeightedCategories: method __bool__ (line 112) | def __bool__(self) -> bool: method __iter__ (line 115) | def __iter__(self) -> Iterator[Tuple[Tuple[str, str], float]]: method get_penalty (line 118) | def get_penalty(self, value: Tuple[str, str], default: float = 1000.0)... method sql_restrict (line 128) | def sql_restrict(self, table: SaFromClause) -> SaExpression: class RankedTokens (line 144) | class RankedTokens: method with_token (line 150) | def with_token(self, t: Token, transition_penalty: float) -> 'RankedTo... class FieldRanking (line 160) | class FieldRanking: method normalize_penalty (line 169) | def normalize_penalty(self) -> float: method sql_penalty (line 183) | def sql_penalty(self, table: SaFromClause) -> SaColumn: class FieldLookup (line 202) | class FieldLookup: method sql_condition (line 213) | def sql_condition(self, table: SaFromClause) -> SaColumn: class SearchData (line 219) | class SearchData: method set_strings (line 234) | def set_strings(self, field: str, tokens: List[Token]) -> None: method set_countries (line 247) | def set_countries(self, tokens: List[Token]) -> None: method set_qualifiers (line 262) | def set_qualifiers(self, tokens: List[Token]) -> None: method set_ranking (line 277) | def set_ranking(self, rankings: List[FieldRanking]) -> None: function lookup_by_any_name (line 289) | def lookup_by_any_name(name_tokens: List[int], addr_restrict_tokens: Lis... FILE: src/nominatim_api/search/db_search_lookups.py class LookupAll (line 22) | class LookupAll(LookupType): method __init__ (line 28) | def __init__(self, table: SaFromClause, column: str, tokens: List[int]... function _default_lookup_all (line 34) | def _default_lookup_all(element: LookupAll, function _sqlite_lookup_all (line 42) | def _sqlite_lookup_all(element: LookupAll, class LookupAny (line 60) | class LookupAny(LookupType): method __init__ (line 66) | def __init__(self, table: SaFromClause, column: str, tokens: List[int]... function _default_lookup_any (line 72) | def _default_lookup_any(element: LookupAny, function _sqlite_lookup_any (line 80) | def _sqlite_lookup_any(element: LookupAny, class Restrict (line 92) | class Restrict(LookupType): method __init__ (line 98) | def __init__(self, table: SaFromClause, column: str, tokens: List[int]... function _default_restrict (line 104) | def _default_restrict(element: Restrict, function _sqlite_restrict (line 112) | def _sqlite_restrict(element: Restrict, FILE: src/nominatim_api/search/db_searches/address_search.py function _int_list_to_subquery (line 33) | def _int_list_to_subquery(inp: List[int]) -> 'sa.Subquery': function _interpolated_position (line 42) | def _interpolated_position(table: SaFromClause, nr: SaColumn) -> SaColumn: function _make_interpolation_subquery (line 49) | def _make_interpolation_subquery(table: SaFromClause, inner: SaFromClause, function _get_placex_housenumbers (line 70) | async def _get_placex_housenumbers(conn: SearchConnection, function _get_osmline (line 86) | async def _get_osmline(conn: SearchConnection, place_ids: List[int], function _get_tiger (line 108) | async def _get_tiger(conn: SearchConnection, place_ids: List[int], class AddressSearch (line 130) | class AddressSearch(base.AbstractSearch): method __init__ (line 135) | def __init__(self, extra_penalty: float, sdata: SearchData, method _inner_search_name_cte (line 148) | def _inner_search_name_cte(self, conn: SearchConnection, method lookup (line 204) | async def lookup(self, conn: SearchConnection, FILE: src/nominatim_api/search/db_searches/base.py class AbstractSearch (line 22) | class AbstractSearch(abc.ABC): method __init__ (line 27) | def __init__(self, penalty: float) -> None: method lookup (line 31) | async def lookup(self, conn: SearchConnection, details: SearchDetails)... function select_placex (line 36) | def select_placex(t: SaFromClause) -> SaSelect: function exclude_places (line 53) | def exclude_places(t: SaFromClause) -> Callable[[], SaExpression]: function filter_by_layer (line 62) | def filter_by_layer(table: SaFromClause, layers: DataLayer) -> SaColumn: function no_index (line 98) | def no_index(expr: SaColumn) -> SaColumn: function filter_by_area (line 105) | def filter_by_area(sql: SaSelect, t: SaFromClause, function add_geometry_columns (line 127) | def add_geometry_columns(sql: SaLambdaSelect, col: SaColumn, details: Se... FILE: src/nominatim_api/search/db_searches/country_search.py class CountrySearch (line 20) | class CountrySearch(base.AbstractSearch): method __init__ (line 25) | def __init__(self, sdata: SearchData) -> None: method lookup (line 29) | async def lookup(self, conn: SearchConnection, method lookup_in_country_table (line 72) | async def lookup_in_country_table(self, conn: SearchConnection, FILE: src/nominatim_api/search/db_searches/near_search.py class NearSearch (line 28) | class NearSearch(base.AbstractSearch): method __init__ (line 31) | def __init__(self, penalty: float, categories: WeightedCategories, method lookup (line 37) | async def lookup(self, conn: SearchConnection, method lookup_category (line 75) | async def lookup_category(self, results: nres.SearchResults, FILE: src/nominatim_api/search/db_searches/place_search.py class PlaceSearch (line 33) | class PlaceSearch(base.AbstractSearch): method __init__ (line 38) | def __init__(self, extra_penalty: float, sdata: SearchData, method _inner_search_name_cte (line 50) | def _inner_search_name_cte(self, conn: SearchConnection, method lookup (line 134) | async def lookup(self, conn: SearchConnection, FILE: src/nominatim_api/search/db_searches/poi_search.py class PoiSearch (line 29) | class PoiSearch(base.AbstractSearch): method __init__ (line 32) | def __init__(self, sdata: SearchData) -> None: method lookup (line 37) | async def lookup(self, conn: SearchConnection, FILE: src/nominatim_api/search/db_searches/postcode_search.py class PostcodeSearch (line 28) | class PostcodeSearch(base.AbstractSearch): method __init__ (line 31) | def __init__(self, extra_penalty: float, sdata: SearchData) -> None: method lookup (line 38) | async def lookup(self, conn: SearchConnection, FILE: src/nominatim_api/search/geocoder.py class ForwardGeocoder (line 29) | class ForwardGeocoder: method __init__ (line 33) | def __init__(self, conn: SearchConnection, method limit (line 41) | def limit(self) -> int: method _resolve_excluded_osm_ids (line 46) | async def _resolve_excluded_osm_ids(self) -> None: method build_searches (line 76) | async def build_searches(self, method execute_searches (line 105) | async def execute_searches(self, query: QueryStruct, method pre_filter_results (line 149) | def pre_filter_results(self, results: SearchResults) -> SearchResults: method sort_and_cut_results (line 159) | def sort_and_cut_results(self, results: SearchResults) -> SearchResults: method rerank_by_query (line 178) | def rerank_by_query(self, query: QueryStruct, results: SearchResults) ... method lookup_pois (line 221) | async def lookup_pois(self, categories: List[Tuple[str, str]], method lookup (line 252) | async def lookup(self, phrases: List[Phrase]) -> SearchResults: function _dump_searches (line 280) | def _dump_searches(searches: List[AbstractSearch], query: QueryStruct, FILE: src/nominatim_api/search/icu_tokenizer.py class ICUToken (line 52) | class ICUToken(qmod.Token): method get_category (line 58) | def get_category(self) -> Tuple[str, str]: method get_country (line 62) | def get_country(self) -> str: method match_penalty (line 66) | def match_penalty(self, norm: str) -> float: method from_db_row (line 85) | def from_db_row(row: SaRow) -> 'ICUToken': class ICUAnalyzerConfig (line 121) | class ICUAnalyzerConfig: method create (line 128) | async def create(conn: SearchConnection) -> 'ICUAnalyzerConfig': class ICUQueryAnalyzer (line 155) | class ICUQueryAnalyzer(AbstractQueryAnalyzer): method __init__ (line 159) | def __init__(self, conn: SearchConnection, config: ICUAnalyzerConfig) ... method analyze_query (line 166) | async def analyze_query(self, phrases: List[qmod.Phrase]) -> qmod.Quer... method normalize_text (line 219) | def normalize_text(self, text: str) -> str: method split_transliteration (line 226) | def split_transliteration(self, trans: str, word: str) -> list[tuple[s... method split_query (line 254) | def split_query(self, query: qmod.QueryStruct) -> None: method lookup_in_db (line 275) | async def lookup_in_db(self, words: List[str]) -> 'sa.Result[Any]': method add_extra_tokens (line 286) | def add_extra_tokens(self, query: qmod.QueryStruct) -> None: method rerank_tokens (line 302) | def rerank_tokens(self, query: qmod.QueryStruct) -> None: method compute_break_penalties (line 342) | def compute_break_penalties(self, query: qmod.QueryStruct) -> None: function _dump_word_tokens (line 349) | def _dump_word_tokens(query: qmod.QueryStruct) -> Iterator[List[Any]]: function create_query_analyzer (line 363) | async def create_query_analyzer(conn: SearchConnection) -> AbstractQuery... FILE: src/nominatim_api/search/postcode_parser.py class PostcodeParser (line 20) | class PostcodeParser: method __init__ (line 27) | def __init__(self, config: Configuration) -> None: method parse (line 50) | def parse(self, query: qmod.QueryStruct) -> Set[Tuple[int, int, str]]: method _match_word (line 85) | def _match_word(self, word: str, pos: int, fullmatch: bool, FILE: src/nominatim_api/search/query.py function _phrase_compatible_with (line 92) | def _phrase_compatible_with(ptype: PhraseType, ttype: TokenType, class Token (line 113) | class Token(ABC): method get_category (line 125) | def get_category(self) -> Tuple[str, str]: method get_country (line 131) | def get_country(self) -> str: class TokenRange (line 138) | class TokenRange: method __lt__ (line 144) | def __lt__(self, other: 'TokenRange') -> bool: method __le__ (line 147) | def __le__(self, other: 'TokenRange') -> bool: method __gt__ (line 150) | def __gt__(self, other: 'TokenRange') -> bool: method __ge__ (line 153) | def __ge__(self, other: 'TokenRange') -> bool: method replace_start (line 156) | def replace_start(self, new_start: int) -> 'TokenRange': method replace_end (line 161) | def replace_end(self, new_end: int) -> 'TokenRange': method split (line 166) | def split(self, index: int) -> Tuple['TokenRange', 'TokenRange']: class TokenList (line 174) | class TokenList: method add_penalty (line 181) | def add_penalty(self, penalty: float) -> None: class QueryNode (line 189) | class QueryNode: method word_break_penalty (line 221) | def word_break_penalty(self) -> float: method word_continuation_penalty (line 227) | def word_continuation_penalty(self) -> float: method name_address_ratio (line 233) | def name_address_ratio(self) -> float: method has_tokens (line 242) | def has_tokens(self, end: int, *ttypes: TokenType) -> bool: method get_tokens (line 248) | def get_tokens(self, end: int, ttype: TokenType) -> Optional[List[Toke... class Phrase (line 260) | class Phrase: class QueryStruct (line 268) | class QueryStruct: method __init__ (line 288) | def __init__(self, source: List[Phrase]) -> None: method num_token_slots (line 295) | def num_token_slots(self) -> int: method add_node (line 300) | def add_node(self, btype: BreakType, ptype: PhraseType, method add_token (line 308) | def add_token(self, trange: TokenRange, ttype: TokenType, token: Token... method compute_direction_penalty (line 333) | def compute_direction_penalty(self) -> None: method get_tokens (line 348) | def get_tokens(self, trange: TokenRange, ttype: TokenType) -> List[Tok... method get_in_word_penalty (line 358) | def get_in_word_penalty(self, trange: TokenRange) -> float: method iter_partials (line 365) | def iter_partials(self, trange: TokenRange) -> Iterator[Token]: method iter_tokens_by_edge (line 371) | def iter_tokens_by_edge(self) -> Iterator[Tuple[int, int, Dict[TokenTy... method find_lookup_word_by_id (line 384) | def find_lookup_word_by_id(self, token: int) -> str: method extract_words (line 399) | def extract_words(self, start: int = 0, FILE: src/nominatim_api/search/query_analyzer_factory.py class AbstractQueryAnalyzer (line 22) | class AbstractQueryAnalyzer(ABC): method analyze_query (line 29) | async def analyze_query(self, phrases: List['Phrase']) -> 'QueryStruct': method normalize_text (line 34) | def normalize_text(self, text: str) -> str: function make_query_analyzer (line 41) | async def make_query_analyzer(conn: SearchConnection) -> AbstractQueryAn... FILE: src/nominatim_api/search/token_assignment.py class TypedRange (line 19) | class TypedRange: class TokenAssignment (line 30) | class TokenAssignment: method from_ranges (line 44) | def from_ranges(ranges: TypedRangeSeq) -> 'TokenAssignment': class _TokenSequence (line 64) | class _TokenSequence: method __init__ (line 70) | def __init__(self, seq: TypedRangeSeq, method __str__ (line 76) | def __str__(self) -> str: method end_pos (line 81) | def end_pos(self) -> int: method has_types (line 86) | def has_types(self, *ttypes: qmod.TokenType) -> bool: method is_final (line 92) | def is_final(self) -> bool: method appendable (line 100) | def appendable(self, ttype: qmod.TokenType) -> Optional[int]: method advance (line 184) | def advance(self, ttype: qmod.TokenType, end_pos: int, method _adapt_penalty_from_priors (line 210) | def _adapt_penalty_from_priors(self, priors: int, new_dir: int) -> bool: method recheck_sequence (line 222) | def recheck_sequence(self) -> bool: method _get_assignments_postcode (line 249) | def _get_assignments_postcode(self, base: TokenAssignment, method _get_assignments_address_forward (line 267) | def _get_assignments_address_forward(self, base: TokenAssignment, method _get_assignments_address_backward (line 312) | def _get_assignments_address_backward(self, base: TokenAssignment, method get_assignments (line 357) | def get_assignments(self, query: qmod.QueryStruct) -> Iterator[TokenAs... function yield_token_assignments (line 402) | def yield_token_assignments(query: qmod.QueryStruct) -> Iterator[TokenAs... function _append_state_to_todo (line 432) | def _append_state_to_todo(query: qmod.QueryStruct, todo: List[_TokenSequ... FILE: src/nominatim_api/server/asgi_adaptor.py class ASGIAdaptor (line 21) | class ASGIAdaptor(abc.ABC): method get (line 28) | def get(self, name: str, default: Optional[str] = None) -> Optional[str]: method get_header (line 34) | def get_header(self, name: str, default: Optional[str] = None) -> Opti... method error (line 40) | def error(self, msg: str, status: int = 400) -> Exception: method create_response (line 46) | def create_response(self, status: int, output: str, num_results: int) ... method base_uri (line 58) | def base_uri(self) -> str: method config (line 63) | def config(self) -> Configuration: method formatting (line 68) | def formatting(self) -> FormatDispatcher: method query_stats (line 73) | def query_stats(self) -> Optional[QueryStatistics]: method get_int (line 78) | def get_int(self, name: str, default: Optional[int] = None) -> int: method get_float (line 101) | def get_float(self, name: str, default: Optional[float] = None) -> float: method get_bool (line 127) | def get_bool(self, name: str, default: Optional[bool] = None) -> bool: method raise_error (line 145) | def raise_error(self, msg: str, status: int = 400) -> NoReturn: FILE: src/nominatim_api/server/falcon/server.py class HTTPNominatimError (line 28) | class HTTPNominatimError(Exception): method __init__ (line 31) | def __init__(self, msg: str, status: int, content_type: str) -> None: function nominatim_error_handler (line 37) | async def nominatim_error_handler(req: Request, resp: Response, function timeout_error_handler (line 48) | async def timeout_error_handler(req: Request, resp: Response, class ParamWrapper (line 66) | class ParamWrapper(ASGIAdaptor): method __init__ (line 70) | def __init__(self, req: Request, resp: Response, method get (line 77) | def get(self, name: str, default: Optional[str] = None) -> Optional[str]: method get_header (line 80) | def get_header(self, name: str, default: Optional[str] = None) -> Opti... method error (line 83) | def error(self, msg: str, status: int = 400) -> HTTPNominatimError: method create_response (line 86) | def create_response(self, status: int, output: str, num_results: int) ... method base_uri (line 92) | def base_uri(self) -> str: method config (line 95) | def config(self) -> Configuration: method formatting (line 98) | def formatting(self) -> FormatDispatcher: method query_stats (line 101) | def query_stats(self) -> Optional[QueryStatistics]: class EndpointWrapper (line 105) | class EndpointWrapper: method __init__ (line 109) | def __init__(self, name: str, func: EndpointFunc, api: NominatimAPIAsync, method on_get (line 116) | async def on_get(self, req: Request, resp: Response) -> None: class FileLoggingMiddleware (line 123) | class FileLoggingMiddleware: method __init__ (line 127) | def __init__(self, file_name: str, logstr: str): method process_request (line 131) | async def process_request(self, req: Request, _: Response) -> None: method process_response (line 136) | async def process_response(self, req: Request, resp: Response, class APIMiddleware (line 160) | class APIMiddleware: method __init__ (line 164) | def __init__(self, project_dir: Path, environ: Optional[Mapping[str, s... method config (line 169) | def config(self) -> Configuration: method set_app (line 174) | def set_app(self, app: App[Request, Response]) -> None: method process_startup (line 179) | async def process_startup(self, *_: Any) -> None: method process_shutdown (line 195) | async def process_shutdown(self, *_: Any) -> None: function get_application (line 201) | def get_application(project_dir: Path, function run_wsgi (line 224) | def run_wsgi() -> App[Request, Response]: FILE: src/nominatim_api/server/starlette/server.py class ParamWrapper (line 35) | class ParamWrapper(ASGIAdaptor): method __init__ (line 39) | def __init__(self, request: Request) -> None: method get (line 42) | def get(self, name: str, default: Optional[str] = None) -> Optional[str]: method get_header (line 45) | def get_header(self, name: str, default: Optional[str] = None) -> Opti... method error (line 48) | def error(self, msg: str, status: int = 400) -> HTTPException: method create_response (line 52) | def create_response(self, status: int, output: str, num_results: int) ... method base_uri (line 56) | def base_uri(self) -> str: method config (line 68) | def config(self) -> Configuration: method formatting (line 71) | def formatting(self) -> FormatDispatcher: method query_stats (line 74) | def query_stats(self) -> Optional[QueryStatistics]: function _wrap_endpoint (line 78) | def _wrap_endpoint(func: EndpointFunc)\ class FileLoggingMiddleware (line 86) | class FileLoggingMiddleware(BaseHTTPMiddleware): method __init__ (line 90) | def __init__(self, app: Starlette, file_name: str = '', logstr: str = ... method dispatch (line 95) | async def dispatch(self, request: Request, function timeout_error (line 123) | async def timeout_error(request: Request, function get_application (line 136) | def get_application(project_dir: Path, function run_wsgi (line 185) | def run_wsgi() -> Starlette: FILE: src/nominatim_api/sql/sqlalchemy_functions.py class PlacexGeometryReverseLookuppolygon (line 19) | class PlacexGeometryReverseLookuppolygon(sa.sql.functions.GenericFunctio... function _default_intersects (line 31) | def _default_intersects(element: PlacexGeometryReverseLookuppolygon, function _sqlite_intersects (line 41) | def _sqlite_intersects(element: PlacexGeometryReverseLookuppolygon, class IntersectsReverseDistance (line 50) | class IntersectsReverseDistance(sa.sql.functions.GenericFunction[Any]): method __init__ (line 54) | def __init__(self, table: sa.Table, geom: SaColumn) -> None: function default_reverse_place_diameter (line 61) | def default_reverse_place_diameter(element: IntersectsReverseDistance, function sqlite_reverse_place_diameter (line 73) | def sqlite_reverse_place_diameter(element: IntersectsReverseDistance, class IsBelowReverseDistance (line 94) | class IsBelowReverseDistance(sa.sql.functions.GenericFunction[Any]): function default_is_below_reverse_distance (line 100) | def default_is_below_reverse_distance(element: IsBelowReverseDistance, function sqlite_is_below_reverse_distance (line 108) | def sqlite_is_below_reverse_distance(element: IsBelowReverseDistance, class IsAddressPoint (line 115) | class IsAddressPoint(sa.sql.functions.GenericFunction[Any]): method __init__ (line 119) | def __init__(self, table: sa.Table) -> None: function default_is_address_point (line 125) | def default_is_address_point(element: IsAddressPoint, function sqlite_is_address_point (line 138) | def sqlite_is_address_point(element: IsAddressPoint, class CrosscheckNames (line 149) | class CrosscheckNames(sa.sql.functions.GenericFunction[Any]): function compile_crosscheck_names (line 158) | def compile_crosscheck_names(element: CrosscheckNames, function compile_sqlite_crosscheck_names (line 166) | def compile_sqlite_crosscheck_names(element: CrosscheckNames, class JsonArrayEach (line 175) | class JsonArrayEach(sa.sql.functions.GenericFunction[Any]): function default_json_array_each (line 183) | def default_json_array_each(element: JsonArrayEach, compiler: 'sa.Compil... function sqlite_json_array_each (line 188) | def sqlite_json_array_each(element: JsonArrayEach, compiler: 'sa.Compile... class Greatest (line 192) | class Greatest(sa.sql.functions.GenericFunction[Any]): function sqlite_greatest (line 200) | def sqlite_greatest(element: Greatest, compiler: 'sa.Compiled', **kw: An... class RegexpWord (line 204) | class RegexpWord(sa.sql.functions.GenericFunction[Any]): function postgres_regexp_nocase (line 212) | def postgres_regexp_nocase(element: RegexpWord, compiler: 'sa.Compiled',... function sqlite_regexp_nocase (line 219) | def sqlite_regexp_nocase(element: RegexpWord, compiler: 'sa.Compiled', *... FILE: src/nominatim_api/sql/sqlalchemy_schema.py class SearchTables (line 15) | class SearchTables: method __init__ (line 22) | def __init__(self, meta: sa.MetaData) -> None: FILE: src/nominatim_api/sql/sqlalchemy_types/geometry.py class Geometry_DistanceSpheroid (line 20) | class Geometry_DistanceSpheroid(sa.sql.expression.FunctionElement[float]): function _default_distance_spheroid (line 29) | def _default_distance_spheroid(element: Geometry_DistanceSpheroid, function _spatialite_distance_spheroid (line 37) | def _spatialite_distance_spheroid(element: Geometry_DistanceSpheroid, class Geometry_IsLineLike (line 42) | class Geometry_IsLineLike(sa.sql.expression.FunctionElement[Any]): function _default_is_line_like (line 50) | def _default_is_line_like(element: Geometry_IsLineLike, function _sqlite_is_line_like (line 57) | def _sqlite_is_line_like(element: Geometry_IsLineLike, class Geometry_IsAreaLike (line 63) | class Geometry_IsAreaLike(sa.sql.expression.FunctionElement[Any]): function _default_is_area_like (line 71) | def _default_is_area_like(element: Geometry_IsAreaLike, function _sqlite_is_area_like (line 78) | def _sqlite_is_area_like(element: Geometry_IsAreaLike, class Geometry_IntersectsBbox (line 84) | class Geometry_IntersectsBbox(sa.sql.expression.FunctionElement[Any]): function _default_intersects (line 92) | def _default_intersects(element: Geometry_IntersectsBbox, function _sqlite_intersects (line 99) | def _sqlite_intersects(element: Geometry_IntersectsBbox, class Geometry_ColumnIntersectsBbox (line 104) | class Geometry_ColumnIntersectsBbox(sa.sql.expression.FunctionElement[An... function default_intersects_column (line 115) | def default_intersects_column(element: Geometry_ColumnIntersectsBbox, function spatialite_intersects_column (line 122) | def spatialite_intersects_column(element: Geometry_ColumnIntersectsBbox, class Geometry_ColumnDWithin (line 135) | class Geometry_ColumnDWithin(sa.sql.expression.FunctionElement[Any]): function default_dwithin_column (line 146) | def default_dwithin_column(element: Geometry_ColumnDWithin, function spatialite_dwithin_column (line 152) | def spatialite_dwithin_column(element: Geometry_ColumnDWithin, class Geometry (line 167) | class Geometry(types.UserDefinedType): # type: ignore[type-arg] method __init__ (line 173) | def __init__(self, subtype: str = 'Geometry'): method get_col_spec (line 176) | def get_col_spec(self, **_: Any) -> str: method bind_processor (line 179) | def bind_processor(self, dialect: 'sa.Dialect') -> Callable[[Any], str]: method result_processor (line 189) | def result_processor(self, dialect: 'sa.Dialect', coltype: object) -> ... method column_expression (line 195) | def column_expression(self, col: SaColumn) -> SaColumn: method bind_expression (line 198) | def bind_expression(self, bindvalue: SaBind) -> SaColumn: class comparator_factory (line 201) | class comparator_factory(types.UserDefinedType.Comparator): # type: i... method intersects (line 203) | def intersects(self, other: SaColumn, use_index: bool = True) -> 'sa... method is_line_like (line 212) | def is_line_like(self) -> SaColumn: method is_area (line 215) | def is_area(self) -> SaColumn: method within_distance (line 218) | def within_distance(self, other: SaColumn, distance: SaColumn) -> Sa... method ST_Distance (line 224) | def ST_Distance(self, other: SaColumn) -> SaColumn: method ST_Contains (line 227) | def ST_Contains(self, other: SaColumn) -> SaColumn: method ST_CoveredBy (line 230) | def ST_CoveredBy(self, other: SaColumn) -> SaColumn: method ST_ClosestPoint (line 233) | def ST_ClosestPoint(self, other: SaColumn) -> SaColumn: method ST_Buffer (line 237) | def ST_Buffer(self, other: SaColumn) -> SaColumn: method ST_Expand (line 240) | def ST_Expand(self, other: SaColumn) -> SaColumn: method ST_Collect (line 243) | def ST_Collect(self) -> SaColumn: method ST_Centroid (line 246) | def ST_Centroid(self) -> SaColumn: method ST_LineInterpolatePoint (line 249) | def ST_LineInterpolatePoint(self, other: SaColumn) -> SaColumn: method ST_LineLocatePoint (line 252) | def ST_LineLocatePoint(self, other: SaColumn) -> SaColumn: method distance_spheroid (line 255) | def distance_spheroid(self, other: SaColumn) -> SaColumn: function get_col_spec (line 260) | def get_col_spec(self, *args, **kwargs): # type: ignore[no-untyped-def] function _add_function_alias (line 275) | def _add_function_alias(func: str, ftype: type, alias: str) -> None: FILE: src/nominatim_api/sql/sqlalchemy_types/int_array.py class IntList (line 19) | class IntList(sa.types.TypeDecorator[Any]): method process_bind_param (line 25) | def process_bind_param(self, value: Optional[Any], dialect: 'sa.Dialec... method process_result_value (line 32) | def process_result_value(self, value: Optional[Any], class IntArray (line 37) | class IntArray(sa.types.TypeDecorator[Any]): method load_dialect_impl (line 43) | def load_dialect_impl(self, dialect: SaDialect) -> sa.types.TypeEngine... class comparator_factory (line 49) | class comparator_factory(sa.types.UserDefinedType.Comparator): # type... method __add__ (line 51) | def __add__(self, other: SaColumn) -> 'sa.ColumnOperators': method contains (line 57) | def contains(self, other: SaColumn, **kwargs: Any) -> 'sa.ColumnOper... class ArrayAgg (line 64) | class ArrayAgg(sa.sql.functions.GenericFunction[Any]): function sqlite_array_agg (line 74) | def sqlite_array_agg(element: ArrayAgg, compiler: 'sa.Compiled', **kw: A... class ArrayContains (line 78) | class ArrayContains(sa.sql.expression.FunctionElement[Any]): function generic_array_contains (line 86) | def generic_array_contains(element: ArrayContains, compiler: 'sa.Compile... function sqlite_array_contains (line 93) | def sqlite_array_contains(element: ArrayContains, compiler: 'sa.Compiled... class ArrayCat (line 97) | class ArrayCat(sa.sql.expression.FunctionElement[Any]): function generic_array_cat (line 106) | def generic_array_cat(element: ArrayCat, compiler: 'sa.Compiled', **kw: ... function sqlite_array_cat (line 111) | def sqlite_array_cat(element: ArrayCat, compiler: 'sa.Compiled', **kw: A... FILE: src/nominatim_api/sql/sqlalchemy_types/json.py class Json (line 19) | class Json(sa.types.TypeDecorator[Any]): method load_dialect_impl (line 25) | def load_dialect_impl(self, dialect: SaDialect) -> sa.types.TypeEngine... FILE: src/nominatim_api/sql/sqlalchemy_types/key_value.py class KeyValueStore (line 20) | class KeyValueStore(sa.types.TypeDecorator[Any]): method load_dialect_impl (line 26) | def load_dialect_impl(self, dialect: SaDialect) -> sa.types.TypeEngine... class comparator_factory (line 32) | class comparator_factory(sa.types.UserDefinedType.Comparator): # type... method merge (line 34) | def merge(self, other: SaColumn) -> 'sa.Operators': class KeyValueConcat (line 42) | class KeyValueConcat(sa.sql.expression.FunctionElement[Any]): function default_json_concat (line 51) | def default_json_concat(element: KeyValueConcat, compiler: 'sa.Compiled'... function sqlite_json_concat (line 58) | def sqlite_json_concat(element: KeyValueConcat, compiler: 'sa.Compiled',... FILE: src/nominatim_api/sql/sqlite_functions.py function weigh_search (line 14) | def weigh_search(search_vector: Optional[str], rankings: str, default: f... class ArrayIntersectFuzzy (line 26) | class ArrayIntersectFuzzy: method __init__ (line 33) | def __init__(self) -> None: method step (line 37) | def step(self, value: Optional[str]) -> None: method finalize (line 48) | def finalize(self) -> str: class ArrayUnion (line 57) | class ArrayUnion: method __init__ (line 62) | def __init__(self) -> None: method step (line 65) | def step(self, value: Optional[str]) -> None: method finalize (line 74) | def finalize(self) -> str: function array_contains (line 80) | def array_contains(container: Optional[str], containee: Optional[str]) -... function array_pair_contains (line 90) | def array_pair_contains(container1: Optional[str], container2: Optional[... function install_custom_functions (line 102) | def install_custom_functions(conn: Any) -> None: function _make_aggregate (line 113) | async def _make_aggregate(aioconn: Any, *args: Any) -> None: function _create_aggregate (line 117) | def _create_aggregate(conn: Any, name: str, nargs: int, aggregate: Any) ... FILE: src/nominatim_api/status.py class StatusResult (line 21) | class StatusResult: function get_status (line 31) | async def get_status(conn: SearchConnection) -> StatusResult: FILE: src/nominatim_api/timeout.py class Timeout (line 14) | class Timeout: method __init__ (line 18) | def __init__(self, timeout: Optional[Union[int, float]]) -> None: method is_elapsed (line 21) | def is_elapsed(self) -> bool: FILE: src/nominatim_api/types.py class PlaceID (line 26) | class PlaceID: method __str__ (line 39) | def __str__(self) -> str: class OsmID (line 44) | class OsmID: method __str__ (line 65) | def __str__(self) -> str: method __post_init__ (line 68) | def __post_init__(self) -> None: method class_as_housenumber (line 72) | def class_as_housenumber(self) -> Optional[int]: class Point (line 87) | class Point(NamedTuple): method lat (line 94) | def lat(self) -> float: method lon (line 100) | def lon(self) -> float: method to_geojson (line 105) | def to_geojson(self) -> str: method from_wkb (line 111) | def from_wkb(wkb: Union[str, bytes]) -> 'Point': method from_param (line 133) | def from_param(inp: Any) -> 'Point': method to_wkt (line 160) | def to_wkt(self) -> str: class Bbox (line 172) | class Bbox: method __init__ (line 178) | def __init__(self, minx: float, miny: float, maxx: float, maxy: float)... method minlat (line 185) | def minlat(self) -> float: method maxlat (line 191) | def maxlat(self) -> float: method minlon (line 197) | def minlon(self) -> float: method maxlon (line 203) | def maxlon(self) -> float: method area (line 209) | def area(self) -> float: method contains (line 214) | def contains(self, pt: Point) -> bool: method to_wkt (line 220) | def to_wkt(self) -> str: method from_wkb (line 228) | def from_wkb(wkb: Union[None, str, bytes]) -> 'Optional[Bbox]': method from_point (line 250) | def from_point(pt: Point, buffer: float) -> 'Bbox': method from_param (line 257) | def from_param(inp: Any) -> 'Bbox': class GeometryFormat (line 289) | class GeometryFormat(enum.Flag): class DataLayer (line 316) | class DataLayer(enum.Flag): class QueryStatistics (line 346) | class QueryStatistics(dict[str, Any]): method __enter__ (line 350) | def __enter__(self) -> 'QueryStatistics': method __exit__ (line 354) | def __exit__(self, *_: Any) -> None: method __missing__ (line 364) | def __missing__(self, key: str) -> str: method log_time (line 367) | def log_time(self, key: str) -> None: class NoQueryStats (line 371) | class NoQueryStats: method __enter__ (line 375) | def __enter__(self) -> 'NoQueryStats': method __exit__ (line 378) | def __exit__(self, *_: Any) -> None: method __setitem__ (line 381) | def __setitem__(self, key: str, value: Any) -> None: method __getitem__ (line 384) | def __getitem__(self, key: str) -> Any: method __contains__ (line 387) | def __contains__(self, key: str, default: Any = None) -> bool: method log_time (line 390) | def log_time(self, key: str) -> None: function format_country (line 394) | def format_country(cc: Any) -> List[str]: function format_excluded (line 411) | def format_excluded(ids: Any) -> List[PlaceRef]: function format_categories (line 450) | def format_categories(categories: List[Tuple[str, str]]) -> List[Tuple[s... class LookupDetails (line 460) | class LookupDetails: method from_kwargs (line 498) | def from_kwargs(cls: Type[TParam], kwargs: Dict[str, Any]) -> TParam: class ReverseDetails (line 522) | class ReverseDetails(LookupDetails): class SearchDetails (line 537) | class SearchDetails(LookupDetails): method __post_init__ (line 609) | def __post_init__(self) -> None: method excluded_place_ids (line 617) | def excluded_place_ids(self) -> List[int]: method restrict_min_max_rank (line 624) | def restrict_min_max_rank(self, new_min: int, new_max: int) -> None: method is_impossible (line 632) | def is_impossible(self) -> bool: method layer_enabled (line 644) | def layer_enabled(self, layer: DataLayer) -> bool: class EntranceDetails (line 652) | class EntranceDetails: FILE: src/nominatim_api/utils/json_writer.py class JsonWriter (line 20) | class JsonWriter: method __init__ (line 33) | def __init__(self) -> None: method __call__ (line 37) | def __call__(self) -> str: method start_object (line 47) | def start_object(self) -> 'JsonWriter': method end_object (line 55) | def end_object(self) -> 'JsonWriter': method start_array (line 64) | def start_array(self) -> 'JsonWriter': method end_array (line 72) | def end_array(self) -> 'JsonWriter': method key (line 81) | def key(self, name: str) -> 'JsonWriter': method value (line 90) | def value(self, value: Any) -> 'JsonWriter': method float (line 97) | def float(self, value: float, precision: int) -> 'JsonWriter': method next (line 102) | def next(self) -> 'JsonWriter': method raw (line 110) | def raw(self, raw_json: str) -> 'JsonWriter': method keyval (line 120) | def keyval(self, key: str, value: Any) -> 'JsonWriter': method keyval_not_none (line 128) | def keyval_not_none(self, key: str, value: Optional[T], FILE: src/nominatim_api/v1/classtypes.py function get_label_tag (line 19) | def get_label_tag(category: Tuple[str, str], extratags: Optional[Mapping... function bbox_from_result (line 46) | def bbox_from_result(result: Union[ReverseResult, SearchResult]) -> Bbox: FILE: src/nominatim_api/v1/format.py class RawDataList (line 27) | class RawDataList(List[Dict[str, Any]]): function _format_error (line 38) | def _format_error(content_type: str, msg: str, status: int) -> str: function _format_status_text (line 60) | def _format_status_text(result: StatusResult, _: Mapping[str, Any]) -> str: function _format_status_json (line 68) | def _format_status_json(result: StatusResult, _: Mapping[str, Any]) -> str: function _add_address_row (line 83) | def _add_address_row(writer: JsonWriter, row: AddressLine, function _add_address_rows (line 105) | def _add_address_rows(writer: JsonWriter, section: str, rows: AddressLines, function _add_parent_rows_grouped (line 114) | def _add_parent_rows_grouped(writer: JsonWriter, rows: AddressLines, function _format_details_json (line 135) | def _format_details_json(result: DetailedResult, options: Mapping[str, A... function _format_reverse_xml (line 209) | def _format_reverse_xml(results: ReverseResults, options: Mapping[str, A... function _format_reverse_geojson (line 216) | def _format_reverse_geojson(results: ReverseResults, function _format_reverse_geocodejson (line 222) | def _format_reverse_geocodejson(results: ReverseResults, function _format_reverse_json (line 228) | def _format_reverse_json(results: ReverseResults, function _format_reverse_jsonv2 (line 235) | def _format_reverse_jsonv2(results: ReverseResults, function _format_search_xml (line 242) | def _format_search_xml(results: SearchResults, options: Mapping[str, Any... function _format_search_geojson (line 252) | def _format_search_geojson(results: SearchResults, function _format_search_geocodejson (line 258) | def _format_search_geocodejson(results: SearchResults, function _format_search_json (line 264) | def _format_search_json(results: SearchResults, function _format_search_jsonv2 (line 271) | def _format_search_jsonv2(results: SearchResults, function _format_raw_data_json (line 278) | def _format_raw_data_json(results: RawDataList, _: Mapping[str, Any]) -... FILE: src/nominatim_api/v1/format_json.py function _write_osm_id (line 19) | def _write_osm_id(out: JsonWriter, osm_object: Optional[Tuple[str, int]]... function _write_typed_address (line 25) | def _write_typed_address(out: JsonWriter, address: Optional[AddressLines], function _write_geocodejson_address (line 45) | def _write_geocodejson_address(out: JsonWriter, function write_entrances (line 69) | def write_entrances(out: JsonWriter, entrances: Optional[List[EntranceDe... function format_base_json (line 91) | def format_base_json(results: Union[ReverseResults, SearchResults], function format_base_geojson (line 171) | def format_base_geojson(results: Union[ReverseResults, SearchResults], function format_base_geocodejson (line 236) | def format_base_geocodejson(results: Union[ReverseResults, SearchResults], FILE: src/nominatim_api/v1/format_xml.py function _write_xml_address (line 21) | def _write_xml_address(root: ET.Element, address: AddressLines, function _create_base_entry (line 41) | def _create_base_entry(result: Union[ReverseResult, SearchResult], function _create_entrance (line 87) | def _create_entrance(root: ET.Element, entrance: EntranceDetails) -> None: function format_base_xml (line 99) | def format_base_xml(results: Union[ReverseResults, SearchResults], FILE: src/nominatim_api/v1/helpers.py function _add_admin_level (line 19) | def _add_admin_level(result: BaseResult) -> Optional[Dict[str, str]]: function zoom_to_rank (line 45) | def zoom_to_rank(zoom: int) -> int: function feature_type_to_rank (line 59) | def feature_type_to_rank(feature_type: Optional[str]) -> Tuple[int, int]: function extend_query_parts (line 66) | def extend_query_parts(queryparts: Dict[str, Any], details: Dict[str, Any], function deduplicate_results (line 110) | def deduplicate_results(results: SearchResults, max_results: int) -> Sea... function _deg (line 138) | def _deg(axis: str) -> str: function _deg_min (line 142) | def _deg_min(axis: str) -> str: function _deg_min_sec (line 146) | def _deg_min_sec(axis: str) -> str: function extract_coords_from_query (line 161) | def extract_coords_from_query(query: str) -> Tuple[str, Optional[float],... function extract_category_from_query (line 193) | def extract_category_from_query(query: str) -> Tuple[str, Optional[str],... FILE: src/nominatim_api/v1/server_glue.py function build_response (line 33) | def build_response(adaptor: ASGIAdaptor, output: str, status: int = 200, function get_accepted_languages (line 49) | def get_accepted_languages(adaptor: ASGIAdaptor) -> str: function setup_debugging (line 57) | def setup_debugging(adaptor: ASGIAdaptor) -> bool: function get_layers (line 70) | def get_layers(adaptor: ASGIAdaptor) -> Optional[DataLayer]: function parse_format (line 82) | def parse_format(adaptor: ASGIAdaptor, result_type: Type[Any], default: ... function parse_geometry_details (line 100) | def parse_geometry_details(adaptor: ASGIAdaptor, fmt: str) -> Dict[str, ... function has_search_name (line 128) | def has_search_name(conn: sa.engine.Connection) -> bool: function status_endpoint (line 134) | async def status_endpoint(api: NominatimAPIAsync, params: ASGIAdaptor) -... function details_endpoint (line 150) | async def details_endpoint(api: NominatimAPIAsync, params: ASGIAdaptor) ... function reverse_endpoint (line 199) | async def reverse_endpoint(api: NominatimAPIAsync, params: ASGIAdaptor) ... function lookup_endpoint (line 242) | async def lookup_endpoint(api: NominatimAPIAsync, params: ASGIAdaptor) -... function _unstructured_search (line 281) | async def _unstructured_search(query: str, api: NominatimAPIAsync, function search_endpoint (line 312) | async def search_endpoint(api: NominatimAPIAsync, params: ASGIAdaptor) -... function deletable_endpoint (line 401) | async def deletable_endpoint(api: NominatimAPIAsync, params: ASGIAdaptor... function polygons_endpoint (line 424) | async def polygons_endpoint(api: NominatimAPIAsync, params: ASGIAdaptor)... function search_unavailable_endpoint (line 456) | async def search_unavailable_endpoint(api: NominatimAPIAsync, params: AS... class LazySearchEndpoint (line 463) | class LazySearchEndpoint: method __init__ (line 473) | def __init__(self, api: NominatimAPIAsync, real_endpoint: EndpointFunc): method set_wrapper (line 480) | def set_wrapper(self, wrapper: Any) -> None: method __call__ (line 483) | async def __call__(self, api: NominatimAPIAsync, params: ASGIAdaptor) ... function get_routes (line 511) | async def get_routes(api: NominatimAPIAsync) -> Sequence[Tuple[str, Endp... FILE: src/nominatim_db/cli.py class CommandlineParser (line 28) | class CommandlineParser: method __init__ (line 32) | def __init__(self, prog: str, description: Optional[str]): method nominatim_version_text (line 60) | def nominatim_version_text(self) -> str: method add_subcommand (line 68) | def add_subcommand(self, name: str, cmd: Subcommand) -> None: method run (line 83) | def run(self, cli_args: Optional[List[str]], class AdminServe (line 136) | class AdminServe: method add_args (line 152) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 160) | def run(self, args: NominatimArgs) -> int: method run_uvicorn (line 165) | async def run_uvicorn(self, args: NominatimArgs) -> None: function get_set_parser (line 186) | def get_set_parser() -> CommandlineParser: function nominatim (line 232) | def nominatim(cli_args: Optional[List[str]] = None, FILE: src/nominatim_db/clicmd/add_data.py class UpdateAddData (line 25) | class UpdateAddData: method add_args (line 42) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 65) | def run(self, args: NominatimArgs) -> int: method _add_tiger_data (line 102) | async def _add_tiger_data(self, args: NominatimArgs) -> int: FILE: src/nominatim_db/clicmd/admin.py class AdminFuncs (line 22) | class AdminFuncs: method add_args (line 27) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 56) | def run(self, args: NominatimArgs) -> int: method _warm (line 90) | def _warm(self, args: NominatimArgs) -> int: FILE: src/nominatim_db/clicmd/api.py function _add_list_format (line 50) | def _add_list_format(parser: argparse.ArgumentParser) -> None: function _add_api_output_arguments (line 56) | def _add_api_output_arguments(parser: argparse.ArgumentParser) -> None: function _get_geometry_output (line 74) | def _get_geometry_output(args: NominatimArgs) -> napi.GeometryFormat: function _get_locales (line 95) | def _get_locales(args: NominatimArgs, config: Configuration) -> napi.Loc... function _get_layers (line 107) | def _get_layers(args: NominatimArgs, default: Optional[napi.DataLayer]) ... function _list_formats (line 117) | def _list_formats(formatter: napi.FormatDispatcher, rtype: Type[Any]) ->... function _print_output (line 126) | def _print_output(formatter: napi.FormatDispatcher, result: Any, class APISearch (line 146) | class APISearch: method add_args (line 156) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 184) | def run(self, args: NominatimArgs) -> int: class APIReverse (line 244) | class APIReverse: method add_args (line 254) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 270) | def run(self, args: NominatimArgs) -> int: class APILookup (line 319) | class APILookup: method add_args (line 329) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 338) | def run(self, args: NominatimArgs) -> int: class APIDetails (line 379) | class APIDetails: method add_args (line 389) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 424) | def run(self, args: NominatimArgs) -> int: class APIStatus (line 480) | class APIStatus: method add_args (line 490) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 496) | def run(self, args: NominatimArgs) -> int: FILE: src/nominatim_db/clicmd/args.py class Subcommand (line 23) | class Subcommand(Protocol): method add_args (line 28) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 34) | def run(self, args: 'NominatimArgs') -> int: class NominatimArgs (line 40) | class NominatimArgs: method osm2pgsql_options (line 187) | def osm2pgsql_options(self, default_cache: int, method get_osm_file_list (line 207) | def get_osm_file_list(self) -> Optional[List[Path]]: FILE: src/nominatim_db/clicmd/convert.py class WithAction (line 19) | class WithAction(argparse.Action): method __init__ (line 23) | def __init__(self, option_strings: Sequence[str], dest: Any, method __call__ (line 42) | def __call__(self, parser: argparse.ArgumentParser, namespace: argpars... class ConvertDB (line 52) | class ConvertDB: method __init__ (line 60) | def __init__(self) -> None: method add_args (line 63) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 79) | def run(self, args: NominatimArgs) -> int: FILE: src/nominatim_db/clicmd/export.py class QueryExport (line 50) | class QueryExport: method add_args (line 57) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 84) | def run(self, args: NominatimArgs) -> int: function export (line 88) | async def export(args: NominatimArgs) -> int: function init_csv_writer (line 142) | def init_csv_writer(output_format: str) -> 'csv.DictWriter[str]': function dump_results (line 150) | async def dump_results(conn: napi.SearchConnection, function get_parent_id (line 174) | async def get_parent_id(conn: napi.SearchConnection, node_id: Optional[i... FILE: src/nominatim_db/clicmd/freeze.py class SetupFreeze (line 16) | class SetupFreeze: method add_args (line 28) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 31) | def run(self, args: NominatimArgs) -> int: FILE: src/nominatim_db/clicmd/index.py class UpdateIndex (line 20) | class UpdateIndex: method add_args (line 30) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 41) | def run(self, args: NominatimArgs) -> int: method _do_index (line 51) | async def _do_index(self, args: NominatimArgs) -> None: FILE: src/nominatim_db/clicmd/refresh.py function _parse_osm_object (line 25) | def _parse_osm_object(obj: str) -> Tuple[str, int]: class UpdateRefresh (line 35) | class UpdateRefresh: method __init__ (line 47) | def __init__(self) -> None: method add_args (line 50) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 92) | def run(self, args: NominatimArgs) -> int: method _get_tokenizer (line 184) | def _get_tokenizer(self, config: Configuration) -> AbstractTokenizer: FILE: src/nominatim_db/clicmd/replication.py class UpdateReplication (line 26) | class UpdateReplication: method add_args (line 44) | def add_args(self, parser: argparse.ArgumentParser) -> None: method _init_replication (line 70) | def _init_replication(self, args: NominatimArgs) -> int: method _check_for_updates (line 82) | def _check_for_updates(self, args: NominatimArgs) -> int: method _report_update (line 89) | def _report_update(self, batchdate: dt.datetime, method _compute_update_interval (line 102) | def _compute_update_interval(self, args: NominatimArgs) -> int: method _update (line 118) | async def _update(self, args: NominatimArgs) -> None: method run (line 179) | def run(self, args: NominatimArgs) -> int: FILE: src/nominatim_db/clicmd/setup.py class SetupAll (line 31) | class SetupAll: method add_args (line 40) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 71) | def run(self, args: NominatimArgs) -> int: method async_run (line 85) | async def async_run(self, args: NominatimArgs) -> int: method _base_import (line 152) | def _base_import(self, args: NominatimArgs) -> None: method _setup_tables (line 190) | def _setup_tables(self, config: Configuration, reverse_only: bool) -> ... method _get_tokenizer (line 211) | def _get_tokenizer(self, continue_at: Optional[str], method _finalize_database (line 224) | def _finalize_database(self, dsn: str, offline: bool) -> None: FILE: src/nominatim_db/clicmd/special_phrases.py class ImportSpecialPhrases (line 25) | class ImportSpecialPhrases: method add_args (line 53) | def add_args(self, parser: argparse.ArgumentParser) -> None: method run (line 64) | def run(self, args: NominatimArgs) -> int: method start_import (line 78) | def start_import(self, args: NominatimArgs, loader: SpecialPhraseLoade... FILE: src/nominatim_db/config.py function flatten_config_list (line 32) | def flatten_config_list(content: Any, section: str = '') -> List[Any]: class Configuration (line 52) | class Configuration: method __init__ (line 64) | def __init__(self, project_dir: Optional[Union[Path, str]], method set_libdirs (line 88) | def set_libdirs(self, **kwargs: StrPath) -> None: method __getattr__ (line 94) | def __getattr__(self, name: str) -> str: method get_bool (line 102) | def get_bool(self, name: str) -> bool: method get_int (line 114) | def get_int(self, name: str) -> int: method get_str_list (line 133) | def get_str_list(self, name: str) -> Optional[List[str]]: method get_path (line 152) | def get_path(self, name: str) -> Optional[Path]: method get_libpq_dsn (line 177) | def get_libpq_dsn(self) -> str: method get_database_params (line 196) | def get_database_params(self) -> Mapping[str, Union[str, int, None]]: method get_import_style_file (line 207) | def get_import_style_file(self) -> Path: method get_os_env (line 219) | def get_os_env(self) -> Dict[str, str]: method load_sub_configuration (line 228) | def load_sub_configuration(self, filename: StrPath, method load_plugin_module (line 265) | def load_plugin_module(self, module_name: str, internal_path: str) -> ... method find_config_file (line 307) | def find_config_file(self, filename: StrPath, method _load_from_yaml (line 339) | def _load_from_yaml(self, cfgfile: Path) -> Any: method _yaml_include_representer (line 347) | def _yaml_include_representer(self, loader: Any, node: yaml.Node) -> Any: FILE: src/nominatim_db/data/country_info.py function _flatten_name_list (line 20) | def _flatten_name_list(names: Any) -> Dict[str, str]: class _CountryInfo (line 43) | class _CountryInfo: method __init__ (line 47) | def __init__(self) -> None: method load (line 50) | def load(self, config: Configuration) -> None: method items (line 65) | def items(self) -> Iterable[Tuple[str, Dict[str, Any]]]: method get (line 70) | def get(self, country_code: str) -> Dict[str, Any]: function setup_country_config (line 79) | def setup_country_config(config: Configuration) -> None: function iterate (line 88) | def iterate() -> Iterable[Tuple[str, Dict[str, Any]]]: function iterate (line 93) | def iterate(prop: str) -> Iterable[Tuple[str, Any]]: function iterate (line 97) | def iterate(prop: Optional[str] = None) -> Iterable[Tuple[str, Dict[str,... function setup_country_tables (line 113) | def setup_country_tables(dsn: str, sql_dir: Path, ignore_partitions: boo... function create_country_names (line 149) | def create_country_names(conn: Connection, tokenizer: AbstractTokenizer, FILE: src/nominatim_db/data/place_info.py class PlaceInfo (line 14) | class PlaceInfo: method __init__ (line 19) | def __init__(self, info: Mapping[str, Any]) -> None: method name (line 23) | def name(self) -> Optional[Mapping[str, str]]: method address (line 32) | def address(self) -> Optional[Mapping[str, str]]: method country_code (line 46) | def country_code(self) -> Optional[str]: method rank_address (line 54) | def rank_address(self) -> int: method centroid (line 62) | def centroid(self) -> Optional[Tuple[float, float]]: method is_a (line 69) | def is_a(self, key: str, value: str) -> bool: method is_country (line 75) | def is_country(self) -> bool: FILE: src/nominatim_db/data/place_name.py class PlaceName (line 13) | class PlaceName: method __init__ (line 30) | def __init__(self, name: str, kind: str, suffix: Optional[str]): method __repr__ (line 36) | def __repr__(self) -> str: method clone (line 39) | def clone(self, name: Optional[str] = None, method set_attr (line 59) | def set_attr(self, key: str, value: str) -> None: method get_attr (line 65) | def get_attr(self, key: str, default: Optional[str] = None) -> Optiona... method has_attr (line 71) | def has_attr(self, key: str) -> bool: FILE: src/nominatim_db/data/postcode_format.py class CountryPostcodeMatcher (line 18) | class CountryPostcodeMatcher: method __init__ (line 22) | def __init__(self, country_code: str, config: Mapping[str, Any]) -> None: method match (line 37) | def match(self, postcode: str) -> Optional[Match[str]]: method normalize (line 53) | def normalize(self, match: Match[str]) -> str: class PostcodeFormatter (line 61) | class PostcodeFormatter: method __init__ (line 65) | def __init__(self) -> None: method set_default_pattern (line 82) | def set_default_pattern(self, pattern: str) -> None: method get_matcher (line 88) | def get_matcher(self, country_code: Optional[str]) -> Optional[Country... method match (line 101) | def match(self, country_code: Optional[str], postcode: str) -> Optiona... method normalize (line 113) | def normalize(self, country_code: str, match: Match[str]) -> str: method get_postcode_extent (line 120) | def get_postcode_extent(self, country_code: Optional[str]) -> int: FILE: src/nominatim_db/db/connection.py function execute_scalar (line 27) | def execute_scalar(conn: Connection, sql: psycopg.abc.Query, args: Any =... function table_exists (line 43) | def table_exists(conn: Connection, table: str) -> bool: function table_has_column (line 53) | def table_has_column(conn: Connection, table: str, column: str) -> bool: function index_exists (line 63) | def index_exists(conn: Connection, index: str, table: Optional[str] = No... function drop_tables (line 83) | def drop_tables(conn: Connection, *names: str, function server_version_tuple (line 100) | def server_version_tuple(conn: Connection) -> Tuple[int, int]: function postgis_version_tuple (line 111) | def postgis_version_tuple(conn: Connection) -> Tuple[int, int]: function register_hstore (line 125) | def register_hstore(conn: Connection) -> None: function connect (line 134) | def connect(dsn: str, **kwargs: Any) -> Connection: function get_pg_env (line 178) | def get_pg_env(dsn: str, function run_async_query (line 196) | async def run_async_query(dsn: str, query: psycopg.abc.Query) -> None: FILE: src/nominatim_db/db/properties.py function set_property (line 15) | def set_property(conn: Connection, name: str, value: str) -> None: function get_property (line 31) | def get_property(conn: Connection, name: str) -> Optional[str]: FILE: src/nominatim_db/db/query_pool.py class QueryPool (line 22) | class QueryPool: method __init__ (line 29) | def __init__(self, dsn: str, pool_size: int = 1, **conn_args: Any) -> ... method put_query (line 37) | async def put_query(self, query: psycopg.abc.Query, params: Any) -> None: method finish (line 54) | async def finish(self) -> None: method clear_queue (line 69) | def clear_queue(self) -> None: method _worker_loop_cancellable (line 78) | async def _worker_loop_cancellable(self, dsn: str, **conn_args: Any) -... method _worker_loop (line 88) | async def _worker_loop(self, dsn: str, **conn_args: Any) -> None: method __aenter__ (line 108) | async def __aenter__(self) -> 'QueryPool': method __aexit__ (line 111) | async def __aexit__(self, exc_type: Any, exc_value: Any, traceback: An... FILE: src/nominatim_db/db/sql_preprocessor.py function _get_partitions (line 20) | def _get_partitions(conn: Connection) -> Set[int]: function _get_tables (line 32) | def _get_tables(conn: Connection) -> Set[str]: function _get_middle_db_format (line 43) | def _get_middle_db_format(conn: Connection, tables: Set[str]) -> str: function _setup_tablespace_sql (line 56) | def _setup_tablespace_sql(config: Configuration) -> Dict[str, str]: function _setup_postgresql_features (line 71) | def _setup_postgresql_features(conn: Connection) -> Dict[str, Any]: class SQLPreprocessor (line 78) | class SQLPreprocessor: method __init__ (line 89) | def __init__(self, conn: Connection, config: Configuration) -> None: method run_string (line 104) | def run_string(self, conn: Connection, template: str, **kwargs: Any) -... method run_sql_file (line 115) | def run_sql_file(self, conn: Connection, name: str, **kwargs: Any) -> ... method run_parallel_sql_file (line 125) | async def run_parallel_sql_file(self, dsn: str, name: str, num_threads... FILE: src/nominatim_db/db/status.py function compute_database_date (line 23) | def compute_database_date(conn: Connection, offline: bool = False) -> dt... function set_status (line 67) | def set_status(conn: Connection, date: Optional[dt.datetime], function get_status (line 87) | def get_status(conn: Connection) -> Tuple[Optional[dt.datetime], Optiona... function set_indexed (line 101) | def set_indexed(conn: Connection, state: bool) -> None: function log_status (line 109) | def log_status(conn: Connection, start: dt.datetime, FILE: src/nominatim_db/db/utils.py function _pipe_to_proc (line 22) | def _pipe_to_proc(proc: 'subprocess.Popen[bytes]', function execute_file (line 36) | def execute_file(dsn: str, fname: Path, FILE: src/nominatim_db/errors.py class UsageError (line 12) | class UsageError(Exception): FILE: src/nominatim_db/indexer/indexer.py class Indexer (line 25) | class Indexer: method __init__ (line 29) | def __init__(self, dsn: str, tokenizer: AbstractTokenizer, num_threads... method has_pending (line 34) | def has_pending(self, minrank: int = 0, maxrank: int = 30) -> bool: method index_full (line 49) | async def index_full(self, analyse: bool = True) -> None: method index_boundaries (line 85) | async def index_boundaries(self, minrank: int = 0, maxrank: int = 30) ... method index_by_rank (line 119) | async def index_by_rank(self, minrank: int, maxrank: int) -> int: method index_postcodes (line 167) | async def index_postcodes(self) -> int: method update_status_table (line 174) | def update_status_table(self) -> None: method _index (line 183) | async def _index(self, runner: runners.Runner, batch: int = 1, method _prepare_indexing (line 233) | def _prepare_indexing(self, runner: runners.Runner) -> int: FILE: src/nominatim_db/indexer/progress.py class ProgressLogger (line 18) | class ProgressLogger: method __init__ (line 26) | def __init__(self, name: str, total: int, log_interval: int = 1) -> None: method add (line 34) | def add(self, num: int = 1) -> None: method done (line 59) | def done(self) -> int: FILE: src/nominatim_db/indexer/runners.py function _mk_valuelist (line 23) | def _mk_valuelist(template: str, num: int) -> pysql.Composed: function _analyze_place (line 27) | def _analyze_place(place: DictRow, analyzer: AbstractAnalyzer) -> Json: class Runner (line 31) | class Runner(Protocol): method name (line 32) | def name(self) -> str: ... method sql_count_objects (line 33) | def sql_count_objects(self) -> Query: ... method sql_get_objects (line 34) | def sql_get_objects(self) -> Query: ... method index_places_query (line 35) | def index_places_query(self, batch_size: int) -> Query: ... method index_places_params (line 36) | def index_places_params(self, place: DictRow) -> Sequence[Any]: ... class AbstractPlacexRunner (line 45) | class AbstractPlacexRunner: method __init__ (line 49) | def __init__(self, rank: int, analyzer: AbstractAnalyzer) -> None: method index_places_query (line 53) | def index_places_query(self, batch_size: int) -> Query: method index_places_params (line 62) | def index_places_params(self, place: DictRow) -> Sequence[Any]: class RankRunner (line 70) | class RankRunner(AbstractPlacexRunner): method name (line 74) | def name(self) -> str: method sql_count_objects (line 77) | def sql_count_objects(self) -> pysql.Composed: method sql_get_objects (line 82) | def sql_get_objects(self) -> pysql.Composed: class BoundaryRunner (line 89) | class BoundaryRunner(AbstractPlacexRunner): method name (line 94) | def name(self) -> str: method sql_count_objects (line 97) | def sql_count_objects(self) -> Query: method sql_get_objects (line 104) | def sql_get_objects(self) -> Query: class InterpolationRunner (line 112) | class InterpolationRunner: method __init__ (line 117) | def __init__(self, analyzer: AbstractAnalyzer) -> None: method name (line 120) | def name(self) -> str: method sql_count_objects (line 123) | def sql_count_objects(self) -> Query: method sql_get_objects (line 127) | def sql_get_objects(self) -> Query: method index_places_query (line 133) | def index_places_query(self, batch_size: int) -> Query: method index_places_params (line 140) | def index_places_params(self, place: DictRow) -> Sequence[Any]: class PostcodeRunner (line 145) | class PostcodeRunner(Runner): method name (line 149) | def name(self) -> str: method sql_count_objects (line 152) | def sql_count_objects(self) -> Query: method sql_get_objects (line 155) | def sql_get_objects(self) -> Query: method index_places_query (line 160) | def index_places_query(self, batch_size: int) -> Query: method index_places_params (line 165) | def index_places_params(self, place: DictRow) -> Sequence[Any]: FILE: src/nominatim_db/tokenizer/base.py class AbstractAnalyzer (line 20) | class AbstractAnalyzer(ABC): method __enter__ (line 28) | def __enter__(self) -> 'AbstractAnalyzer': method __exit__ (line 31) | def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> N... method close (line 35) | def close(self) -> None: method get_word_token_info (line 40) | def get_word_token_info(self, words: List[str]) -> List[Tuple[str, str... method normalize_postcode (line 58) | def normalize_postcode(self, postcode: str) -> str: method update_postcodes_from_db (line 72) | def update_postcodes_from_db(self) -> None: method update_special_phrases (line 78) | def update_special_phrases(self, method add_country_names (line 93) | def add_country_names(self, country_code: str, names: Dict[str, str]) ... method process_place (line 103) | def process_place(self, place: PlaceInfo) -> Any: class AbstractTokenizer (line 117) | class AbstractTokenizer(ABC): method init_new_db (line 124) | def init_new_db(self, config: Configuration, init_db: bool = True) -> ... method init_from_project (line 141) | def init_from_project(self, config: Configuration) -> None: method finalize_import (line 152) | def finalize_import(self, config: Configuration) -> None: method update_sql_functions (line 163) | def update_sql_functions(self, config: Configuration) -> None: method check_database (line 176) | def check_database(self, config: Configuration) -> Optional[str]: method update_statistics (line 190) | def update_statistics(self, config: Configuration, threads: int = 1) -... method update_word_tokens (line 198) | def update_word_tokens(self) -> None: method name_analyzer (line 204) | def name_analyzer(self) -> AbstractAnalyzer: method most_frequent_words (line 219) | def most_frequent_words(self, conn: Connection, num: int) -> List[str]: class TokenizerModule (line 229) | class TokenizerModule(Protocol): method create (line 234) | def create(self, dsn: str) -> AbstractTokenizer: FILE: src/nominatim_db/tokenizer/factory.py function _import_tokenizer (line 33) | def _import_tokenizer(name: str) -> TokenizerModule: function create_tokenizer (line 45) | def create_tokenizer(config: Configuration, init_db: bool = True, function get_tokenizer_for_db (line 67) | def get_tokenizer_for_db(config: Configuration) -> AbstractTokenizer: FILE: src/nominatim_db/tokenizer/icu_rule_loader.py function _get_section (line 33) | def _get_section(rules: Mapping[str, Any], section: str) -> Any: class ICURuleLoader (line 44) | class ICURuleLoader: method __init__ (line 48) | def __init__(self, config: Configuration) -> None: method load_config_from_db (line 64) | def load_config_from_db(self, conn: Connection) -> None: method save_config_to_db (line 83) | def save_config_to_db(self, conn: Connection) -> None: method make_sanitizer (line 91) | def make_sanitizer(self) -> PlaceSanitizer: method make_token_analysis (line 96) | def make_token_analysis(self) -> ICUTokenAnalysis: method get_search_rules (line 102) | def get_search_rules(self) -> str: method get_normalization_rules (line 114) | def get_normalization_rules(self) -> str: method get_transliteration_rules (line 119) | def get_transliteration_rules(self) -> str: method _setup_analysis (line 124) | def _setup_analysis(self) -> None: method _cfg_to_icu_rules (line 150) | def _cfg_to_icu_rules(rules: Mapping[str, Any], section: str) -> str: class TokenAnalyzerRule (line 165) | class TokenAnalyzerRule: method __init__ (line 170) | def __init__(self, rules: Mapping[str, Any], method create (line 183) | def create(self, normalizer: Any, transliterator: Any) -> Analyzer: FILE: src/nominatim_db/tokenizer/icu_token_analysis.py class ICUTokenAnalysis (line 21) | class ICUTokenAnalysis: method __init__ (line 26) | def __init__(self, norm_rules: str, trans_rules: str, method get_analyzer (line 41) | def get_analyzer(self, name: Optional[str]) -> Analyzer: FILE: src/nominatim_db/tokenizer/icu_tokenizer.py function create (line 40) | def create(dsn: str) -> 'ICUTokenizer': class ICUTokenizer (line 46) | class ICUTokenizer(AbstractTokenizer): method __init__ (line 52) | def __init__(self, dsn: str) -> None: method init_new_db (line 56) | def init_new_db(self, config: Configuration, init_db: bool = True) -> ... method init_from_project (line 71) | def init_from_project(self, config: Configuration) -> None: method finalize_import (line 79) | def finalize_import(self, config: Configuration) -> None: method update_sql_functions (line 85) | def update_sql_functions(self, config: Configuration) -> None: method check_database (line 92) | def check_database(self, config: Configuration) -> None: method update_statistics (line 98) | def update_statistics(self, config: Configuration, threads: int = 2) -... method _cleanup_housenumbers (line 155) | def _cleanup_housenumbers(self) -> None: method update_word_tokens (line 188) | def update_word_tokens(self) -> None: method name_analyzer (line 195) | def name_analyzer(self) -> 'ICUNameAnalyzer': method most_frequent_words (line 214) | def most_frequent_words(self, conn: Connection, num: int) -> List[str]: method _save_config (line 225) | def _save_config(self) -> None: method _setup_db_tables (line 233) | def _setup_db_tables(self, config: Configuration) -> None: method _create_base_indices (line 256) | def _create_base_indices(self, config: Configuration, table_name: str)... method _create_lookup_indices (line 276) | def _create_lookup_indices(self, config: Configuration, table_name: st... method _move_temporary_word_table (line 291) | def _move_temporary_word_table(self, old: str) -> None: class ICUNameAnalyzer (line 306) | class ICUNameAnalyzer(AbstractAnalyzer): method __init__ (line 313) | def __init__(self, dsn: str, sanitizer: PlaceSanitizer, method close (line 322) | def close(self) -> None: method _search_normalized (line 329) | def _search_normalized(self, name: str) -> str: method _normalized (line 334) | def _normalized(self, name: str) -> str: method get_word_token_info (line 340) | def get_word_token_info(self, words: Sequence[str]) -> List[Tuple[str,... method normalize_postcode (line 373) | def normalize_postcode(self, postcode: str) -> str: method update_postcodes_from_db (line 381) | def update_postcodes_from_db(self) -> None: method update_special_phrases (line 392) | def update_special_phrases(self, phrases: Iterable[Tuple[str, str, str... method _add_special_phrases (line 421) | def _add_special_phrases(self, cursor: Cursor, method _remove_special_phrases (line 440) | def _remove_special_phrases(self, cursor: Cursor, method add_country_names (line 458) | def add_country_names(self, country_code: str, names: Mapping[str, str... method _add_country_full_names (line 469) | def _add_country_full_names(self, country_code: str, names: Sequence[P... method process_place (line 525) | def process_place(self, place: PlaceInfo) -> Mapping[str, Any]: method _process_place_address (line 547) | def _process_place_address(self, token_info: '_TokenInfo', method _compute_housenumber_token (line 564) | def _compute_housenumber_token(self, hnr: PlaceName) -> Tuple[Optional... method _retrieve_full_tokens (line 603) | def _retrieve_full_tokens(self, name: str) -> List[int]: method _compute_name_tokens (line 623) | def _compute_name_tokens(self, names: Sequence[PlaceName]) -> Tuple[Se... method _add_postcode (line 664) | def _add_postcode(self, item: PlaceName) -> Optional[str]: class _TokenInfo (line 676) | class _TokenInfo: method __init__ (line 679) | def __init__(self) -> None: method _mk_array (line 688) | def _mk_array(self, tokens: Iterable[Any]) -> str: method to_dict (line 691) | def to_dict(self) -> Dict[str, Any]: method set_names (line 717) | def set_names(self, fulls: Iterable[int], partials: Iterable[int]) -> ... method add_housenumber (line 722) | def add_housenumber(self, token: Optional[int], hnr: Optional[str]) ->... method add_street (line 731) | def add_street(self, tokens: Iterable[int]) -> None: method add_place (line 738) | def add_place(self, tokens: Iterable[int]) -> None: method add_address_term (line 743) | def add_address_term(self, key: str, partials: Iterable[int]) -> None: method set_postcode (line 750) | def set_postcode(self, postcode: Optional[str]) -> None: class _TokenCache (line 756) | class _TokenCache: method __init__ (line 762) | def __init__(self) -> None: FILE: src/nominatim_db/tokenizer/place_sanitizer.py class PlaceSanitizer (line 21) | class PlaceSanitizer: method __init__ (line 26) | def __init__(self, rules: Optional[Sequence[Mapping[str, Any]]], method process_names (line 42) | def process_names(self, place: PlaceInfo) -> Tuple[List[PlaceName], Li... FILE: src/nominatim_db/tokenizer/sanitizers/base.py class ProcessInfo (line 18) | class ProcessInfo: method __init__ (line 25) | def __init__(self, place: PlaceInfo): method _convert_name_dict (line 31) | def _convert_name_dict(names: Optional[Mapping[str, str]]) -> List[Pla... class SanitizerHandler (line 48) | class SanitizerHandler(Protocol): method create (line 52) | def create(self, config: SanitizerConfig) -> Callable[[ProcessInfo], N... FILE: src/nominatim_db/tokenizer/sanitizers/clean_housenumbers.py class _HousenumberSanitizer (line 41) | class _HousenumberSanitizer: method __init__ (line 43) | def __init__(self, config: SanitizerConfig) -> None: method __call__ (line 50) | def __call__(self, obj: ProcessInfo) -> None: method sanitize (line 86) | def sanitize(self, value: str) -> Iterator[str]: method _regularize (line 96) | def _regularize(self, hnr: str) -> Iterator[str]: method _expand_range (line 99) | def _expand_range(self, itype: Union[str, int], hnr: str) -> Iterable[... function create (line 116) | def create(config: SanitizerConfig) -> Callable[[ProcessInfo], None]: FILE: src/nominatim_db/tokenizer/sanitizers/clean_postcodes.py class _PostcodeSanitizer (line 30) | class _PostcodeSanitizer: method __init__ (line 32) | def __init__(self, config: SanitizerConfig) -> None: method __call__ (line 40) | def __call__(self, obj: ProcessInfo) -> None: method scan (line 58) | def scan(self, postcode: str, country: Optional[str]) -> Optional[Tupl... function create (line 73) | def create(config: SanitizerConfig) -> Callable[[ProcessInfo], None]: FILE: src/nominatim_db/tokenizer/sanitizers/clean_tiger_tags.py function _clean_tiger_county (line 23) | def _clean_tiger_county(obj: ProcessInfo) -> None: function create (line 44) | def create(_: SanitizerConfig) -> Callable[[ProcessInfo], None]: FILE: src/nominatim_db/tokenizer/sanitizers/config.py class SanitizerConfig (line 24) | class SanitizerConfig(_BaseUserDict): method get_string_list (line 32) | def get_string_list(self, param: str, default: Sequence[str] = tuple()... method get_bool (line 65) | def get_bool(self, param: str, default: Optional[bool] = None) -> bool: method get_delimiter (line 85) | def get_delimiter(self, default: str = ',;') -> Pattern[str]: method get_filter (line 107) | def get_filter(self, param: str, default: Union[str, Sequence[str]] = ... FILE: src/nominatim_db/tokenizer/sanitizers/delete_tags.py class _TagSanitizer (line 64) | class _TagSanitizer: method __init__ (line 66) | def __init__(self, config: SanitizerConfig) -> None: method __call__ (line 78) | def __call__(self, obj: ProcessInfo) -> None: method _set_allowed_ranks (line 101) | def _set_allowed_ranks(self, ranks: Sequence[str]) -> Tuple[bool, ...]: function create (line 121) | def create(config: SanitizerConfig) -> Callable[[ProcessInfo], None]: FILE: src/nominatim_db/tokenizer/sanitizers/split_name_list.py function create (line 20) | def create(config: SanitizerConfig) -> Callable[[ProcessInfo], None]: FILE: src/nominatim_db/tokenizer/sanitizers/strip_brace_terms.py function create (line 18) | def create(_: SanitizerConfig) -> Callable[[ProcessInfo], None]: FILE: src/nominatim_db/tokenizer/sanitizers/tag_analyzer_by_language.py class _AnalyzerByLanguage (line 40) | class _AnalyzerByLanguage: method __init__ (line 44) | def __init__(self, config: SanitizerConfig) -> None: method _compute_default_languages (line 51) | def _compute_default_languages(self, use_defaults: str) -> None: method _suffix_matches (line 62) | def _suffix_matches(self, suffix: str) -> bool: method __call__ (line 68) | def __call__(self, obj: ProcessInfo) -> None: function create (line 92) | def create(config: SanitizerConfig) -> Callable[[ProcessInfo], None]: FILE: src/nominatim_db/tokenizer/sanitizers/tag_japanese.py function create (line 22) | def create(_: SanitizerConfig) -> Callable[[ProcessInfo], None]: function reconbine_housenumber (line 28) | def reconbine_housenumber( function reconbine_place (line 62) | def reconbine_place( function tag_japanese (line 96) | def tag_japanese(obj: ProcessInfo) -> None: FILE: src/nominatim_db/tokenizer/token_analysis/base.py class Analyzer (line 16) | class Analyzer(Protocol): method get_canonical_id (line 21) | def get_canonical_id(self, name: PlaceName) -> str: method compute_variants (line 36) | def compute_variants(self, canonical_id: str) -> Union[List[str], Tupl... class AnalysisModule (line 56) | class AnalysisModule(Protocol): method configure (line 62) | def configure(self, rules: Mapping[str, Any], method create (line 82) | def create(self, normalizer: Any, transliterator: Any, config: Any) ->... FILE: src/nominatim_db/tokenizer/token_analysis/config_variants.py class ICUVariant (line 19) | class ICUVariant(NamedTuple): function get_variant_config (line 26) | def get_variant_config(in_rules: Any, class _VariantMaker (line 59) | class _VariantMaker: method __init__ (line 65) | def __init__(self, normalizer: Any) -> None: method compute (line 68) | def compute(self, rule: Any) -> Iterator[ICUVariant]: method _parse_variant_word (line 91) | def _parse_variant_word(self, name: str) -> Optional[Tuple[str, str, s... function _create_variants (line 108) | def _create_variants(src: str, preflag: str, postflag: str, FILE: src/nominatim_db/tokenizer/token_analysis/generic.py function configure (line 22) | def configure(rules: Mapping[str, Any], normalizer: Any, _: Any) -> Dict... function create (line 51) | def create(normalizer: Any, transliterator: Any, class GenericTokenAnalysis (line 58) | class GenericTokenAnalysis: method __init__ (line 63) | def __init__(self, norm: Any, to_ascii: Any, config: Mapping[str, Any]... method get_canonical_id (line 75) | def get_canonical_id(self, name: PlaceName) -> str: method compute_variants (line 81) | def compute_variants(self, norm_name: str) -> Tuple[List[str], List[st... method _generate_word_variants (line 105) | def _generate_word_variants(self, norm_name: str) -> Iterable[str]: FILE: src/nominatim_db/tokenizer/token_analysis/generic_mutation.py function _zigzag (line 20) | def _zigzag(outer: Iterable[str], inner: Iterable[str]) -> Iterator[str]: class MutationVariantGenerator (line 24) | class MutationVariantGenerator: method __init__ (line 31) | def __init__(self, pattern: str, replacements: Sequence[str]): method generate (line 40) | def generate(self, names: Iterable[str]) -> Iterator[str]: method _fillers (line 52) | def _fillers(self, num_parts: int) -> Iterator[Tuple[str, ...]]: FILE: src/nominatim_db/tokenizer/token_analysis/housenumbers.py function configure (line 25) | def configure(*_: Any) -> None: function create (line 33) | def create(normalizer: Any, transliterator: Any, config: None) -> 'House... class HousenumberTokenAnalysis (line 39) | class HousenumberTokenAnalysis: method __init__ (line 42) | def __init__(self, norm: Any, trans: Any) -> None: method get_canonical_id (line 48) | def get_canonical_id(self, name: PlaceName) -> str: method compute_variants (line 67) | def compute_variants(self, norm_name: str) -> List[str]: FILE: src/nominatim_db/tokenizer/token_analysis/postcodes.py function configure (line 19) | def configure(*_: Any) -> None: function create (line 27) | def create(normalizer: Any, transliterator: Any, config: None) -> 'Postc... class PostcodeTokenAnalysis (line 33) | class PostcodeTokenAnalysis: method __init__ (line 43) | def __init__(self, norm: Any, trans: Any) -> None: method get_canonical_id (line 49) | def get_canonical_id(self, name: PlaceName) -> str: method compute_variants (line 54) | def compute_variants(self, norm_name: str) -> List[str]: FILE: src/nominatim_db/tokenizer/token_analysis/simple_trie.py class SimpleTrie (line 16) | class SimpleTrie(Generic[T]): method __init__ (line 22) | def __init__(self, data: Optional[List[Tuple[str, T]]] = None) -> None: method _add (line 33) | def _add(self, word: str, pos: int, value: T) -> None: method _make_compact (line 43) | def _make_compact(self) -> None: method longest_prefix (line 59) | def longest_prefix(self, word: str, start: int = 0) -> Tuple[Optional[... FILE: src/nominatim_db/tools/add_osm_data.py function _run_osm2pgsql (line 22) | def _run_osm2pgsql(dsn: str, options: MutableMapping[str, Any]) -> None: function add_data_from_file (line 32) | def add_data_from_file(dsn: str, fname: str, options: MutableMapping[str... function add_osm_object (line 44) | def add_osm_object(dsn: str, osm_type: str, osm_id: int, use_main_api: b... FILE: src/nominatim_db/tools/admin.py function _get_place_info (line 27) | def _get_place_info(cursor: Cursor, osm_id: Optional[str], function analyse_indexing (line 58) | def analyse_indexing(config: Configuration, osm_id: Optional[str] = None, function clean_deleted_relations (line 95) | def clean_deleted_relations(config: Configuration, age: str) -> None: function grant_ro_access (line 111) | def grant_ro_access(dsn: str, config: Configuration) -> None: FILE: src/nominatim_db/tools/check_database.py class CheckState (line 26) | class CheckState(Enum): function _check (line 40) | def _check(hint: Optional[str] = None) -> Callable[[CheckFunc], CheckFunc]: class _BadConnection (line 75) | class _BadConnection: method __init__ (line 77) | def __init__(self, msg: str) -> None: method close (line 80) | def close(self) -> None: function check_database (line 85) | def check_database(config: Configuration) -> int: function _get_indexes (line 106) | def _get_indexes(conn: Connection) -> List[str]: function check_connection (line 153) | def check_connection(conn: Any, config: Configuration) -> CheckResult: function check_database_version (line 171) | def check_database_version(conn: Connection, config: Configuration) -> C... function check_placex_table (line 211) | def check_placex_table(conn: Connection, config: Configuration) -> Check... function check_placex_size (line 221) | def check_placex_size(conn: Connection, _: Configuration) -> CheckResult: function check_tokenizer (line 230) | def check_tokenizer(_: Connection, config: Configuration) -> CheckResult: function check_existance_wikipedia (line 252) | def check_existance_wikipedia(conn: Connection, _: Configuration) -> Che... function check_indexing (line 271) | def check_indexing(conn: Connection, _: Configuration) -> CheckResult: function check_database_indexes (line 301) | def check_database_indexes(conn: Connection, _: Configuration) -> CheckR... function check_database_index_valid (line 323) | def check_database_index_valid(conn: Connection, _: Configuration) -> Ch... function check_tiger_table (line 343) | def check_tiger_table(conn: Connection, config: Configuration) -> CheckR... FILE: src/nominatim_db/tools/collect_os_info.py function friendly_memory_string (line 24) | def friendly_memory_string(mem: float) -> str: function run_command (line 36) | def run_command(cmd: Union[str, List[str]]) -> str: function os_name_info (line 49) | def os_name_info() -> str: function from_file_find_line_portion (line 71) | def from_file_find_line_portion( function get_postgresql_config (line 84) | def get_postgresql_config(version: int) -> str: function report_system_information (line 95) | def report_system_information(config: Configuration) -> None: FILE: src/nominatim_db/tools/convert_sqlite.py function convert (line 25) | async def convert(project_dir: Optional[Union[str, Path]], class SqliteWriter (line 47) | class SqliteWriter: method __init__ (line 51) | def __init__(self, src: napi.SearchConnection, method write (line 57) | async def write(self) -> None: method create_tables (line 70) | async def create_tables(self) -> None: method create_class_tables (line 89) | async def create_class_tables(self) -> None: method create_word_table (line 100) | async def create_word_table(self) -> None: method copy_data (line 122) | async def copy_data(self) -> None: method create_indexes (line 150) | async def create_indexes(self) -> None: method create_spatial_index (line 195) | async def create_spatial_index(self, table: str, column: str) -> None: method create_index (line 201) | async def create_index(self, table_name: str, column: str) -> None: method create_search_index (line 208) | async def create_search_index(self) -> None: method select_from (line 237) | def select_from(self, table: str) -> SaSelect: FILE: src/nominatim_db/tools/database_import.py function _require_version (line 33) | def _require_version(module: str, actual: Tuple[int, int], expected: Tup... function _require_loaded (line 44) | def _require_loaded(extension_name: str, conn: Connection) -> None: function check_existing_database_plugins (line 53) | def check_existing_database_plugins(dsn: str) -> None: function setup_database_skeleton (line 65) | def setup_database_skeleton(dsn: str, rouser: Optional[str] = None) -> N... function import_osm_data (line 110) | def import_osm_data(osm_files: Union[Path, Sequence[Path]], function create_tables (line 150) | def create_tables(conn: Connection, config: Configuration, reverse_only:... function create_table_triggers (line 162) | def create_table_triggers(conn: Connection, config: Configuration) -> None: function create_partition_tables (line 170) | def create_partition_tables(conn: Connection, config: Configuration) -> ... function truncate_data_tables (line 177) | def truncate_data_tables(conn: Connection) -> None: function load_data (line 208) | async def load_data(dsn: str, threads: int) -> None: function _progress_print (line 239) | async def _progress_print() -> None: function create_search_indices (line 249) | async def create_search_indices(conn: Connection, config: Configuration, FILE: src/nominatim_db/tools/exec_utils.py function run_osm2pgsql (line 24) | def run_osm2pgsql(options: Mapping[str, Any]) -> None: function _mk_tablespace_options (line 73) | def _mk_tablespace_options(ttype: str, options: Mapping[str, Any]) -> Li... function _find_osm2pgsql_cmd (line 83) | def _find_osm2pgsql_cmd(cmdline: Optional[str]) -> str: function _check_osm2pgsql_version (line 94) | def _check_osm2pgsql_version(cmdline: Optional[str]) -> None: FILE: src/nominatim_db/tools/freeze.py function drop_update_tables (line 34) | def drop_update_tables(conn: Connection) -> None: function drop_flatnode_file (line 49) | def drop_flatnode_file(fpath: Optional[Path]) -> None: function is_frozen (line 56) | def is_frozen(conn: Connection) -> bool: FILE: src/nominatim_db/tools/migration.py function migrate (line 30) | def migrate(config: Configuration, paths: Any) -> int: function _migration (line 79) | def _migration(major: int, minor: int, patch: int = 0, function create_postcode_area_lookup_index (line 102) | def create_postcode_area_lookup_index(conn: Connection, **_: Any) -> None: function create_postcode_parent_index (line 113) | def create_postcode_parent_index(conn: Connection, **_: Any) -> None: function create_placex_entrance_table (line 124) | def create_placex_entrance_table(conn: Connection, config: Configuration... function create_place_entrance_table (line 145) | def create_place_entrance_table(conn: Connection, config: Configuration,... function convert_country_tokens (line 164) | def convert_country_tokens(conn: Connection, config: Configuration, **_:... function create_place_postcode_table (line 186) | def create_place_postcode_table(conn: Connection, config: Configuration,... function create_place_interpolation_table (line 356) | def create_place_interpolation_table(conn: Connection, config: Configura... function backfill_importance (line 426) | def backfill_importance(conn: Connection, **_: Any) -> None: function create_place_associated_street_table (line 443) | def create_place_associated_street_table(conn: Connection, **_: Any) -> ... function create_associated_street_triggers (line 502) | def create_associated_street_triggers(conn: Connection, config: Configur... FILE: src/nominatim_db/tools/postcodes.py function _to_float (line 29) | def _to_float(numstr: str, max_value: float) -> float: function _extent_to_rank (line 41) | def _extent_to_rank(extent: int) -> int: class _PostcodeCollector (line 51) | class _PostcodeCollector: method __init__ (line 55) | def __init__(self, country: str, matcher: Optional[CountryPostcodeMatc... method add (line 64) | def add(self, postcode: str, x: float, y: float) -> None: method commit (line 80) | def commit(self, conn: Connection, analyzer: AbstractAnalyzer, method _update_from_external (line 135) | def _update_from_external(self, analyzer: AbstractAnalyzer, project_di... method _open_external (line 164) | def _open_external(self, project_dir: Path) -> Optional[TextIO]: function update_postcodes (line 180) | def update_postcodes(dsn: str, project_dir: Optional[Path], function _is_postcode_table_empty (line 213) | def _is_postcode_table_empty(conn: Connection) -> bool: function _insert_postcode_areas (line 221) | def _insert_postcode_areas(conn: Connection, country_code: str, function _update_postcode_areas (line 250) | def _update_postcode_areas(conn: Connection, analyzer: AbstractAnalyzer, function _update_guessed_postcode (line 294) | def _update_guessed_postcode(conn: Connection, analyzer: AbstractAnalyzer, function can_compute (line 371) | def can_compute(dsn: str) -> bool: FILE: src/nominatim_db/tools/refresh.py function _add_address_level_rows_from_entry (line 28) | def _add_address_level_rows_from_entry(rows: MutableSequence[Tuple[Any, ... function load_address_levels (line 47) | def load_address_levels(conn: Connection, table: str, levels: Sequence[M... function load_address_levels_from_config (line 78) | def load_address_levels_from_config(conn: Connection, config: Configurat... function create_functions (line 88) | def create_functions(conn: Connection, config: Configuration, function import_wikipedia_articles (line 100) | def import_wikipedia_articles(dsn: str, data_path: Path, ignore_errors: ... function import_importance_csv (line 116) | def import_importance_csv(dsn: str, data_file: Path) -> int: function import_importance_sql (line 166) | def import_importance_sql(dsn: str, data_file: Path, ignore_errors: bool... function import_secondary_importance (line 184) | def import_secondary_importance(dsn: str, data_path: Path, ignore_errors... function recompute_importance (line 199) | def recompute_importance(conn: Connection) -> None: function invalidate_osm_object (line 227) | def invalidate_osm_object(osm_type: str, osm_id: int, conn: Connection, FILE: src/nominatim_db/tools/replication.py function init_replication (line 37) | def init_replication(conn: Connection, base_url: str, function check_for_updates (line 61) | def check_for_updates(conn: Connection, base_url: str, class UpdateState (line 88) | class UpdateState(Enum): function update (line 97) | def update(dsn: str, options: MutableMapping[str, Any], function run_osm2pgsql_updates (line 149) | def run_osm2pgsql_updates(conn: Connection, options: MutableMapping[str,... function _make_replication_server (line 168) | def _make_replication_server(url: str, timeout: int) -> ContextManager[R... FILE: src/nominatim_db/tools/special_phrases/importer_statistics.py class SpecialPhrasesImporterStatistics (line 15) | class SpecialPhrasesImporterStatistics(): method __init__ (line 20) | def __init__(self) -> None: method _intialize_values (line 23) | def _intialize_values(self) -> None: method notify_one_phrase_invalid (line 33) | def notify_one_phrase_invalid(self) -> None: method notify_one_table_created (line 40) | def notify_one_table_created(self) -> None: method notify_one_table_deleted (line 46) | def notify_one_table_deleted(self) -> None: method notify_one_table_ignored (line 52) | def notify_one_table_ignored(self) -> None: method notify_import_done (line 58) | def notify_import_done(self) -> None: FILE: src/nominatim_db/tools/special_phrases/sp_csv_loader.py class SPCsvLoader (line 20) | class SPCsvLoader: method __init__ (line 24) | def __init__(self, csv_path: str) -> None: method generate_phrases (line 27) | def generate_phrases(self) -> Iterable[SpecialPhrase]: method _check_csv_validity (line 38) | def _check_csv_validity(self) -> None: FILE: src/nominatim_db/tools/special_phrases/sp_importer.py function _classtype_table (line 31) | def _classtype_table(phrase_class: str, phrase_type: str) -> str: class SpecialPhraseLoader (line 37) | class SpecialPhraseLoader(Protocol): method generate_phrases (line 41) | def generate_phrases(self) -> Iterable[SpecialPhrase]: class SPImporter (line 46) | class SPImporter(): method __init__ (line 52) | def __init__(self, config: Configuration, conn: Connection, method get_classtype_pairs (line 67) | def get_classtype_pairs(self, min: int = 0) -> Set[Tuple[str, str]]: method import_phrases (line 91) | def import_phrases(self, tokenizer: AbstractTokenizer, should_replace:... method _fetch_existing_place_classtype_tables (line 124) | def _fetch_existing_place_classtype_tables(self) -> None: method _load_white_and_black_lists (line 140) | def _load_white_and_black_lists(self) \ method _check_sanity (line 149) | def _check_sanity(self, phrase: SpecialPhrase) -> bool: method _process_phrase (line 163) | def _process_phrase(self, phrase: SpecialPhrase) -> Optional[Tuple[str... method _create_classtype_table_and_indexes (line 190) | def _create_classtype_table_and_indexes(self, method _create_place_classtype_table (line 243) | def _create_place_classtype_table(self, sql_tablespace: str, method _create_place_classtype_indexes (line 259) | def _create_place_classtype_indexes(self, sql_tablespace: str, method _grant_access_to_webuser (line 282) | def _grant_access_to_webuser(self, phrase_class: str, phrase_type: str... method _remove_non_existent_tables_from_db (line 292) | def _remove_non_existent_tables_from_db(self) -> None: FILE: src/nominatim_db/tools/special_phrases/sp_wiki_loader.py function _get_wiki_content (line 23) | def _get_wiki_content(lang: str) -> str: class SPWikiLoader (line 35) | class SPWikiLoader: method __init__ (line 39) | def __init__(self, config: Configuration) -> None: method generate_phrases (line 51) | def generate_phrases(self) -> Iterable[SpecialPhrase]: FILE: src/nominatim_db/tools/special_phrases/special_phrase.py class SpecialPhrase (line 16) | class SpecialPhrase: method __init__ (line 20) | def __init__(self, p_label: str, p_class: str, p_type: str, p_operator... method __eq__ (line 28) | def __eq__(self, other: Any) -> bool: method __hash__ (line 37) | def __hash__(self) -> int: FILE: src/nominatim_db/tools/tiger_data.py class TigerInput (line 30) | class TigerInput: method __init__ (line 35) | def __init__(self, data_dir: str) -> None: method __enter__ (line 56) | def __enter__(self) -> 'TigerInput': method __exit__ (line 59) | def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: method __bool__ (line 64) | def __bool__(self) -> bool: method get_file (line 67) | def get_file(self, fname: Union[str, tarfile.TarInfo]) -> TextIO: method __iter__ (line 78) | def __iter__(self) -> Iterator[Dict[str, Any]]: function add_tiger_data (line 86) | async def add_tiger_data(data_dir: str, config: Configuration, threads: ... FILE: src/nominatim_db/typing.py class DictCursorResult (line 27) | class DictCursorResult(Mapping[str, Any]): method __getitem__ (line 28) | def __getitem__(self, x: Union[int, str]) -> Any: ... FILE: src/nominatim_db/utils/centroid.py class PointsCentroid (line 14) | class PointsCentroid: method __init__ (line 22) | def __init__(self) -> None: method centroid (line 27) | def centroid(self) -> Tuple[float, float]: method __len__ (line 36) | def __len__(self) -> int: method __iadd__ (line 39) | def __iadd__(self, other: Any) -> 'PointsCentroid': FILE: src/nominatim_db/utils/url_utils.py function get_url (line 19) | def get_url(url: str) -> str: FILE: src/nominatim_db/version.py class NominatimVersion (line 13) | class NominatimVersion(NamedTuple): method __str__ (line 34) | def __str__(self) -> str: method release_version (line 40) | def release_version(self) -> str: function parse_version (line 48) | def parse_version(version: str) -> NominatimVersion: FILE: test/bdd/conftest.py function _strlist (line 40) | def _strlist(inp): function _pretty_json (line 44) | def _pretty_json(inp): function pytest_addoption (line 48) | def pytest_addoption(parser, pluginmanager): function datatable (line 70) | def datatable(): function node_grid (line 77) | def node_grid(): function setup_country_info (line 84) | def setup_country_info(): function template_db (line 89) | def template_db(pytestconfig): function def_config (line 110) | def def_config(pytestconfig): function db (line 118) | def db(template_db, pytestconfig): function db_conn (line 134) | def db_conn(db, def_config): function reverse_geocode_via_api (line 143) | def reverse_geocode_via_api(test_config_env, pytestconfig, datatable, la... function reverse_geocode_via_api_and_grid (line 164) | def reverse_geocode_via_api_and_grid(test_config_env, pytestconfig, node... function forward_geocode_via_api (line 174) | def forward_geocode_via_api(test_config_env, pytestconfig, datatable, qu... function check_number_of_results (line 199) | def check_number_of_results(nominatim_result, op, num): function check_metadata_for_fields (line 205) | def check_metadata_for_fields(nominatim_result, datatable): function check_metadata_for_field_presence (line 217) | def check_metadata_for_field_presence(nominatim_result, attributes): function check_result_for_fields (line 224) | def check_result_for_fields(nominatim_result, datatable, node_grid, field): function check_result_for_field_presence (line 240) | def check_result_for_field_presence(nominatim_result, attributes): function check_result_for_field_absence (line 247) | def check_result_for_field_absence(nominatim_result, attributes): function check_result_array_field_for_attributes (line 255) | def check_result_array_field_for_attributes(nominatim_result, datatable,... function check_result_list_match (line 270) | def check_result_list_match(nominatim_result, datatable, exact): function check_all_results_for_field_presence (line 293) | def check_all_results_for_field_presence(nominatim_result, attributes): function check_all_result_for_field_absence (line 303) | def check_all_result_for_field_absence(nominatim_result, attributes): function check_all_results_contain (line 312) | def check_all_results_contain(nominatim_result, datatable, node_grid, fi... function check_specific_result_for_fields (line 330) | def check_specific_result_for_fields(nominatim_result, datatable, num, f... function set_node_grid (line 347) | def set_node_grid(datatable, step, origin): function check_place_missing_lines (line 368) | def check_place_missing_lines(db_conn, table, osm_type, osm_id, osm_class): function pytest_pycollect_makemodule (line 381) | def pytest_pycollect_makemodule(module_path, parent): class BddTestCollector (line 385) | class BddTestCollector(pytest.Module): method __init__ (line 387) | def __init__(self, **kwargs): method collect (line 390) | def collect(self): function make_python_name (line 404) | def make_python_name(string: str) -> str: class FeatureFile (line 410) | class FeatureFile(pytest.File): class obj (line 411) | class obj: method __init__ (line 414) | def __init__(self, feature, **kwargs): method collect (line 418) | def collect(self): FILE: test/bdd/test_api.py function session_api_test_db (line 40) | def session_api_test_db(pytestconfig): function test_config_env (line 76) | def test_config_env(pytestconfig): function api_http_request_headers (line 90) | def api_http_request_headers(): function set_additional_http_headers (line 95) | def set_additional_http_headers(api_http_request_headers, datatable): function setup_connection_unknown_database (line 101) | def setup_connection_unknown_database(test_config_env): function send_api_status (line 108) | def send_api_status(test_config_env, api_http_request_headers, pytestcon... function check_http_result (line 115) | def check_http_result(api_response, status): function check_page_content_exact (line 120) | def check_page_content_exact(api_response, content): function check_for_html_correctness (line 125) | def check_for_html_correctness(api_response): function parse_api_json_response (line 142) | def parse_api_json_response(api_response, fmt, num): FILE: test/bdd/test_db.py function _rewrite_placeid_field (line 34) | def _rewrite_placeid_field(field, new_field, datatable, place_ids): function _collect_place_ids (line 44) | def _collect_place_ids(conn): function row_factory (line 55) | def row_factory(db_conn): function test_config_env (line 83) | def test_config_env(pytestconfig): function update_config (line 97) | def update_config(def_config): function import_places (line 106) | def import_places(db_conn, named, datatable, node_grid): function import_place_entrances (line 117) | def import_place_entrances(row_factory, datatable, node_grid): function import_place_interpolations (line 133) | def import_place_interpolations(row_factory, datatable, node_grid): function import_place_postcode (line 150) | def import_place_postcode(db_conn, datatable, node_grid): function import_ways (line 185) | def import_ways(row_factory, datatable): function import_rels (line 200) | def import_rels(row_factory, datatable): function do_import (line 232) | def do_import(db_conn, def_config): function do_update (line 245) | def do_update(db_conn, update_config, node_grid, datatable): function do_update_relations (line 261) | def do_update_relations(db_conn, update_config, datatable): function update_place_entrances (line 292) | def update_place_entrances(db_conn, datatable, node_grid): function update_place_interpolations (line 310) | def update_place_interpolations(db_conn, row_factory, update_config, dat... function do_postcode_update (line 332) | def do_postcode_update(update_config): function do_delete_place (line 340) | def do_delete_place(db_conn, update_config, node_grid, otype, oid): function then_check_table_content (line 361) | def then_check_table_content(db_conn, place_ids, datatable, node_grid, t... function then_check_place_missing_lines (line 376) | def then_check_place_missing_lines(db_conn, place_ids, table, oid): function then_check_interpolation_table (line 388) | def then_check_interpolation_table(db_conn, node_grid, place_ids, oid, d... function then_check_interpolation_table_negative (line 420) | def then_check_interpolation_table_negative(db_conn, oid): FILE: test/bdd/test_osm2pgsql.py function osm2pgsql_options (line 26) | def osm2pgsql_options(def_config): function opl_writer (line 40) | def opl_writer(tmp_path, node_grid): function set_lua_style_file (line 60) | def set_lua_style_file(osm2pgsql_options, docstring, tmp_path): function load_from_osm_file (line 69) | def load_from_osm_file(db, osm2pgsql_options, opl_writer, docstring): function update_from_osm_file (line 81) | def update_from_osm_file(db_conn, def_config, osm2pgsql_options, opl_wri... function do_index (line 98) | def do_index(def_config): function check_place_content (line 105) | def check_place_content(db_conn, datatable, node_grid, table, exact): FILE: test/bdd/utils/api_result.py class APIResult (line 14) | class APIResult: method __init__ (line 16) | def __init__(self, fmt, endpoint, body): method is_simple (line 19) | def is_simple(self): method __len__ (line 22) | def __len__(self): method __str__ (line 25) | def __str__(self): method _parse_json (line 28) | def _parse_json(self, _, body): method _parse_xml (line 32) | def _parse_xml(self, endpoint, body): method _parse_xml_simple (line 44) | def _parse_xml_simple(self, xml): method _parse_xml_multi (line 71) | def _parse_xml_multi(self, xml): method _parse_geojson (line 96) | def _parse_geojson(self, _, body): method _parse_geocodejson (line 121) | def _parse_geocodejson(self, endpoint, body): FILE: test/bdd/utils/api_runner.py class APIRunner (line 16) | class APIRunner: method __init__ (line 19) | def __init__(self, environ, api_engine): method run (line 23) | def run(self, endpoint, params, http_headers): method run_step (line 26) | def run_step(self, endpoint, base_params, datatable, fmt, http_headers): method create_engine_falcon (line 38) | def create_engine_falcon(self, environ): method create_engine_starlette (line 54) | def create_engine_starlette(self, environ): FILE: test/bdd/utils/checks.py function _pretty (line 28) | def _pretty(obj): function _pt_close (line 32) | def _pt_close(p1, p2): function within_box (line 37) | def within_box(value, expect): class ResultAttr (line 73) | class ResultAttr: method __init__ (line 93) | def __init__(self, obj, key, grid=None): method __eq__ (line 121) | def __eq__(self, other): method __repr__ (line 139) | def __repr__(self): method compare_wkt (line 145) | def compare_wkt(self, value, expected): method get_point (line 202) | def get_point(self, pt): function check_table_content (line 212) | def check_table_content(conn, tablename, data, grid=None, exact=False): FILE: test/bdd/utils/db.py class DBManager (line 22) | class DBManager: method __init__ (line 24) | def __init__(self, purge=False): method check_for_db (line 27) | def check_for_db(self, dbname): method drop_db (line 38) | def drop_db(self, dbname): method exists_db (line 46) | def exists_db(self, dbname): method create_db_from_template (line 54) | def create_db_from_template(self, dbname, template): method setup_template_db (line 66) | def setup_template_db(self, config): FILE: test/bdd/utils/grid.py class Grid (line 14) | class Grid: method __init__ (line 16) | def __init__(self, table, step, origin): method get (line 32) | def get(self, nodeid): method parse_point (line 37) | def parse_point(self, value): method parse_line (line 46) | def parse_line(self, value): method geometry_to_wkt (line 49) | def geometry_to_wkt(self, value): FILE: test/bdd/utils/place_inserter.py class PlaceColumn (line 18) | class PlaceColumn: method __init__ (line 22) | def __init__(self, grid=None): method add_row (line 27) | def add_row(self, headings, row, force_name): method _add (line 45) | def _add(self, key, value): method _set_key_name (line 59) | def _set_key_name(self, value): method _set_key_osm (line 62) | def _set_key_osm(self, value): method _set_key_admin (line 69) | def _set_key_admin(self, value): method _set_key_housenr (line 72) | def _set_key_housenr(self, value): method _set_key_postcode (line 76) | def _set_key_postcode(self, value): method _set_key_street (line 80) | def _set_key_street(self, value): method _set_key_addr_place (line 84) | def _set_key_addr_place(self, value): method _set_key_country (line 88) | def _set_key_country(self, value): method _set_key_geometry (line 92) | def _set_key_geometry(self, value): method _add_hstore (line 100) | def _add_hstore(self, column, key, value): method get_wkt (line 106) | def get_wkt(self): method db_delete (line 117) | def db_delete(self, cursor): method db_insert (line 123) | def db_insert(self, cursor): FILE: test/python/api/conftest.py class APITester (line 23) | class APITester: method __init__ (line 25) | def __init__(self): method async_to_sync (line 29) | def async_to_sync(self, func): method add_data (line 35) | def add_data(self, table, data): method add_placex (line 41) | def add_placex(self, **kw): method add_address_placex (line 74) | def add_address_placex(self, object_id, **kw): method add_osmline (line 84) | def add_osmline(self, **kw): method add_tiger (line 100) | def add_tiger(self, **kw): method add_postcode (line 110) | def add_postcode(self, **kw): method add_country (line 125) | def add_country(self, country_code, geometry): method add_country_name (line 131) | def add_country_name(self, country_code, names, partition=0): method add_search_name (line 137) | def add_search_name(self, place_id, **kw): method add_class_type_table (line 149) | def add_class_type_table(self, cls, typ): method add_word_table (line 156) | def add_word_table(self, content): method exec_async (line 171) | async def exec_async(self, sql, *args, **kwargs): method create_tables (line 175) | async def create_tables(self): function apiobj (line 181) | def apiobj(temp_db_with_extensions, temp_db_conn, monkeypatch): function frontend (line 199) | def frontend(request, tmp_path): function api (line 239) | async def api(temp_db): FILE: test/python/api/fake_adaptor.py class FakeError (line 17) | class FakeError(BaseException): method __init__ (line 19) | def __init__(self, msg, status): method __str__ (line 23) | def __str__(self): class FakeAdaptor (line 30) | class FakeAdaptor(glue.ASGIAdaptor): method __init__ (line 32) | def __init__(self, params=None, headers=None, config=None): method get (line 37) | def get(self, name, default=None): method get_header (line 40) | def get_header(self, name, default=None): method error (line 43) | def error(self, msg, status=400): method create_response (line 46) | def create_response(self, status, output, num_results): method base_uri (line 49) | def base_uri(self): method config (line 52) | def config(self): method formatting (line 55) | def formatting(self): method query_stats (line 58) | def query_stats(self): FILE: test/python/api/query_processing/test_normalize.py function run_preprocessor_on (line 17) | def run_preprocessor_on(query, norm): function test_normalize_simple (line 24) | def test_normalize_simple(): FILE: test/python/api/query_processing/test_regex_replace.py function run_preprocessor_on (line 17) | def run_preprocessor_on(query): function test_split_phrases (line 45) | def test_split_phrases(inp, outp): FILE: test/python/api/query_processing/test_split_japanese_phrases.py function run_preprocessor_on (line 17) | def run_preprocessor_on(query): function test_split_phrases (line 26) | def test_split_phrases(inp, outp): FILE: test/python/api/search/test_api_search_query.py class MyToken (line 15) | class MyToken(query.Token): method get_category (line 17) | def get_category(self): method get_country (line 20) | def get_country(self): function mktoken (line 24) | def mktoken(tid: int): function qnode (line 30) | def qnode(): function test_phrase_compatible (line 40) | def test_phrase_compatible(ptype, ttype): function test_phrase_incompatible (line 45) | def test_phrase_incompatible(ptype): function test_query_node_empty (line 49) | def test_query_node_empty(qnode): function test_query_node_with_content (line 53) | def test_query_node_with_content(qnode): function test_query_struct_empty (line 67) | def test_query_struct_empty(): function test_query_struct_with_tokens (line 73) | def test_query_struct_with_tokens(): function test_query_struct_incompatible_token (line 97) | def test_query_struct_incompatible_token(): function test_query_struct_amenity_single_word (line 108) | def test_query_struct_amenity_single_word(): function test_query_struct_amenity_two_words (line 121) | def test_query_struct_amenity_two_words(): FILE: test/python/api/search/test_db_search_builder.py class MyToken (line 23) | class MyToken(Token): method get_category (line 26) | def get_category(self): method get_country (line 29) | def get_country(self): function make_query (line 33) | def make_query(*args): function test_country_search (line 54) | def test_country_search(): function test_country_search_with_country_restriction (line 71) | def test_country_search_with_country_restriction(): function test_country_search_with_conflicting_country_restriction (line 88) | def test_country_search_with_conflicting_country_restriction(): function test_postcode_search_simple (line 100) | def test_postcode_search_simple(): function test_postcode_with_country (line 116) | def test_postcode_with_country(): function test_postcode_with_address (line 137) | def test_postcode_with_address(): function test_postcode_with_address_with_full_word (line 155) | def test_postcode_with_address_with_full_word(): function test_near_item_only (line 176) | def test_near_item_only(kwargs): function test_near_item_skipped (line 192) | def test_near_item_skipped(kwargs): function test_name_only_search (line 201) | def test_name_only_search(): function test_name_with_qualifier (line 219) | def test_name_with_qualifier(): function test_name_with_housenumber_search (line 239) | def test_name_with_housenumber_search(): function test_name_and_address (line 259) | def test_name_and_address(): function test_name_and_complex_address (line 282) | def test_name_and_complex_address(): function test_name_only_near_search (line 306) | def test_name_only_near_search(): function test_name_only_search_with_category (line 322) | def test_name_only_search_with_category(): function test_name_with_near_item_search_with_category_mismatch (line 336) | def test_name_with_near_item_search_with_category_mismatch(): function test_name_with_near_item_search_with_category_match (line 348) | def test_name_with_near_item_search_with_category_match(): function test_name_with_qualifier_search_with_category_mismatch (line 365) | def test_name_with_qualifier_search_with_category_mismatch(): function test_name_with_qualifier_search_with_category_match (line 377) | def test_name_with_qualifier_search_with_category_match(): function test_name_only_search_with_countries (line 394) | def test_name_only_search_with_countries(): function make_counted_searches (line 409) | def make_counted_searches(name_part, name_full, address_part, address_full, function test_infrequent_partials_in_name (line 432) | def test_infrequent_partials_in_name(): function test_frequent_partials_in_name_and_address (line 446) | def test_frequent_partials_in_name_and_address(): function test_too_frequent_partials_in_name_and_address (line 460) | def test_too_frequent_partials_in_name_and_address(): FILE: test/python/api/search/test_icu_query_analyzer.py function add_word (line 20) | async def add_word(conn, word_id, word_token, wtype, word, info=None): function make_phrase (line 29) | def make_phrase(query): function conn (line 34) | async def conn(table_factory): function test_empty_phrase (line 50) | async def test_empty_phrase(conn): function test_single_phrase_with_unknown_terms (line 60) | async def test_single_phrase_with_unknown_terms(conn): function test_multiple_phrases (line 77) | async def test_multiple_phrases(conn): function test_splitting_in_transliteration (line 91) | async def test_splitting_in_transliteration(conn): function test_penalty_postcodes_and_housenumbers (line 108) | async def test_penalty_postcodes_and_housenumbers(conn, term, order): function test_category_words_only_at_beginning (line 128) | async def test_category_words_only_at_beginning(conn): function test_freestanding_qualifier_words_become_category (line 143) | async def test_freestanding_qualifier_words_become_category(conn): function test_qualifier_words (line 156) | async def test_qualifier_words(conn): function test_add_unknown_housenumbers (line 171) | async def test_add_unknown_housenumbers(conn): function test_log_output (line 193) | async def test_log_output(conn, logtype): FILE: test/python/api/search/test_postcode_parser.py function pc_config (line 21) | def pc_config(project_env): function mk_query (line 66) | def mk_query(inp): function test_simple_postcode (line 84) | def test_simple_postcode(pc_config, query, pos): function test_postcode_matching_case_insensitive (line 93) | def test_postcode_matching_case_insensitive(pc_config, query): function test_contained_postcode (line 99) | def test_contained_postcode(pc_config): function test_postcode_with_space (line 109) | def test_postcode_with_space(pc_config, query, frm, to): function test_overlapping_postcode (line 117) | def test_overlapping_postcode(pc_config): function test_not_a_postcode (line 126) | def test_not_a_postcode(pc_config, query): function test_postcode_with_country_prefix (line 133) | def test_postcode_with_country_prefix(pc_config, query): function test_postcode_with_joined_country_prefix (line 139) | def test_postcode_with_joined_country_prefix(pc_config): function test_postcode_with_non_matching_country_prefix (line 145) | def test_postcode_with_non_matching_country_prefix(pc_config): function test_postcode_inside_postcode_phrase (line 151) | def test_postcode_inside_postcode_phrase(pc_config): function test_partial_postcode_in_postcode_phrase (line 163) | def test_partial_postcode_in_postcode_phrase(pc_config): FILE: test/python/api/search/test_query.py function test_token_range_equal (line 15) | def test_token_range_equal(): function test_token_range_unequal (line 23) | def test_token_range_unequal(lop, rop): function test_token_range_lt (line 28) | def test_token_range_lt(): function test_token_rankge_gt (line 36) | def test_token_rankge_gt(): function test_token_range_unimplemented_ops (line 45) | def test_token_range_unimplemented_ops(): function test_query_extract_words (line 52) | def test_query_extract_words(): FILE: test/python/api/search/test_query_analyzer_factory.py function test_import_icu_tokenizer (line 17) | async def test_import_icu_tokenizer(table_factory, api): function test_import_missing_property (line 31) | async def test_import_missing_property(table_factory, api): function test_import_missing_module (line 41) | async def test_import_missing_module(table_factory, api): FILE: test/python/api/search/test_search_address.py function run_search (line 22) | def run_search(apiobj, frontend, global_penalty, lookup, ranking, count=2, class TestStreetWithHousenumber (line 51) | class TestStreetWithHousenumber: method fill_database (line 54) | def fill_database(self, apiobj): method test_lookup_by_single_housenumber (line 86) | def test_lookup_by_single_housenumber(self, apiobj, frontend, hnr, res): method test_lookup_with_country_restriction (line 95) | def test_lookup_with_country_restriction(self, apiobj, frontend, cc, r... method test_lookup_exclude_housenumber_placeid (line 104) | def test_lookup_exclude_housenumber_placeid(self, apiobj, frontend): method test_lookup_exclude_street_placeid (line 113) | def test_lookup_exclude_street_placeid(self, apiobj, frontend): method test_lookup_only_house_qualifier (line 122) | def test_lookup_only_house_qualifier(self, apiobj, frontend): method test_lookup_only_street_qualifier (line 131) | def test_lookup_only_street_qualifier(self, apiobj, frontend): method test_lookup_min_rank (line 141) | def test_lookup_min_rank(self, apiobj, frontend, rank, found): method test_return_geometries (line 154) | def test_return_geometries(self, apiobj, frontend, geom): function test_very_large_housenumber (line 164) | def test_very_large_housenumber(apiobj, frontend): class TestInterpolations (line 184) | class TestInterpolations: method fill_database (line 187) | def fill_database(self, apiobj): method test_lookup_housenumber (line 206) | def test_lookup_housenumber(self, apiobj, frontend, hnr, res): method test_osmline_with_geometries (line 217) | def test_osmline_with_geometries(self, apiobj, frontend, geom): class TestTiger (line 227) | class TestTiger: method fill_database (line 230) | def fill_database(self, apiobj): method test_lookup_housenumber (line 251) | def test_lookup_housenumber(self, apiobj, frontend, hnr, res): method test_tiger_with_geometries (line 262) | def test_tiger_with_geometries(self, apiobj, frontend, geom): FILE: test/python/api/search/test_search_country.py function run_search (line 18) | def run_search(apiobj, frontend, global_penalty, ccodes, function test_find_from_placex (line 37) | def test_find_from_placex(apiobj, frontend): function test_find_from_fallback_countries (line 52) | def test_find_from_fallback_countries(apiobj, frontend): function test_find_none (line 62) | def test_find_none(apiobj, frontend): function test_find_near (line 67) | def test_find_near(apiobj, frontend, coord, numres): class TestCountryParameters (line 78) | class TestCountryParameters: method fill_database (line 81) | def fill_database(self, apiobj): method test_return_geometries (line 96) | def test_return_geometries(self, apiobj, frontend, geom, cc): method test_exclude_place_id (line 104) | def test_exclude_place_id(self, apiobj, frontend, pid, rids): method test_bounded_viewbox_in_placex (line 112) | def test_bounded_viewbox_in_placex(self, apiobj, frontend, viewbox, ri... method test_bounded_viewbox_in_fallback (line 121) | def test_bounded_viewbox_in_fallback(self, apiobj, frontend, viewbox, ... FILE: test/python/api/search/test_search_near.py function run_search (line 20) | def run_search(apiobj, frontend, global_penalty, cat, cat_penalty=None, ... function test_no_results_inner_query (line 54) | def test_no_results_inner_query(apiobj, frontend): function test_no_appropriate_results_inner_query (line 58) | def test_no_appropriate_results_inner_query(apiobj, frontend): class TestNearSearch (line 70) | class TestNearSearch: method fill_database (line 73) | def fill_database(self, apiobj): method test_near_in_placex (line 83) | def test_near_in_placex(self, apiobj, frontend): method test_multiple_types_near_in_placex (line 93) | def test_multiple_types_near_in_placex(self, apiobj, frontend): method test_near_in_classtype (line 106) | def test_near_in_classtype(self, apiobj, frontend): method test_restrict_by_country (line 119) | def test_restrict_by_country(self, apiobj, frontend, cc, rid): method test_exclude_place_by_id (line 138) | def test_exclude_place_by_id(self, apiobj, frontend, excluded, rid): method test_with_layer (line 153) | def test_with_layer(self, apiobj, frontend, layer, rids): FILE: test/python/api/search/test_search_places.py function run_search (line 24) | def run_search(apiobj, frontend, global_penalty, lookup, ranking, count=2, class TestNameOnlySearches (line 53) | class TestNameOnlySearches: method fill_database (line 56) | def fill_database(self, apiobj): method test_lookup_all_match (line 69) | def test_lookup_all_match(self, apiobj, frontend, lookup_type, rank, r... method test_lookup_all_partial_match (line 78) | def test_lookup_all_partial_match(self, apiobj, frontend, lookup_type): method test_lookup_any_match (line 89) | def test_lookup_any_match(self, apiobj, frontend, rank, res): method test_lookup_any_partial_match (line 97) | def test_lookup_any_partial_match(self, apiobj, frontend): method test_lookup_restrict_country (line 107) | def test_lookup_restrict_country(self, apiobj, frontend, cc, res): method test_lookup_restrict_placeid (line 115) | def test_lookup_restrict_placeid(self, apiobj, frontend): method test_return_geometries (line 128) | def test_return_geometries(self, apiobj, frontend, geom): method test_return_simplified_geometry (line 138) | def test_return_simplified_geometry(self, apiobj, frontend, factor, np... method test_prefer_viewbox (line 163) | def test_prefer_viewbox(self, apiobj, frontend, viewbox, rids, wcount): method test_force_viewbox (line 176) | def test_force_viewbox(self, apiobj, frontend, viewbox): method test_prefer_near (line 185) | def test_prefer_near(self, apiobj, frontend): method test_force_near (line 199) | def test_force_near(self, apiobj, frontend, radius): function test_name_and_postcode (line 211) | def test_name_and_postcode(apiobj, frontend, wcount, rids): class TestLayersRank30 (line 238) | class TestLayersRank30: method fill_database (line 241) | def fill_database(self, apiobj): method test_layers_rank30 (line 283) | def test_layers_rank30(self, apiobj, frontend, layer, res): FILE: test/python/api/search/test_search_poi.py function run_search (line 17) | def run_search(apiobj, frontend, global_penalty, poitypes, poi_penalties... function test_simple_near_search_in_placex (line 40) | def test_simple_near_search_in_placex(apiobj, frontend, coord, pid): function test_simple_near_search_in_classtype (line 56) | def test_simple_near_search_in_classtype(apiobj, frontend, coord, pid): class TestPoiSearchWithRestrictions (line 70) | class TestPoiSearchWithRestrictions: method fill_database (line 73) | def fill_database(self, apiobj, request): method test_unrestricted (line 86) | def test_unrestricted(self, apiobj, frontend): method test_restict_country (line 92) | def test_restict_country(self, apiobj, frontend): method test_restrict_by_viewbox (line 99) | def test_restrict_by_viewbox(self, apiobj, frontend): FILE: test/python/api/search/test_search_postcode.py function poly_around (line 19) | def poly_around(x, y, diff=0.01): function run_search (line 24) | def run_search(apiobj, frontend, global_penalty, pcs, pc_penalties=None, function test_postcode_only_search (line 47) | def test_postcode_only_search(apiobj, frontend): function test_postcode_with_country (line 57) | def test_postcode_with_country(apiobj, frontend): function test_postcode_area (line 69) | def test_postcode_area(apiobj, frontend): class TestPostcodeSearchWithAddress (line 81) | class TestPostcodeSearchWithAddress: method fill_database (line 84) | def fill_database(self, apiobj): method test_lookup_both (line 104) | def test_lookup_both(self, apiobj, frontend): method test_restrict_by_name (line 112) | def test_restrict_by_name(self, apiobj, frontend): method test_lookup_near (line 121) | def test_lookup_near(self, apiobj, frontend, coord, place_id): method test_return_geometries (line 136) | def test_return_geometries(self, apiobj, frontend, geom): method test_prefer_viewbox (line 145) | def test_prefer_viewbox(self, apiobj, frontend, viewbox, rids): method test_restrict_to_viewbox (line 153) | def test_restrict_to_viewbox(self, apiobj, frontend, viewbox, rid): method test_prefer_near (line 162) | def test_prefer_near(self, apiobj, frontend, coord, rids): method test_exclude (line 169) | def test_exclude(self, apiobj, frontend, pid, rid): FILE: test/python/api/search/test_token_assignment.py class MyToken (line 19) | class MyToken(Token): method get_category (line 20) | def get_category(self): method get_country (line 23) | def get_country(self): function make_query (line 27) | def make_query(*args): function check_assignments (line 44) | def check_assignments(actual, *expected): function test_query_with_missing_tokens (line 53) | def test_query_with_missing_tokens(): function test_one_word_query (line 60) | def test_one_word_query(): function test_single_postcode (line 70) | def test_single_postcode(): function test_single_country_name (line 78) | def test_single_country_name(): function test_single_word_poi_search (line 86) | def test_single_word_poi_search(): function test_multiple_simple_words (line 96) | def test_multiple_simple_words(btype): function test_multiple_words_respect_phrase_break (line 115) | def test_multiple_words_respect_phrase_break(): function test_housenumber_and_street (line 126) | def test_housenumber_and_street(): function test_housenumber_and_street_backwards (line 137) | def test_housenumber_and_street_backwards(): function test_housenumber_and_postcode (line 148) | def test_housenumber_and_postcode(): function test_postcode_and_housenumber (line 166) | def test_postcode_and_housenumber(): function test_country_housenumber_postcode (line 184) | def test_country_housenumber_postcode(): function test_housenumber_with_only_special_terms (line 195) | def test_housenumber_with_only_special_terms(ttype): function test_multiple_special_tokens (line 203) | def test_multiple_special_tokens(ttype): function test_housenumber_many_phrases (line 211) | def test_housenumber_many_phrases(): function test_country_at_beginning (line 230) | def test_country_at_beginning(): function test_country_at_end (line 239) | def test_country_at_end(): function test_country_in_middle (line 248) | def test_country_in_middle(): function test_postcode_with_designation (line 256) | def test_postcode_with_designation(): function test_postcode_with_designation_backwards (line 267) | def test_postcode_with_designation_backwards(): function test_near_item_at_beginning (line 278) | def test_near_item_at_beginning(): function test_near_item_at_end (line 287) | def test_near_item_at_end(): function test_near_item_in_middle (line 296) | def test_near_item_in_middle(): function test_qualifier_at_beginning (line 304) | def test_qualifier_at_beginning(): function test_qualifier_after_name (line 317) | def test_qualifier_after_name(): function test_qualifier_before_housenumber (line 333) | def test_qualifier_before_housenumber(): function test_qualifier_after_housenumber (line 341) | def test_qualifier_after_housenumber(): function test_qualifier_in_middle_of_phrase (line 349) | def test_qualifier_in_middle_of_phrase(): FILE: test/python/api/test_api_connection.py function test_run_scalar (line 16) | async def test_run_scalar(api, table_factory): function test_run_execute (line 24) | async def test_run_execute(api, table_factory): function test_get_property_existing_cached (line 33) | async def test_get_property_existing_cached(api, table_factory): function test_get_property_existing_uncached (line 47) | async def test_get_property_existing_uncached(api, table_factory): function test_get_property_missing (line 62) | async def test_get_property_missing(api, table_factory, param): function test_get_db_property_existing (line 72) | async def test_get_db_property_existing(api): function test_get_db_property_bad_name (line 78) | async def test_get_db_property_bad_name(api): FILE: test/python/api/test_api_deletable_v1.py class TestDeletableEndPoint (line 19) | class TestDeletableEndPoint: method setup_deletable_table (line 22) | def setup_deletable_table(self, temp_db_cursor, table_factory, temp_db... method test_deletable (line 37) | async def test_deletable(self, api): FILE: test/python/api/test_api_details.py function test_lookup_in_placex (line 19) | def test_lookup_in_placex(apiobj, frontend, idobj): function test_lookup_in_placex_minimal_info (line 75) | def test_lookup_in_placex_minimal_info(apiobj, frontend): function test_lookup_in_placex_with_geometry (line 126) | def test_lookup_in_placex_with_geometry(apiobj, frontend): function test_lookup_placex_with_address_details (line 136) | def test_lookup_placex_with_address_details(apiobj, frontend): function test_lookup_place_with_linked_places_none_existing (line 184) | def test_lookup_place_with_linked_places_none_existing(apiobj, frontend): function test_lookup_place_with_linked_places_existing (line 196) | def test_lookup_place_with_linked_places_existing(apiobj, frontend): function test_lookup_place_with_parented_places_not_existing (line 227) | def test_lookup_place_with_parented_places_not_existing(apiobj, frontend): function test_lookup_place_with_parented_places_existing (line 239) | def test_lookup_place_with_parented_places_existing(apiobj, frontend): function test_lookup_in_osmline (line 266) | def test_lookup_in_osmline(apiobj, frontend, idobj): function test_lookup_in_osmline_split_interpolation (line 315) | def test_lookup_in_osmline_split_interpolation(apiobj, frontend): function test_lookup_osmline_with_address_details (line 335) | def test_lookup_osmline_with_address_details(apiobj, frontend): function test_lookup_in_tiger (line 386) | def test_lookup_in_tiger(apiobj, frontend): function test_lookup_tiger_with_address_details (line 436) | def test_lookup_tiger_with_address_details(apiobj, frontend): function test_lookup_in_postcode (line 487) | def test_lookup_in_postcode(apiobj, frontend): function test_lookup_postcode_with_address_details (line 539) | def test_lookup_postcode_with_address_details(apiobj, frontend, lookup): function test_lookup_missing_object (line 589) | def test_lookup_missing_object(apiobj, frontend, objid): function test_lookup_unsupported_geometry (line 600) | def test_lookup_unsupported_geometry(apiobj, frontend, gtype): FILE: test/python/api/test_api_lookup.py function test_lookup_empty_list (line 17) | def test_lookup_empty_list(apiobj, frontend): function test_lookup_non_existing (line 22) | def test_lookup_non_existing(apiobj, frontend): function test_lookup_single_placex (line 30) | def test_lookup_single_placex(apiobj, frontend, idobj): function test_lookup_multiple_places (line 81) | def test_lookup_multiple_places(apiobj, frontend): function test_simple_place_with_geometry (line 112) | def test_simple_place_with_geometry(apiobj, frontend, gtype): function test_simple_place_with_geometry_simplified (line 138) | def test_simple_place_with_geometry_simplified(apiobj, frontend): FILE: test/python/api/test_api_polygons_v1.py class TestPolygonsEndPoint (line 20) | class TestPolygonsEndPoint: method setup_deletable_table (line 23) | def setup_deletable_table(self, temp_db_cursor, table_factory, temp_db... method test_polygons_simple (line 46) | async def test_polygons_simple(self, api): method test_polygons_days (line 66) | async def test_polygons_days(self, api): method test_polygons_class (line 76) | async def test_polygons_class(self, api): method test_polygons_reduced (line 86) | async def test_polygons_reduced(self, api): FILE: test/python/api/test_api_reverse.py function test_reverse_rank_30 (line 22) | def test_reverse_rank_30(apiobj, frontend): function test_reverse_street (line 36) | def test_reverse_street(apiobj, frontend, country): function test_reverse_ignore_unindexed (line 48) | def test_reverse_ignore_unindexed(apiobj, frontend): function test_reverse_rank_30_layers (line 73) | def test_reverse_rank_30_layers(apiobj, frontend, y, layer, place_id): function test_reverse_poi_layer_with_no_pois (line 111) | def test_reverse_poi_layer_with_no_pois(apiobj, frontend): function test_reverse_housenumber_on_street (line 124) | def test_reverse_housenumber_on_street(apiobj, frontend, with_geom): function test_reverse_housenumber_interpolation (line 156) | def test_reverse_housenumber_interpolation(apiobj, frontend, with_geom): function test_reverse_housenumber_point_interpolation (line 190) | def test_reverse_housenumber_point_interpolation(apiobj, frontend): function test_reverse_tiger_number (line 208) | def test_reverse_tiger_number(apiobj, frontend): function test_reverse_point_tiger (line 226) | def test_reverse_point_tiger(apiobj, frontend): function test_reverse_low_zoom_address (line 245) | def test_reverse_low_zoom_address(apiobj, frontend): function test_reverse_place_node_in_area (line 264) | def test_reverse_place_node_in_area(apiobj, frontend): function test_reverse_larger_area_layers (line 288) | def test_reverse_larger_area_layers(apiobj, frontend, layer, place_id): function test_reverse_country_lookup_no_objects (line 309) | def test_reverse_country_lookup_no_objects(apiobj, frontend): function test_reverse_country_lookup_country_only (line 318) | def test_reverse_country_lookup_country_only(apiobj, frontend, rank, wit... function test_reverse_country_lookup_place_node_inside (line 338) | def test_reverse_country_lookup_place_node_inside(apiobj, frontend, with... function test_reverse_geometry_output_placex (line 364) | def test_reverse_geometry_output_placex(apiobj, frontend, gtype): function test_reverse_simplified_geometry (line 384) | def test_reverse_simplified_geometry(apiobj, frontend): function test_reverse_interpolation_geometry (line 397) | def test_reverse_interpolation_geometry(apiobj, frontend): function test_reverse_tiger_geometry (line 410) | def test_reverse_tiger_geometry(apiobj, frontend): FILE: test/python/api/test_api_search.py function setup_icu_tokenizer (line 21) | def setup_icu_tokenizer(apiobj): function test_search_no_content (line 32) | def test_search_no_content(apiobj, frontend): function test_search_simple_word (line 39) | def test_search_simple_word(apiobj, frontend): function test_search_with_debug (line 54) | def test_search_with_debug(apiobj, frontend, logtype): function test_address_no_content (line 69) | def test_address_no_content(apiobj, frontend): function test_address_simple_places (line 86) | def test_address_simple_places(apiobj, frontend, atype, address, search): function test_address_country (line 101) | def test_address_country(apiobj, frontend): function test_category_no_categories (line 110) | def test_category_no_categories(apiobj, frontend): function test_category_no_content (line 117) | def test_category_no_content(apiobj, frontend): function test_category_simple_restaurant (line 124) | def test_category_simple_restaurant(apiobj, frontend): function test_category_with_search_phrase (line 138) | def test_category_with_search_phrase(apiobj, frontend): FILE: test/python/api/test_api_status.py function test_status_no_extra_info (line 19) | def test_status_no_extra_info(apiobj, frontend): function test_status_full (line 30) | def test_status_full(apiobj, frontend): function test_status_database_not_found (line 47) | def test_status_database_not_found(monkeypatch): function test_status_connection_timeout_single_pool (line 62) | async def test_status_connection_timeout_single_pool(status_table, prope... function test_status_connection_timeout_multi_pool (line 75) | async def test_status_connection_timeout_multi_pool(status_table, proper... FILE: test/python/api/test_api_types.py function test_no_params_defaults (line 16) | def test_no_params_defaults(): function test_bad_format_reverse (line 26) | def test_bad_format_reverse(k, v): function test_rank_params (line 33) | def test_rank_params(rin, rout): class TestFormatExcluded (line 39) | class TestFormatExcluded: method test_empty_value (line 42) | def test_empty_value(self, inp): method test_valid_exclude_ids (line 60) | def test_valid_exclude_ids(self, inp, expected): method test_invalid_exclude_ids (line 71) | def test_invalid_exclude_ids(self, inp, bad_id): method test_invalid_list_element_type (line 76) | def test_invalid_list_element_type(self, inp): FILE: test/python/api/test_export.py function run_export (line 16) | def run_export(tmp_path, capsys): function setup_database_with_context (line 26) | def setup_database_with_context(apiobj): function test_export_default (line 44) | def test_export_default(run_export): function test_export_output_type (line 50) | def test_export_output_type(run_export): function test_export_output_format (line 56) | def test_export_output_format(run_export): function test_export_restrict_to_node_good (line 62) | def test_export_restrict_to_node_good(run_export): function test_export_restrict_to_node_not_address (line 68) | def test_export_restrict_to_node_not_address(run_export): FILE: test/python/api/test_helpers_v1.py function test_extract_coords_no_coords (line 20) | def test_extract_coords_no_coords(inp): function test_extract_coords_null_island (line 28) | def test_extract_coords_null_island(): function test_extract_coords_with_text_before (line 32) | def test_extract_coords_with_text_before(): function test_extract_coords_with_text_after (line 36) | def test_extract_coords_with_text_after(): function test_extract_coords_with_spaces (line 41) | def test_extract_coords_with_spaces(inp): function test_extract_coords_formats (line 75) | def test_extract_coords_formats(inp): function test_extract_coords_formats_southeast (line 95) | def test_extract_coords_formats_southeast(): function test_extract_category_good (line 107) | def test_extract_category_good(inp): function test_extract_category_only (line 115) | def test_extract_category_only(): function test_extract_category_no_match (line 120) | def test_extract_category_no_match(inp): FILE: test/python/api/test_localization.py function test_display_name_empty_names (line 15) | def test_display_name_empty_names(): function test_display_name_none_localized (line 22) | def test_display_name_none_localized(): function test_output_names_none_localized (line 30) | def test_output_names_none_localized(): function test_output_names_none_localized_and_custom_output_names (line 40) | def test_output_names_none_localized_and_custom_output_names(): function test_output_names_none_localized_and_custom_output_names_more_than_two_changes (line 51) | def test_output_names_none_localized_and_custom_output_names_more_than_t... function test_output_names_none_localized_and_custom_output_names_including_space (line 63) | def test_output_names_none_localized_and_custom_output_names_including_s... function test_display_name_localized (line 73) | def test_display_name_localized(): function test_output_names_localized (line 81) | def test_output_names_localized(): function test_output_names_localized_and_empty_names (line 91) | def test_output_names_localized_and_empty_names(): function test_output_names_localized_and_custom_names_ordering_logic (line 98) | def test_output_names_localized_and_custom_names_ordering_logic(): function test_output_names_localized_and_custom_output_names_including_space (line 109) | def test_output_names_localized_and_custom_output_names_including_space(): function test_output_names_localized_and_custom_output_names (line 122) | def test_output_names_localized_and_custom_output_names(): function test_output_names_localized_and_custom_output_names_start_with_tag_that_has_no_XX (line 138) | def test_output_names_localized_and_custom_output_names_start_with_tag_t... function test_output_names_localized_and_custom_output_names_no_named_tags (line 153) | def test_output_names_localized_and_custom_output_names_no_named_tags(): function test_output_names_localized_and_custom_output_names_only_named_tags (line 163) | def test_output_names_localized_and_custom_output_names_only_named_tags(): function test_output_names_localized_and_custom_output_names_more_than_two_changes (line 178) | def test_output_names_localized_and_custom_output_names_more_than_two_ch... function test_output_names_localized_and_custom_output_names_XX_in_the_middle (line 194) | def test_output_names_localized_and_custom_output_names_XX_in_the_middle(): function test_display_name_preference (line 210) | def test_display_name_preference(): function test_from_language_preferences (line 226) | def test_from_language_preferences(langstr, langlist): FILE: test/python/api/test_result_formatting_v1.py function test_status_format_list (line 27) | def test_status_format_list(): function test_status_supported (line 32) | def test_status_supported(fmt): function test_status_unsupported (line 36) | def test_status_unsupported(): function test_status_format_text (line 40) | def test_status_format_text(): function test_status_format_error_text (line 45) | def test_status_format_error_text(): function test_status_format_json_minimal (line 50) | def test_status_format_json_minimal(): function test_status_format_json_full (line 60) | def test_status_format_json_full(): function test_search_details_minimal (line 76) | def test_search_details_minimal(): function test_search_details_full (line 100) | def test_search_details_full(): function test_search_details_no_geometry (line 158) | def test_search_details_no_geometry(gtype, isarea): function test_search_details_with_geometry (line 171) | def test_search_details_with_geometry(): function test_search_details_with_icon_available (line 185) | def test_search_details_with_icon_available(): function test_search_details_with_icon_not_available (line 196) | def test_search_details_with_icon_not_available(): function test_search_details_with_address_minimal (line 207) | def test_search_details_with_address_minimal(): function test_search_details_with_further_infos (line 239) | def test_search_details_with_further_infos(field, outfield): function test_search_details_grouped_hierarchy (line 273) | def test_search_details_grouped_hierarchy(): function test_search_details_keywords_name (line 306) | def test_search_details_keywords_name(): function test_search_details_keywords_address (line 322) | def test_search_details_keywords_address(): function test_search_extratags_boundary_administrative_injects_admin_level (line 344) | def test_search_extratags_boundary_administrative_injects_admin_level(fmt): function test_search_extratags_non_boundary_no_admin_level_injection (line 374) | def test_search_extratags_non_boundary_no_admin_level_injection(fmt): function test_search_extratags_boundary_admin_level_15_no_injection (line 404) | def test_search_extratags_boundary_admin_level_15_no_injection(fmt): FILE: test/python/api/test_result_formatting_v1_reverse.py function test_format_reverse_minimal (line 25) | def test_format_reverse_minimal(fmt): function test_format_reverse_no_result (line 41) | def test_format_reverse_no_result(fmt): function test_format_reverse_with_osm_id (line 52) | def test_format_reverse_with_osm_id(fmt): function test_format_reverse_with_address (line 78) | def test_format_reverse_with_address(fmt): function test_format_reverse_geocodejson_special_parts (line 128) | def test_format_reverse_geocodejson_special_parts(): function test_format_reverse_with_address_none (line 179) | def test_format_reverse_with_address_none(fmt): function test_format_reverse_with_extratags (line 208) | def test_format_reverse_with_extratags(fmt): function test_format_reverse_with_extratags_none (line 231) | def test_format_reverse_with_extratags_none(fmt): function test_format_reverse_with_namedetails_with_name (line 253) | def test_format_reverse_with_namedetails_with_name(fmt): function test_format_reverse_with_namedetails_without_name (line 276) | def test_format_reverse_with_namedetails_without_name(fmt): function test_search_details_with_icon_available (line 298) | def test_search_details_with_icon_available(fmt): function test_search_details_with_icon_not_available (line 312) | def test_search_details_with_icon_not_available(fmt): FILE: test/python/api/test_results.py function mkpoint (line 19) | def mkpoint(x, y): class FakeRow (line 23) | class FakeRow: method __init__ (line 24) | def __init__(self, **kwargs): function test_minimal_detailed_result (line 32) | def test_minimal_detailed_result(): function test_detailed_result_custom_importance (line 42) | def test_detailed_result_custom_importance(): function test_create_row_with_housenumber (line 53) | def test_create_row_with_housenumber(func): function test_create_row_without_housenumber (line 67) | def test_create_row_without_housenumber(func): FILE: test/python/api/test_server_glue_v1.py function test_adaptor_get_int_missing_but_required (line 25) | def test_adaptor_get_int_missing_but_required(func): function test_adaptor_get_int_missing_with_default (line 31) | def test_adaptor_get_int_missing_with_default(func, val): function test_adaptor_get_int_success (line 36) | def test_adaptor_get_int_success(inp): function test_adaptor_get_int_bad_number (line 42) | def test_adaptor_get_int_bad_number(inp): function test_adaptor_get_bool_trueish (line 48) | def test_adaptor_get_bool_trueish(inp): function test_adaptor_get_bool_falsish (line 52) | def test_adaptor_get_bool_falsish(): function test_adaptor_parse_format_use_default (line 58) | def test_adaptor_parse_format_use_default(): function test_adaptor_parse_format_use_configured (line 65) | def test_adaptor_parse_format_use_configured(): function test_adaptor_parse_format_invalid_value (line 72) | def test_adaptor_parse_format_invalid_value(): function test_accepted_languages_from_param (line 81) | def test_accepted_languages_from_param(): function test_accepted_languages_from_header (line 86) | def test_accepted_languages_from_header(): function test_accepted_languages_from_default (line 91) | def test_accepted_languages_from_default(monkeypatch): function test_accepted_languages_param_over_header (line 97) | def test_accepted_languages_param_over_header(): function test_accepted_languages_header_over_default (line 103) | def test_accepted_languages_header_over_default(monkeypatch): class TestAdaptorRaiseError (line 111) | class TestAdaptorRaiseError: method init_adaptor (line 114) | def init_adaptor(self): method run_raise_error (line 118) | def run_raise_error(self, msg, status): method test_without_content_set (line 124) | def test_without_content_set(self): method test_json (line 131) | def test_json(self): method test_xml (line 140) | def test_xml(self): function test_raise_error_during_debug (line 152) | def test_raise_error_during_debug(): function test_build_response_without_content_type (line 170) | def test_build_response_without_content_type(): function test_build_response_with_status (line 179) | def test_build_response_with_status(): function test_build_response_jsonp_with_json (line 191) | def test_build_response_jsonp_with_json(): function test_build_response_jsonp_without_json (line 203) | def test_build_response_jsonp_without_json(): function test_build_response_jsonp_bad_format (line 216) | def test_build_response_jsonp_bad_format(param): class TestStatusEndpoint (line 226) | class TestStatusEndpoint: method patch_status_func (line 229) | def patch_status_func(self, monkeypatch): method test_status_without_params (line 236) | async def test_status_without_params(self): method test_status_with_error (line 247) | async def test_status_with_error(self): method test_status_json_with_error (line 258) | async def test_status_json_with_error(self): method test_status_bad_format (line 269) | async def test_status_bad_format(self): class TestDetailsEndpoint (line 279) | class TestDetailsEndpoint: method patch_lookup_func (line 282) | def patch_lookup_func(self, monkeypatch): method test_details_no_params (line 295) | async def test_details_no_params(self): method test_details_by_place_id (line 302) | async def test_details_by_place_id(self): method test_details_by_osm_id (line 310) | async def test_details_by_osm_id(self): method test_details_with_debugging (line 320) | async def test_details_with_debugging(self): method test_details_no_result (line 330) | async def test_details_no_result(self): class TestReverseEndPoint (line 339) | class TestReverseEndPoint: method patch_reverse_func (line 342) | def patch_reverse_func(self, monkeypatch): method test_reverse_no_params (line 354) | async def test_reverse_no_params(self, params): method test_reverse_success (line 363) | async def test_reverse_success(self): method test_reverse_from_search (line 371) | async def test_reverse_from_search(self): class TestLookupEndpoint (line 383) | class TestLookupEndpoint: method patch_lookup_func (line 386) | def patch_lookup_func(self, monkeypatch): method test_lookup_no_params (line 397) | async def test_lookup_no_params(self): method test_lookup_bad_params (line 407) | async def test_lookup_bad_params(self, param): method test_lookup_bad_osm_type (line 418) | async def test_lookup_bad_osm_type(self, param): method test_lookup_working (line 428) | async def test_lookup_working(self): class TestSearchEndPointSearch (line 440) | class TestSearchEndPointSearch: method patch_lookup_func (line 443) | def patch_lookup_func(self, monkeypatch): method test_search_free_text (line 454) | async def test_search_free_text(self): method test_search_free_text_xml (line 463) | async def test_search_free_text_xml(self): method test_search_free_and_structured (line 474) | async def test_search_free_and_structured(self): method test_search_dedupe (line 484) | async def test_search_dedupe(self, dedupe, numres): class TestSearchEndPointSearchAddress (line 496) | class TestSearchEndPointSearchAddress: method patch_lookup_func (line 499) | def patch_lookup_func(self, monkeypatch): method test_search_structured (line 510) | async def test_search_structured(self): class TestSearchEndPointSearchCategory (line 519) | class TestSearchEndPointSearchCategory: method patch_lookup_func (line 522) | def patch_lookup_func(self, monkeypatch): method test_search_category (line 533) | async def test_search_category(self): FILE: test/python/api/test_timeout.py function test_timeout_none (line 18) | async def test_timeout_none(): function test_timeout_should_not_be_elapsed_after_creation (line 26) | async def test_timeout_should_not_be_elapsed_after_creation(): function test_timeout_elapse (line 31) | async def test_timeout_elapse(): FILE: test/python/api/test_warm.py function setup_database_with_context (line 16) | def setup_database_with_context(apiobj, table_factory): function test_warm_all (line 31) | def test_warm_all(tmp_path, args): FILE: test/python/cli/conftest.py class MockParamCapture (line 12) | class MockParamCapture: method __init__ (line 16) | def __init__(self, retval=0): method __call__ (line 22) | def __call__(self, *args, **kwargs): class AsyncMockParamCapture (line 29) | class AsyncMockParamCapture: method __init__ (line 33) | def __init__(self, retval=0): method __call__ (line 39) | async def __call__(self, *args, **kwargs): class DummyTokenizer (line 46) | class DummyTokenizer: method __init__ (line 47) | def __init__(self, *args, **kwargs): method update_sql_functions (line 53) | def update_sql_functions(self, *args, **kwargs): method finalize_import (line 56) | def finalize_import(self, *args, **kwargs): method update_statistics (line 59) | def update_statistics(self, *args, **kwargs): method update_word_tokens (line 62) | def update_word_tokens(self, *args, **kwargs): function cli_call (line 67) | def cli_call(): function mock_func_factory (line 78) | def mock_func_factory(monkeypatch): function async_mock_func_factory (line 89) | def async_mock_func_factory(monkeypatch): function cli_tokenizer_mock (line 100) | def cli_tokenizer_mock(monkeypatch): FILE: test/python/cli/test_cli.py function test_cli_help (line 22) | def test_cli_help(cli_call, capsys): function test_cli_version (line 31) | def test_cli_version(cli_call, capsys): class TestCliWithDb (line 40) | class TestCliWithDb: method setup_cli_call (line 43) | def setup_cli_call(self, cli_call, temp_db, cli_tokenizer_mock, table_... method test_cli_add_data_file_command (line 50) | def test_cli_add_data_file_command(self, cli_call, mock_func_factory, ... method test_cli_add_data_object_command (line 57) | def test_cli_add_data_object_command(self, cli_call, mock_func_factory... method test_cli_add_data_tiger_data (line 63) | def test_cli_add_data_tiger_data(self, cli_call, cli_tokenizer_mock, a... method test_freeze_command (line 70) | def test_freeze_command(self, mock_func_factory): method test_index_command (line 84) | def test_index_command(self, monkeypatch, async_mock_func_factory, tab... method test_special_phrases_wiki_command (line 104) | def test_special_phrases_wiki_command(self, mock_func_factory): method test_special_phrases_csv_command (line 111) | def test_special_phrases_csv_command(self, src_dir, mock_func_factory): method test_special_phrases_csv_bad_file (line 120) | def test_special_phrases_csv_bad_file(self, src_dir): FILE: test/python/cli/test_cmd_admin.py function test_admin_command_check_database (line 22) | def test_admin_command_check_database(cli_call, mock_func_factory): function test_admin_migrate (line 29) | def test_admin_migrate(cli_call, mock_func_factory): function test_admin_clean_deleted_relations (line 36) | def test_admin_clean_deleted_relations(cli_call, mock_func_factory): function test_admin_clean_deleted_relations_no_age (line 43) | def test_admin_clean_deleted_relations_no_age(cli_call, mock_func_factory): class TestCliAdminWithDb (line 49) | class TestCliAdminWithDb: method setup_cli_call (line 52) | def setup_cli_call(self, cli_call, temp_db, cli_tokenizer_mock): method test_analyse_indexing (line 57) | def test_analyse_indexing(self, mock_func_factory, func, params): FILE: test/python/cli/test_cmd_api.py function test_list_format (line 17) | def test_list_format(cli_call, call): function test_bad_format (line 22) | def test_bad_format(cli_call, call): class TestCliStatusCall (line 26) | class TestCliStatusCall: method setup_status_mock (line 29) | def setup_status_mock(self, monkeypatch): method test_status_simple (line 33) | def test_status_simple(self, cli_call, tmp_path): method test_status_json_format (line 38) | def test_status_json_format(self, cli_call, tmp_path, capsys): class TestCliDetailsCall (line 47) | class TestCliDetailsCall: method setup_status_mock (line 50) | def setup_status_mock(self, monkeypatch): method test_details_json_format (line 61) | def test_details_json_format(self, cli_call, tmp_path, capsys, params): class TestCliReverseCall (line 69) | class TestCliReverseCall: method setup_reverse_mock (line 72) | def setup_reverse_mock(self, monkeypatch): method test_reverse_simple (line 82) | def test_reverse_simple(self, cli_call, tmp_path, capsys): method test_reverse_extra_stuff (line 97) | def test_reverse_extra_stuff(self, cli_call, tmp_path, capsys, param, ... method test_reverse_format (line 106) | def test_reverse_format(self, cli_call, tmp_path, capsys): class TestCliLookupCall (line 116) | class TestCliLookupCall: method setup_lookup_mock (line 119) | def setup_lookup_mock(self, monkeypatch): method test_lookup_simple (line 129) | def test_lookup_simple(self, cli_call, tmp_path, capsys): function test_search (line 146) | def test_search(cli_call, tmp_path, capsys, monkeypatch, endpoint, params): FILE: test/python/cli/test_cmd_import.py class TestCliImportWithDb (line 20) | class TestCliImportWithDb: method setup_cli_call (line 23) | def setup_cli_call(self, cli_call, temp_db, cli_tokenizer_mock): method test_import_missing_file (line 27) | def test_import_missing_file(self): method test_import_bad_file (line 30) | def test_import_bad_file(self): method test_import_full (line 34) | def test_import_full(self, mock_func_factory, async_mock_func_factory, method test_import_continue_load_data (line 70) | def test_import_continue_load_data(self, mock_func_factory, async_mock... method test_import_continue_indexing (line 87) | def test_import_continue_indexing(self, mock_func_factory, async_mock_... method test_import_continue_postprocess (line 104) | def test_import_continue_postprocess(self, mock_func_factory, async_mo... FILE: test/python/cli/test_cmd_index.py class TestCliIndexWithDb (line 15) | class TestCliIndexWithDb: method setup_cli_call (line 18) | def setup_cli_call(self, cli_call, cli_tokenizer_mock): method test_index_empty_subset (line 22) | def test_index_empty_subset(self, monkeypatch, async_mock_func_factory... FILE: test/python/cli/test_cmd_refresh.py class TestRefresh (line 17) | class TestRefresh: method setup_cli_call (line 20) | def setup_cli_call(self, cli_call, temp_db, cli_tokenizer_mock): method test_refresh_command (line 29) | def test_refresh_command(self, mock_func_factory, command, func): method test_refresh_word_count (line 36) | def test_refresh_word_count(self): method test_refresh_word_tokens (line 40) | def test_refresh_word_tokens(self): method test_refresh_postcodes (line 44) | def test_refresh_postcodes(self, async_mock_func_factory, mock_func_fa... method test_refresh_postcodes_no_place_table (line 53) | def test_refresh_postcodes_no_place_table(self): method test_refresh_create_functions (line 57) | def test_refresh_create_functions(self, mock_func_factory): method test_refresh_wikidata_file_not_found (line 64) | def test_refresh_wikidata_file_not_found(self, monkeypatch): method test_refresh_secondary_importance_file_not_found (line 69) | def test_refresh_secondary_importance_file_not_found(self): method test_refresh_secondary_importance_new_table (line 72) | def test_refresh_secondary_importance_new_table(self, mock_func_factory): method test_refresh_importance_computed_after_wiki_import (line 80) | def test_refresh_importance_computed_after_wiki_import(self, monkeypat... method test_refresh_objects (line 99) | def test_refresh_objects(self, params, mock_func_factory): method test_refresh_objects_bad_param (line 108) | def test_refresh_objects_bad_param(self, func, param, mock_func_factory): FILE: test/python/cli/test_cmd_replication.py function tokenizer_mock (line 23) | def tokenizer_mock(monkeypatch): function init_status (line 45) | def init_status(temp_db_conn, status_table): function index_mock (line 50) | def index_mock(async_mock_func_factory, tokenizer_mock, init_status): function update_mock (line 55) | def update_mock(mock_func_factory, init_status, tokenizer_mock): class TestCliReplication (line 59) | class TestCliReplication: method setup_cli_call (line 62) | def setup_cli_call(self, cli_call, temp_db): method setup_update_function (line 66) | def setup_update_function(self, monkeypatch): method test_replication_command (line 78) | def test_replication_command(self, mock_func_factory, params, func): method test_replication_update_bad_interval (line 89) | def test_replication_update_bad_interval(self, monkeypatch): method test_replication_update_bad_interval_for_geofabrik (line 94) | def test_replication_update_bad_interval_for_geofabrik(self, monkeypat... method test_replication_update_continuous_no_index (line 100) | def test_replication_update_continuous_no_index(self): method test_replication_update_once_no_index (line 103) | def test_replication_update_once_no_index(self, update_mock, monkeypat... method test_replication_update_custom_osm2pgsql (line 109) | def test_replication_update_custom_osm2pgsql(self, monkeypatch, update... method test_replication_catchup (line 116) | def test_replication_catchup(self, placex_table, monkeypatch, index_mo... method test_replication_update_custom_threads (line 122) | def test_replication_update_custom_threads(self, update_mock): method test_replication_update_continuous (line 127) | def test_replication_update_continuous(self, index_mock): method test_replication_update_continuous_no_change (line 136) | def test_replication_update_continuous_no_change(self, mock_func_factory, FILE: test/python/config/test_config.py function make_config (line 18) | def make_config(): function make_config_path (line 28) | def make_config_path(tmp_path): function test_no_project_dir (line 42) | def test_no_project_dir(make_config): function test_prefer_project_setting_over_default (line 49) | def test_prefer_project_setting_over_default(make_config, val, tmp_path): function test_prefer_os_environ_over_project_setting (line 58) | def test_prefer_os_environ_over_project_setting(make_config, monkeypatch... function test_prefer_os_environ_can_unset_project_setting (line 69) | def test_prefer_os_environ_can_unset_project_setting(make_config, monkey... function test_get_os_env_add_defaults (line 80) | def test_get_os_env_add_defaults(make_config, monkeypatch): function test_get_os_env_prefer_os_environ (line 88) | def test_get_os_env_prefer_os_environ(make_config, monkeypatch): function test_get_libpq_dsn_convert_default (line 96) | def test_get_libpq_dsn_convert_default(make_config): function test_get_libpq_dsn_convert_php (line 102) | def test_get_libpq_dsn_convert_php(make_config, monkeypatch): function test_get_libpq_dsn_convert_php_special_chars (line 114) | def test_get_libpq_dsn_convert_php_special_chars(make_config, monkeypatc... function test_get_libpq_dsn_convert_libpq (line 123) | def test_get_libpq_dsn_convert_libpq(make_config, monkeypatch): function test_get_bool (line 135) | def test_get_bool(make_config, monkeypatch, value, result): function test_get_bool_empty (line 143) | def test_get_bool_empty(make_config): function test_get_int_success (line 152) | def test_get_int_success(make_config, monkeypatch, value, result): function test_get_int_bad_values (line 161) | def test_get_int_bad_values(make_config, monkeypatch, value): function test_get_int_empty (line 170) | def test_get_int_empty(make_config): function test_get_str_list_success (line 182) | def test_get_str_list_success(make_config, monkeypatch, value, outlist): function test_get_str_list_empty (line 190) | def test_get_str_list_empty(make_config): function test_get_path_empty (line 196) | def test_get_path_empty(make_config): function test_get_path_absolute (line 203) | def test_get_path_absolute(make_config, monkeypatch, tmp_path): function test_get_path_relative (line 214) | def test_get_path_relative(make_config, monkeypatch, tmp_path): function test_get_import_style_intern (line 224) | def test_get_import_style_intern(make_config, src_dir, monkeypatch): function test_get_import_style_extern_relative (line 234) | def test_get_import_style_extern_relative(make_config_path, monkeypatch): function test_get_import_style_extern_absolute (line 243) | def test_get_import_style_extern_absolute(make_config, tmp_path, monkeyp... function test_load_subconf_from_project_dir (line 254) | def test_load_subconf_from_project_dir(make_config_path): function test_load_subconf_from_settings_dir (line 268) | def test_load_subconf_from_settings_dir(make_config_path): function test_load_subconf_empty_env_conf (line 279) | def test_load_subconf_empty_env_conf(make_config_path, monkeypatch): function test_load_subconf_env_absolute_found (line 291) | def test_load_subconf_env_absolute_found(make_config_path, monkeypatch, ... function test_load_subconf_env_absolute_not_found (line 303) | def test_load_subconf_env_absolute_not_found(make_config_path, monkeypat... function test_load_subconf_env_relative_found (line 314) | def test_load_subconf_env_relative_found(make_config_path, monkeypatch, ... function test_load_subconf_env_relative_not_found (line 326) | def test_load_subconf_env_relative_not_found(make_config_path, monkeypat... function test_load_subconf_json (line 336) | def test_load_subconf_json(make_config_path): function test_load_subconf_not_found (line 346) | def test_load_subconf_not_found(make_config_path): function test_load_subconf_env_unknown_format (line 353) | def test_load_subconf_env_unknown_format(make_config_path): function test_load_subconf_include_absolute (line 362) | def test_load_subconf_include_absolute(make_config_path, tmp_path): function test_load_subconf_include_relative (line 375) | def test_load_subconf_include_relative(make_config_path, tmp_path, locat... function test_load_subconf_include_bad_format (line 387) | def test_load_subconf_include_bad_format(make_config_path): function test_load_subconf_include_not_found (line 398) | def test_load_subconf_include_not_found(make_config_path): function test_load_subconf_include_recursive (line 408) | def test_load_subconf_include_recursive(make_config_path): function test_flatten_config_list_empty (line 422) | def test_flatten_config_list_empty(content): function test_flatten_config_list_no_list (line 427) | def test_flatten_config_list_no_list(content): function test_flatten_config_list_allready_flat (line 432) | def test_flatten_config_list_allready_flat(): function test_flatten_config_list_nested (line 436) | def test_flatten_config_list_nested(): FILE: test/python/config/test_config_load_module.py function test_config (line 18) | def test_config(src_dir, tmp_path): function test_load_default_module (line 29) | def test_load_default_module(test_config): function test_load_default_module_with_hyphen (line 35) | def test_load_default_module_with_hyphen(test_config): function test_load_plugin_module (line 41) | def test_load_plugin_module(test_config, tmp_path): function test_load_external_library_module (line 59) | def test_load_external_library_module(test_config, tmp_path, monkeypatch): FILE: test/python/conftest.py function _with_srid (line 32) | def _with_srid(geom, default=None): function src_dir (line 40) | def src_dir(): function temp_db (line 45) | def temp_db(monkeypatch): function dsn (line 70) | def dsn(temp_db): function temp_db_with_extensions (line 75) | def temp_db_with_extensions(temp_db): function temp_db_conn (line 84) | def temp_db_conn(temp_db): function temp_db_cursor (line 93) | def temp_db_cursor(temp_db): function table_factory (line 104) | def table_factory(temp_db_conn): function def_config (line 124) | def def_config(): function project_env (line 130) | def project_env(tmp_path): function country_table (line 138) | def country_table(table_factory): function country_row (line 143) | def country_row(country_table, temp_db_cursor): function load_sql (line 152) | def load_sql(temp_db_conn, country_table): function property_table (line 163) | def property_table(load_sql, temp_db_conn): function status_table (line 177) | def status_table(load_sql): function place_table (line 185) | def place_table(temp_db_with_extensions, table_factory): function place_row (line 201) | def place_row(place_table, temp_db_cursor): function place_postcode_table (line 219) | def place_postcode_table(temp_db_with_extensions, table_factory): function place_postcode_row (line 232) | def place_postcode_row(place_postcode_table, temp_db_cursor): function place_interpolation_table (line 250) | def place_interpolation_table(temp_db_with_extensions, table_factory): function place_interpolation_row (line 262) | def place_interpolation_row(place_interpolation_table, temp_db_cursor): function placex_table (line 279) | def placex_table(temp_db_with_extensions, temp_db_conn, load_sql, place_... function placex_row (line 287) | def placex_row(placex_table, temp_db_cursor): function osmline_table (line 314) | def osmline_table(temp_db_with_extensions, load_sql): function osmline_row (line 319) | def osmline_row(osmline_table, temp_db_cursor): function postcode_table (line 336) | def postcode_table(temp_db_with_extensions, load_sql): function postcode_row (line 341) | def postcode_row(postcode_table, temp_db_cursor): function sql_preprocessor_cfg (line 357) | def sql_preprocessor_cfg(tmp_path, table_factory, temp_db_with_extension... function sql_preprocessor (line 367) | def sql_preprocessor(sql_preprocessor_cfg, temp_db_conn): function tokenizer_mock (line 372) | def tokenizer_mock(monkeypatch, property_table): FILE: test/python/cursor.py class CursorForTesting (line 14) | class CursorForTesting(psycopg.Cursor): method scalar (line 19) | def scalar(self, sql, params=None): method row_set (line 27) | def row_set(self, sql, params=None): method table_exists (line 38) | def table_exists(self, table): method index_exists (line 45) | def index_exists(self, table, index): method table_rows (line 53) | def table_rows(self, table, where=None): method insert_row (line 62) | def insert_row(self, table, **data): FILE: test/python/data/test_country_info.py function loaded_country (line 17) | def loaded_country(def_config): function env_with_country_config (line 22) | def env_with_country_config(project_env): function test_setup_country_tables (line 34) | def test_setup_country_tables(src_dir, temp_db_with_extensions, dsn, tem... function test_create_country_names (line 55) | def test_create_country_names(temp_db_with_extensions, temp_db_conn, tem... function test_setup_country_names_prefixes (line 80) | def test_setup_country_names_prefixes(env_with_country_config): function test_setup_country_config_languages_not_loaded (line 108) | def test_setup_country_config_languages_not_loaded(env_with_country_conf... function test_setup_country_config_name_not_loaded (line 123) | def test_setup_country_config_name_not_loaded(env_with_country_config): function test_setup_country_config_names_not_loaded (line 139) | def test_setup_country_config_names_not_loaded(env_with_country_config): function test_setup_country_config_special_character (line 154) | def test_setup_country_config_special_character(env_with_country_config): FILE: test/python/db/test_connection.py function db (line 17) | def db(dsn): function test_connection_table_exists (line 22) | def test_connection_table_exists(db, table_factory): function test_has_column_no_table (line 30) | def test_has_column_no_table(db): function test_has_column (line 35) | def test_has_column(db, table_factory, name, result): function test_connection_index_exists (line 41) | def test_connection_index_exists(db, table_factory, temp_db_cursor): function test_drop_table_existing (line 52) | def test_drop_table_existing(db, table_factory): function test_drop_table_non_existing (line 60) | def test_drop_table_non_existing(db): function test_drop_many_tables (line 64) | def test_drop_many_tables(db, table_factory): function test_drop_table_non_existing_force (line 77) | def test_drop_table_non_existing_force(db): function test_connection_server_version_tuple (line 82) | def test_connection_server_version_tuple(db): function test_connection_postgis_version_tuple (line 90) | def test_connection_postgis_version_tuple(db, temp_db_with_extensions): function test_cursor_scalar (line 98) | def test_cursor_scalar(db, table_factory): function test_cursor_scalar_many_rows (line 104) | def test_cursor_scalar_many_rows(db): function test_cursor_scalar_no_rows (line 109) | def test_cursor_scalar_no_rows(db, table_factory): function test_get_pg_env_add_variable (line 116) | def test_get_pg_env_add_variable(monkeypatch): function test_get_pg_env_overwrite_variable (line 124) | def test_get_pg_env_overwrite_variable(monkeypatch): function test_get_pg_env_ignore_unknown (line 131) | def test_get_pg_env_ignore_unknown(): FILE: test/python/db/test_properties.py function property_factory (line 16) | def property_factory(property_table, temp_db_cursor): function test_get_property_existing (line 26) | def test_get_property_existing(property_factory, temp_db_conn): function test_get_property_unknown (line 32) | def test_get_property_unknown(property_factory, temp_db_conn): function test_set_property_new (line 39) | def test_set_property_new(property_factory, temp_db_conn, temp_db_cursor... FILE: test/python/db/test_sql_preprocessor.py function sql_factory (line 17) | def sql_factory(tmp_path): function test_load_file_simple (line 41) | def test_load_file_simple(sql_preprocessor_cfg, sql_factory, function test_load_file_with_params (line 54) | def test_load_file_with_params(sql_preprocessor, sql_factory, temp_db_co... function test_load_parallel_file (line 63) | async def test_load_parallel_file(dsn, sql_preprocessor, tmp_path, temp_... FILE: test/python/db/test_status.py function iso_date (line 25) | def iso_date(date): function setup_status_table (line 31) | def setup_status_table(status_table): function test_compute_database_date_from_osm2pgsql (line 36) | def test_compute_database_date_from_osm2pgsql(table_factory, temp_db_con... function test_compute_database_date_from_osm2pgsql_nodata (line 44) | def test_compute_database_date_from_osm2pgsql_nodata(table_factory, temp... function test_compute_database_date_place_empty (line 52) | def test_compute_database_date_place_empty(place_table, temp_db_conn): function test_compute_database_date_valid (line 57) | def test_compute_database_date_valid(monkeypatch, place_row, temp_db_conn): function test_compute_database_broken_api (line 74) | def test_compute_database_broken_api(monkeypatch, place_row, temp_db_conn): function test_set_status_empty_table (line 89) | def test_set_status_empty_table(temp_db_conn, temp_db_cursor): function test_set_status_filled_table (line 96) | def test_set_status_filled_table(temp_db_conn, temp_db_cursor): function test_set_status_missing_date (line 108) | def test_set_status_missing_date(temp_db_conn, temp_db_cursor): function test_get_status_empty_table (line 119) | def test_get_status_empty_table(temp_db_conn): function test_get_status_success (line 123) | def test_get_status_success(temp_db_conn): function test_set_indexed (line 132) | def test_set_indexed(temp_db_conn, temp_db_cursor, old_state, new_state): function test_set_indexed_empty_status (line 140) | def test_set_indexed_empty_status(temp_db_conn, temp_db_cursor): function test_log_status (line 146) | def test_log_status(temp_db_conn, temp_db_cursor): FILE: test/python/db/test_utils.py function test_execute_file_success (line 16) | def test_execute_file_success(dsn, temp_db_cursor, tmp_path): function test_execute_file_bad_file (line 26) | def test_execute_file_bad_file(dsn, tmp_path): function test_execute_file_bad_sql (line 31) | def test_execute_file_bad_sql(dsn, tmp_path): function test_execute_file_bad_sql_ignore_errors (line 39) | def test_execute_file_bad_sql_ignore_errors(dsn, tmp_path): function test_execute_file_with_pre_code (line 46) | def test_execute_file_with_pre_code(dsn, tmp_path, temp_db_cursor): function test_execute_file_with_post_code (line 55) | def test_execute_file_with_post_code(dsn, tmp_path, temp_db_cursor): FILE: test/python/dummy_tokenizer.py function create (line 14) | def create(dsn): class DummyTokenizer (line 20) | class DummyTokenizer: method __init__ (line 22) | def __init__(self, dsn): method init_new_db (line 27) | def init_new_db(self, *args, **kwargs): method init_from_project (line 31) | def init_from_project(self, config): method finalize_import (line 37) | def finalize_import(_): method name_analyzer (line 40) | def name_analyzer(self): class DummyNameAnalyzer (line 44) | class DummyNameAnalyzer: method __enter__ (line 46) | def __enter__(self): method __exit__ (line 49) | def __exit__(self, exc_type, exc_value, traceback): method __init__ (line 52) | def __init__(self, cache): method close (line 56) | def close(self): method normalize_postcode (line 60) | def normalize_postcode(postcode): method update_postcodes_from_db (line 64) | def update_postcodes_from_db(): method update_special_phrases (line 67) | def update_special_phrases(self, phrases, should_replace): method add_country_names (line 70) | def add_country_names(self, code, names): method process_place (line 74) | def process_place(place): FILE: test/python/indexer/test_indexing.py class TestIndexing (line 17) | class TestIndexing: method setup (line 19) | def setup(self, temp_db_conn, project_env, tokenizer_mock, method scalar (line 63) | def scalar(self, query): method placex_unindexed (line 68) | def placex_unindexed(self): method osmline_unindexed (line 71) | def osmline_unindexed(self): method test_index_all_by_rank (line 77) | async def test_index_all_by_rank(self, dsn, threads, placex_row, osmli... method test_index_partial_without_30 (line 111) | async def test_index_partial_without_30(self, dsn, threads, placex_row... method test_index_partial_with_30 (line 131) | async def test_index_partial_with_30(self, dsn, threads, placex_row, o... method test_index_boundaries (line 151) | async def test_index_boundaries(self, dsn, threads, placex_row, osmlin... method test_index_postcodes (line 174) | async def test_index_postcodes(self, dsn, threads, postcode_row): method test_index_full (line 188) | async def test_index_full(self, dsn, analyse, placex_row, osmline_row,... FILE: test/python/mock_icu_word_table.py class MockIcuWordTable (line 16) | class MockIcuWordTable: method __init__ (line 19) | def __init__(self, conn): method add_full_word (line 30) | def add_full_word(self, word_id, word, word_token=None): method add_special (line 37) | def add_special(self, word_token, word, cls, typ, oper): method add_country (line 47) | def add_country(self, country_code, word_token, lookup): method add_postcode (line 54) | def add_postcode(self, word_token, postcode): method add_housenumber (line 61) | def add_housenumber(self, word_id, word_tokens, word=None): method count (line 79) | def count(self): method count_special (line 82) | def count_special(self): method count_housenumbers (line 85) | def count_housenumbers(self): method get_special (line 88) | def get_special(self): method get_country (line 96) | def get_country(self): method get_postcodes (line 103) | def get_postcodes(self): method get_partial_words (line 108) | def get_partial_words(self): FILE: test/python/tokenizer/sanitizers/test_clean_housenumbers.py function sanitize (line 17) | def sanitize(request, def_config): function test_simple_number (line 31) | def test_simple_number(sanitize): function test_housenumber_lists (line 37) | def test_housenumber_lists(sanitize, number): function test_filter_kind (line 43) | def test_filter_kind(sanitize): function test_convert_to_name_converted (line 49) | def test_convert_to_name_converted(def_config, number): function test_convert_to_name_unconverted (line 61) | def test_convert_to_name_unconverted(def_config, number): function test_convert_interpolations (line 84) | def test_convert_interpolations(sanitize, hnr, itype, out): function test_ignore_interpolation_with_bad_housenumber (line 90) | def test_ignore_interpolation_with_bad_housenumber(sanitize, hnr): FILE: test/python/tokenizer/sanitizers/test_clean_postcodes.py function sanitize (line 18) | def sanitize(def_config, request): function test_postcode_no_country (line 37) | def test_postcode_no_country(sanitize, country): function test_postcode_no_country_drop (line 43) | def test_postcode_no_country_drop(sanitize, country): function test_postcode_pass_good_format (line 49) | def test_postcode_pass_good_format(sanitize, postcode): function test_postcode_drop_bad_format (line 56) | def test_postcode_drop_bad_format(sanitize, postcode): function test_postcode_cyprus_pass (line 61) | def test_postcode_cyprus_pass(sanitize, postcode): function test_postcode_cyprus_fail (line 67) | def test_postcode_cyprus_fail(sanitize, postcode): function test_postcode_kazakhstan_pass (line 72) | def test_postcode_kazakhstan_pass(sanitize, postcode): function test_postcode_kazakhstan_fail (line 78) | def test_postcode_kazakhstan_fail(sanitize, postcode): function test_postcode_sweden_pass (line 83) | def test_postcode_sweden_pass(sanitize, postcode): function test_postcode_sweden_fail (line 89) | def test_postcode_sweden_fail(sanitize, postcode): function test_postcode_andorra_pass (line 94) | def test_postcode_andorra_pass(sanitize, postcode): function test_postcode_andorra_fail (line 100) | def test_postcode_andorra_fail(sanitize, postcode): function test_postcode_anguilla_pass (line 105) | def test_postcode_anguilla_pass(sanitize, postcode): function test_postcode_anguilla_fail (line 111) | def test_postcode_anguilla_fail(sanitize, postcode): function test_postcode_brunei_pass (line 116) | def test_postcode_brunei_pass(sanitize, postcode): function test_postcode_brunei_fail (line 122) | def test_postcode_brunei_fail(sanitize, postcode): function test_postcode_isle_of_man_pass (line 127) | def test_postcode_isle_of_man_pass(sanitize, postcode): function test_postcode_isle_of_man_fail (line 133) | def test_postcode_isle_of_man_fail(sanitize, postcode): function test_postcode_jersey_pass (line 138) | def test_postcode_jersey_pass(sanitize, postcode): function test_postcode_jersey_fail (line 144) | def test_postcode_jersey_fail(sanitize, postcode): function test_postcode_cayman_islands_pass (line 149) | def test_postcode_cayman_islands_pass(sanitize, postcode): function test_postcode_cayman_islands_fail (line 155) | def test_postcode_cayman_islands_fail(sanitize, postcode): function test_postcode_saint_lucia_pass (line 160) | def test_postcode_saint_lucia_pass(sanitize, postcode): function test_postcode_saint_lucia_fail (line 166) | def test_postcode_saint_lucia_fail(sanitize, postcode): function test_postcode_latvia_pass (line 171) | def test_postcode_latvia_pass(sanitize, postcode): function test_postcode_latvia_fail (line 177) | def test_postcode_latvia_fail(sanitize, postcode): function test_postcode_moldova_pass (line 182) | def test_postcode_moldova_pass(sanitize, postcode): function test_postcode_moldova_fail (line 188) | def test_postcode_moldova_fail(sanitize, postcode): function test_postcode_malta_pass (line 193) | def test_postcode_malta_pass(sanitize, postcode): function test_postcode_malta_mtarfa_pass (line 198) | def test_postcode_malta_mtarfa_pass(sanitize, postcode): function test_postcode_malta_fail (line 204) | def test_postcode_malta_fail(sanitize, postcode): function test_postcode_saint_vincent_pass (line 209) | def test_postcode_saint_vincent_pass(sanitize, postcode): function test_postcode_saint_vincent_fail (line 215) | def test_postcode_saint_vincent_fail(sanitize, postcode): function test_postcode_virgin_islands_pass (line 220) | def test_postcode_virgin_islands_pass(sanitize, postcode): function test_postcode_virgin_islands_fail (line 226) | def test_postcode_virgin_islands_fail(sanitize, postcode): function test_postcode_default_pattern_pass (line 232) | def test_postcode_default_pattern_pass(sanitize, postcode): function test_postcode_default_pattern_fail (line 238) | def test_postcode_default_pattern_fail(sanitize, postcode): function test_postcode_zeros (line 244) | def test_postcode_zeros(sanitize, postcode): FILE: test/python/tokenizer/sanitizers/test_clean_tiger_tags.py class TestCleanTigerTags (line 16) | class TestCleanTigerTags: method setup_country (line 19) | def setup_country(self, def_config): method run_sanitizer_on (line 22) | def run_sanitizer_on(self, addr): method test_well_formatted (line 31) | def test_well_formatted(self, inname, outname): method test_badly_formatted (line 36) | def test_badly_formatted(self, name): method test_unmatched (line 40) | def test_unmatched(self): FILE: test/python/tokenizer/sanitizers/test_delete_tags.py class TestWithDefault (line 16) | class TestWithDefault: method setup_country (line 19) | def setup_country(self, def_config): method run_sanitizer_on (line 22) | def run_sanitizer_on(self, type, **kwargs): method test_on_name (line 35) | def test_on_name(self): method test_on_address (line 40) | def test_on_address(self): class TestTypeField (line 47) | class TestTypeField: method setup_country (line 50) | def setup_country(self, def_config): method run_sanitizer_on (line 53) | def run_sanitizer_on(self, type, **kwargs): method test_name_type (line 66) | def test_name_type(self): method test_address_type (line 71) | def test_address_type(self): class TestFilterKind (line 78) | class TestFilterKind: method setup_country (line 81) | def setup_country(self, def_config): method run_sanitizer_on (line 84) | def run_sanitizer_on(self, filt, **kwargs): method test_single_exact_name (line 97) | def test_single_exact_name(self): method test_single_pattern (line 103) | def test_single_pattern(self): method test_multiple_patterns (line 110) | def test_multiple_patterns(self): class TestRankAddress (line 118) | class TestRankAddress: method setup_country (line 121) | def setup_country(self, def_config): method run_sanitizer_on (line 124) | def run_sanitizer_on(self, rank_addr, **kwargs): method test_single_rank (line 137) | def test_single_rank(self): method test_single_rank_fail (line 142) | def test_single_rank_fail(self): method test_ranged_rank_pass (line 147) | def test_ranged_rank_pass(self): method test_ranged_rank_fail (line 152) | def test_ranged_rank_fail(self): method test_mixed_rank_pass (line 157) | def test_mixed_rank_pass(self): method test_mixed_rank_fail (line 162) | def test_mixed_rank_fail(self): class TestSuffix (line 168) | class TestSuffix: method setup_country (line 171) | def setup_country(self, def_config): method run_sanitizer_on (line 174) | def run_sanitizer_on(self, suffix, **kwargs): method test_single_suffix (line 187) | def test_single_suffix(self): method test_multiple_suffix (line 193) | def test_multiple_suffix(self): class TestCountryCodes (line 200) | class TestCountryCodes: method setup_country (line 203) | def setup_country(self, def_config): method run_sanitizer_on (line 206) | def run_sanitizer_on(self, country_code, **kwargs): method test_single_country_code_pass (line 219) | def test_single_country_code_pass(self): method test_single_country_code_fail (line 224) | def test_single_country_code_fail(self): method test_empty_country_code_list (line 229) | def test_empty_country_code_list(self): method test_multiple_country_code_pass (line 234) | def test_multiple_country_code_pass(self): method test_multiple_country_code_fail (line 239) | def test_multiple_country_code_fail(self): class TestAllParameters (line 245) | class TestAllParameters: method setup_country (line 248) | def setup_country(self, def_config): method run_sanitizer_on (line 251) | def run_sanitizer_on(self, country_code, rank_addr, suffix, **kwargs): method test_string_arguments_pass (line 271) | def test_string_arguments_pass(self): method test_string_arguments_fail (line 277) | def test_string_arguments_fail(self): method test_list_arguments_pass (line 284) | def test_list_arguments_pass(self): method test_list_arguments_fail (line 290) | def test_list_arguments_fail(self): method test_mix_arguments_pass (line 297) | def test_mix_arguments_pass(self): method test_mix_arguments_fail (line 303) | def test_mix_arguments_fail(self): FILE: test/python/tokenizer/sanitizers/test_sanitizer_config.py function test_string_list_default_empty (line 16) | def test_string_list_default_empty(): function test_string_list_default_something (line 20) | def test_string_list_default_something(): function test_string_list_value_string (line 24) | def test_string_list_value_string(): function test_string_list_value_list (line 28) | def test_string_list_value_list(): function test_string_list_value_empty (line 32) | def test_string_list_value_empty(): function test_string_list_value_dict (line 36) | def test_string_list_value_dict(): function test_string_list_value_int_list (line 41) | def test_string_list_value_int_list(): function test_create_split_regex_no_params_unsplit (line 47) | def test_create_split_regex_no_params_unsplit(inp): function test_create_split_regex_no_params_split (line 58) | def test_create_split_regex_no_params_split(inp, outp): function test_create_split_regex_custom (line 65) | def test_create_split_regex_custom(delimiter): function test_create_split_regex_empty_delimiter (line 72) | def test_create_split_regex_empty_delimiter(): function test_create_name_filter_no_param_no_default (line 78) | def test_create_name_filter_no_param_no_default(inp): function test_create_name_filter_no_param_default_pass_all (line 85) | def test_create_name_filter_no_param_default_pass_all(inp): function test_create_name_filter_no_param_default_fail_all (line 92) | def test_create_name_filter_no_param_default_fail_all(inp): function test_create_name_filter_no_param_default_invalid_string (line 98) | def test_create_name_filter_no_param_default_invalid_string(): function test_create_name_filter_no_param_default_empty_list (line 103) | def test_create_name_filter_no_param_default_empty_list(): function test_create_kind_filter_default_positive (line 109) | def test_create_kind_filter_default_positive(kind): function test_create_kind_filter_default_negetive (line 116) | def test_create_kind_filter_default_negetive(kind): function test_create_kind_filter_custom_regex_positive (line 123) | def test_create_kind_filter_custom_regex_positive(kind): function test_create_kind_filter_custom_regex_negative (line 131) | def test_create_kind_filter_custom_regex_negative(kind): function test_create_kind_filter_many_positive (line 138) | def test_create_kind_filter_many_positive(kind): function test_create_kind_filter_many_negative (line 146) | def test_create_kind_filter_many_negative(kind): FILE: test/python/tokenizer/sanitizers/test_split_name_list.py class TestSplitName (line 18) | class TestSplitName: method setup_country (line 21) | def setup_country(self, def_config): method run_sanitizer_on (line 24) | def run_sanitizer_on(self, **kwargs): method sanitize_with_delimiter (line 30) | def sanitize_with_delimiter(self, delimiter, name): method test_simple (line 38) | def test_simple(self): method test_splits (line 42) | def test_splits(self): method test_empty_fields (line 49) | def test_empty_fields(self): method test_custom_delimiters (line 57) | def test_custom_delimiters(self): method test_empty_delimiter_set (line 63) | def test_empty_delimiter_set(self): function test_no_name_list (line 68) | def test_no_name_list(def_config): FILE: test/python/tokenizer/sanitizers/test_strip_brace_terms.py class TestStripBrace (line 16) | class TestStripBrace: method setup_country (line 19) | def setup_country(self, def_config): method run_sanitizer_on (line 22) | def run_sanitizer_on(self, **kwargs): method test_no_braces (line 28) | def test_no_braces(self): method test_simple_braces (line 32) | def test_simple_braces(self): method test_only_braces (line 40) | def test_only_braces(self): method test_double_braces (line 43) | def test_double_braces(self): function test_no_names (line 50) | def test_no_names(def_config): FILE: test/python/tokenizer/sanitizers/test_tag_analyzer_by_language.py class TestWithDefaults (line 17) | class TestWithDefaults: method setup_country (line 20) | def setup_country(self, def_config): method run_sanitizer_on (line 23) | def run_sanitizer_on(self, country, **kwargs): method test_no_names (line 31) | def test_no_names(self): method test_simple (line 34) | def test_simple(self): method test_illegal_suffix (line 42) | def test_illegal_suffix(self, suffix): class TestFilterKind (line 47) | class TestFilterKind: method setup_country (line 50) | def setup_country(self, def_config): method run_sanitizer_on (line 53) | def run_sanitizer_on(self, filt, **kwargs): method test_single_exact_name (line 62) | def test_single_exact_name(self): method test_single_pattern (line 71) | def test_single_pattern(self): method test_multiple_patterns (line 82) | def test_multiple_patterns(self): class TestDefaultCountry (line 95) | class TestDefaultCountry: method setup_country (line 98) | def setup_country(self, def_config): method run_sanitizer_append (line 102) | def run_sanitizer_append(self, mode, country, **kwargs): method run_sanitizer_replace (line 117) | def run_sanitizer_replace(self, mode, country, **kwargs): method test_missing_country (line 132) | def test_missing_country(self): method test_mono_unknown_country (line 144) | def test_mono_unknown_country(self): method test_mono_monoling_replace (line 150) | def test_mono_monoling_replace(self): method test_mono_monoling_append (line 155) | def test_mono_monoling_append(self): method test_mono_multiling (line 160) | def test_mono_multiling(self): method test_all_unknown_country (line 166) | def test_all_unknown_country(self): method test_all_monoling_replace (line 172) | def test_all_monoling_replace(self): method test_all_monoling_append (line 177) | def test_all_monoling_append(self): method test_all_multiling_append (line 182) | def test_all_multiling_append(self): method test_all_multiling_replace (line 188) | def test_all_multiling_replace(self): class TestCountryWithWhitelist (line 194) | class TestCountryWithWhitelist: method setup_country (line 197) | def setup_country(self, def_config): method run_sanitizer_on (line 200) | def run_sanitizer_on(self, mode, country, **kwargs): method test_mono_monoling (line 216) | def test_mono_monoling(self): method test_mono_multiling (line 220) | def test_mono_multiling(self): method test_all_monoling (line 223) | def test_all_monoling(self): method test_all_multiling (line 227) | def test_all_multiling(self): class TestWhiteList (line 233) | class TestWhiteList: method setup_country (line 236) | def setup_country(self, def_config): method run_sanitizer_on (line 239) | def run_sanitizer_on(self, whitelist, **kwargs): method test_in_whitelist (line 253) | def test_in_whitelist(self): method test_not_in_whitelist (line 256) | def test_not_in_whitelist(self): method test_empty_whitelist (line 259) | def test_empty_whitelist(self): FILE: test/python/tokenizer/sanitizers/test_tag_japanese.py class TestTagJapanese (line 13) | class TestTagJapanese: method setup_country (line 15) | def setup_country(self, def_config): method run_sanitizer_on (line 18) | def run_sanitizer_on(self, type, **kwargs): method test_on_address (line 28) | def test_on_address(self): method test_housenumber (line 32) | def test_housenumber(self): method test_blocknumber (line 36) | def test_blocknumber(self): method test_neighbourhood (line 40) | def test_neighbourhood(self): method test_quarter (line 44) | def test_quarter(self): method test_housenumber_blocknumber (line 48) | def test_housenumber_blocknumber(self): method test_quarter_neighbourhood (line 52) | def test_quarter_neighbourhood(self): method test_blocknumber_housenumber_quarter (line 56) | def test_blocknumber_housenumber_quarter(self): method test_blocknumber_housenumber_quarter_neighbourhood (line 60) | def test_blocknumber_housenumber_quarter_neighbourhood(self): method test_blocknumber_quarter_neighbourhood (line 64) | def test_blocknumber_quarter_neighbourhood(self): method test_blocknumber_quarter (line 68) | def test_blocknumber_quarter(self): method test_blocknumber_neighbourhood (line 72) | def test_blocknumber_neighbourhood(self): method test_housenumber_quarter_neighbourhood (line 76) | def test_housenumber_quarter_neighbourhood(self): method test_housenumber_quarter (line 80) | def test_housenumber_quarter(self): method test_housenumber_blocknumber_neighbourhood_quarter (line 84) | def test_housenumber_blocknumber_neighbourhood_quarter(self): FILE: test/python/tokenizer/test_factory.py function test_setup_bad_tokenizer_name (line 18) | def test_setup_bad_tokenizer_name(project_env, monkeypatch): class TestFactory (line 25) | class TestFactory: method init_env (line 27) | def init_env(self, project_env, property_table, tokenizer_mock): method test_setup_dummy_tokenizer (line 30) | def test_setup_dummy_tokenizer(self, temp_db_conn): method test_load_tokenizer (line 38) | def test_load_tokenizer(self): method test_load_repopulate_tokenizer_dir (line 46) | def test_load_repopulate_tokenizer_dir(self): method test_load_missing_property (line 53) | def test_load_missing_property(self, temp_db_cursor): FILE: test/python/tokenizer/test_icu.py function word_table (line 24) | def word_table(temp_db_conn): function test_config (line 29) | def test_config(project_env, tmp_path): function tokenizer_factory (line 41) | def tokenizer_factory(dsn, property_table, sql_preprocessor, place_table... function db_prop (line 49) | def db_prop(temp_db_conn): function analyzer (line 57) | def analyzer(tokenizer_factory, test_config, monkeypatch, function sql_functions (line 92) | def sql_functions(load_sql): function getorcreate_full_word (line 98) | def getorcreate_full_word(temp_db_cursor): function test_init_new (line 150) | def test_init_new(tokenizer_factory, test_config, db_prop): function test_init_word_table (line 159) | def test_init_word_table(tokenizer_factory, test_config, place_row, temp... function test_init_from_project (line 170) | def test_init_from_project(test_config, tokenizer_factory): function test_update_sql_functions (line 180) | def test_update_sql_functions(db_prop, temp_db_cursor, function test_finalize_import (line 197) | def test_finalize_import(tokenizer_factory, temp_db_cursor, function test_check_database (line 209) | def test_check_database(test_config, tokenizer_factory, function test_update_statistics_reverse_only (line 217) | def test_update_statistics_reverse_only(word_table, tokenizer_factory, t... function test_update_statistics (line 222) | def test_update_statistics(word_table, table_factory, temp_db_cursor, function test_normalize_postcode (line 242) | def test_normalize_postcode(analyzer): class TestPostcodes (line 249) | class TestPostcodes: method setup (line 252) | def setup(self, analyzer, sql_functions): method process_postcode (line 258) | def process_postcode(self, cc, postcode): method test_update_postcodes_deleted (line 262) | def test_update_postcodes_deleted(self, word_table): method test_process_place_postcode_simple (line 270) | def test_process_place_postcode_simple(self, word_table): method test_process_place_postcode_with_space (line 275) | def test_process_place_postcode_with_space(self, word_table): function test_update_special_phrase_empty_table (line 281) | def test_update_special_phrase_empty_table(analyzer, word_table): function test_update_special_phrase_delete_all (line 295) | def test_update_special_phrase_delete_all(analyzer, word_table): function test_update_special_phrases_no_replace (line 307) | def test_update_special_phrases_no_replace(analyzer, word_table): function test_update_special_phrase_modify (line 319) | def test_update_special_phrase_modify(analyzer, word_table): function test_add_country_names_new (line 338) | def test_add_country_names_new(analyzer, word_table): function test_add_country_names_extend (line 346) | def test_add_country_names_extend(analyzer, word_table): class TestPlaceNames (line 356) | class TestPlaceNames: method setup (line 359) | def setup(self, analyzer, sql_functions): method expect_name_terms (line 366) | def expect_name_terms(self, info, *expected_terms): method process_named_place (line 373) | def process_named_place(self, names): method test_simple_names (line 376) | def test_simple_names(self): method test_names_with_separator (line 382) | def test_names_with_separator(self, sep): method test_full_names_with_bracket (line 388) | def test_full_names_with_bracket(self): method test_country_name (line 394) | def test_country_name(self, word_table): class TestPlaceAddress (line 407) | class TestPlaceAddress: method setup (line 410) | def setup(self, analyzer, sql_functions): method getorcreate_hnr_id (line 418) | def getorcreate_hnr_id(self, temp_db_cursor): method process_address (line 423) | def process_address(self, **kwargs): method name_token_set (line 426) | def name_token_set(self, *expected_terms): method test_process_place_postcode (line 434) | def test_process_place_postcode(self, word_table, pcode): method test_process_place_housenumbers_simple (line 440) | def test_process_place_housenumbers_simple(self, hnr, getorcreate_hnr_... method test_process_place_housenumbers_duplicates (line 446) | def test_process_place_housenumbers_duplicates(self, getorcreate_hnr_id): method test_process_place_housenumbers_cached (line 454) | def test_process_place_housenumbers_cached(self, getorcreate_hnr_id): method test_process_place_street (line 467) | def test_process_place_street(self): method test_process_place_nonexisting_street (line 473) | def test_process_place_nonexisting_street(self): method test_process_place_multiple_street_tags (line 478) | def test_process_place_multiple_street_tags(self): method test_process_place_street_empty (line 486) | def test_process_place_street_empty(self): method test_process_place_street_from_cache (line 491) | def test_process_place_street_from_cache(self): method test_process_place_place (line 500) | def test_process_place_place(self): method test_process_place_place_extra (line 505) | def test_process_place_place_extra(self): method test_process_place_place_empty (line 510) | def test_process_place_place_empty(self): method test_process_place_address_terms (line 515) | def test_process_place_address_terms(self): method test_process_place_multiple_address_terms (line 527) | def test_process_place_multiple_address_terms(self): method test_process_place_address_terms_empty (line 534) | def test_process_place_address_terms_empty(self): class TestPlaceHousenumberWithAnalyser (line 541) | class TestPlaceHousenumberWithAnalyser: method setup (line 544) | def setup(self, analyzer, sql_functions): method getorcreate_hnr_id (line 553) | def getorcreate_hnr_id(self, temp_db_cursor): method process_address (line 559) | def process_address(self, **kwargs): method name_token_set (line 562) | def name_token_set(self, *expected_terms): method test_process_place_housenumbers_simple (line 570) | def test_process_place_housenumbers_simple(self, hnr, getorcreate_hnr_... method test_process_place_housenumbers_duplicates (line 576) | def test_process_place_housenumbers_duplicates(self, getorcreate_hnr_id): method test_process_place_housenumbers_cached (line 584) | def test_process_place_housenumbers_cached(self, getorcreate_hnr_id): class TestUpdateWordTokens (line 598) | class TestUpdateWordTokens: method setup (line 601) | def setup(self, tokenizer_factory, table_factory, placex_table, word_t... method search_entry (line 606) | def search_entry(self, temp_db_cursor): method add_housenumber (line 616) | def add_housenumber(self, request, word_table): method test_remove_unused_housenumbers (line 627) | def test_remove_unused_housenumbers(self, add_housenumber, word_table,... method test_keep_unused_numeral_housenumbers (line 634) | def test_keep_unused_numeral_housenumbers(self, add_housenumber, word_... method test_keep_housenumbers_from_search_name_table (line 641) | def test_keep_housenumbers_from_search_name_table(self, add_housenumber, method test_keep_housenumbers_from_placex_table (line 651) | def test_keep_housenumbers_from_placex_table(self, add_housenumber, wo... method test_keep_housenumbers_from_placex_table_hnr_list (line 661) | def test_keep_housenumbers_from_placex_table_hnr_list(self, add_housen... FILE: test/python/tokenizer/test_icu_rule_loader.py class TestIcuRuleLoader (line 23) | class TestIcuRuleLoader: method init_env (line 26) | def init_env(self, project_env): method write_config (line 29) | def write_config(self, content): method config_rules (line 33) | def config_rules(self, *variants): method get_replacements (line 52) | def get_replacements(self, *variants): method test_empty_rule_set (line 59) | def test_empty_rule_set(self): method test_missing_section (line 74) | def test_missing_section(self, section): method test_get_search_rules (line 81) | def test_get_search_rules(self): method test_get_normalization_rules (line 96) | def test_get_normalization_rules(self): method test_get_transliteration_rules (line 104) | def test_get_transliteration_rules(self): method test_transliteration_rules_from_file (line 112) | def test_transliteration_rules_from_file(self): method test_search_rules (line 131) | def test_search_rules(self): method test_invalid_variant_description (line 141) | def test_invalid_variant_description(self, variant): method test_add_full (line 146) | def test_add_full(self): method test_replace_full (line 151) | def test_replace_full(self): method test_add_suffix_no_decompose (line 156) | def test_add_suffix_no_decompose(self): method test_replace_suffix_no_decompose (line 162) | def test_replace_suffix_no_decompose(self): method test_add_suffix_decompose (line 167) | def test_add_suffix_decompose(self): method test_replace_suffix_decompose (line 173) | def test_replace_suffix_decompose(self): method test_add_prefix_no_compose (line 179) | def test_add_prefix_no_compose(self): method test_replace_prefix_no_compose (line 185) | def test_replace_prefix_no_compose(self): method test_add_prefix_compose (line 190) | def test_add_prefix_compose(self): method test_replace_prefix_compose (line 196) | def test_replace_prefix_compose(self): method test_add_beginning_only (line 202) | def test_add_beginning_only(self): method test_replace_beginning_only (line 207) | def test_replace_beginning_only(self): method test_add_final_only (line 212) | def test_add_final_only(self): method test_replace_final_only (line 217) | def test_replace_final_only(self): method test_decompose_only (line 222) | def test_decompose_only(self): method test_add_suffix_decompose_end_only (line 228) | def test_add_suffix_decompose_end_only(self): method test_replace_suffix_decompose_end_only (line 236) | def test_replace_suffix_decompose_end_only(self): method test_add_multiple_suffix (line 244) | def test_add_multiple_suffix(self): FILE: test/python/tokenizer/test_place_sanitizer.py function test_placeinfo_clone_new_name (line 17) | def test_placeinfo_clone_new_name(): function test_placeinfo_clone_merge_attr (line 28) | def test_placeinfo_clone_merge_attr(): function test_placeinfo_has_attr (line 42) | def test_placeinfo_has_attr(): function test_sanitizer_default (line 50) | def test_sanitizer_default(def_config): function test_sanitizer_empty_list (line 66) | def test_sanitizer_empty_list(def_config, rules): function test_sanitizer_missing_step_definition (line 75) | def test_sanitizer_missing_step_definition(def_config): FILE: test/python/tokenizer/token_analysis/test_analysis_postcodes.py function analyser (line 31) | def analyser(): function get_normalized_variants (line 41) | def get_normalized_variants(proc, name): function test_get_canonical_id (line 49) | def test_get_canonical_id(analyser, name, norm): function test_compute_variants (line 57) | def test_compute_variants(analyser, postcode, variants): FILE: test/python/tokenizer/token_analysis/test_generic.py function make_analyser (line 30) | def make_analyser(*variants, variant_only=False): function get_normalized_variants (line 41) | def get_normalized_variants(proc, name): function test_no_variants (line 46) | def test_no_variants(): function test_variants_empty (line 57) | def test_variants_empty(): function test_variants (line 98) | def test_variants(rules, name, variants): function test_variants_only (line 115) | def test_variants_only(rules, name, variants): class TestGetReplacements (line 124) | class TestGetReplacements: method configure_rules (line 127) | def configure_rules(*variants): method get_replacements (line 133) | def get_replacements(self, *variants): method test_invalid_variant_description (line 140) | def test_invalid_variant_description(self, variant): method test_ignore_unnormalizable_terms (line 145) | def test_ignore_unnormalizable_terms(self, rule): method test_add_full (line 150) | def test_add_full(self): method test_replace_full (line 155) | def test_replace_full(self): method test_add_suffix_no_decompose (line 160) | def test_add_suffix_no_decompose(self): method test_replace_suffix_no_decompose (line 166) | def test_replace_suffix_no_decompose(self): method test_add_suffix_decompose (line 171) | def test_add_suffix_decompose(self): method test_replace_suffix_decompose (line 177) | def test_replace_suffix_decompose(self): method test_add_prefix_no_compose (line 183) | def test_add_prefix_no_compose(self): method test_replace_prefix_no_compose (line 189) | def test_replace_prefix_no_compose(self): method test_add_prefix_compose (line 194) | def test_add_prefix_compose(self): method test_replace_prefix_compose (line 200) | def test_replace_prefix_compose(self): method test_add_beginning_only (line 206) | def test_add_beginning_only(self): method test_replace_beginning_only (line 211) | def test_replace_beginning_only(self): method test_add_final_only (line 216) | def test_add_final_only(self): method test_replace_final_only (line 221) | def test_replace_final_only(self): method test_decompose_only (line 226) | def test_decompose_only(self): method test_add_suffix_decompose_end_only (line 232) | def test_add_suffix_decompose_end_only(self): method test_replace_suffix_decompose_end_only (line 240) | def test_replace_suffix_decompose_end_only(self): method test_add_multiple_suffix (line 251) | def test_add_multiple_suffix(self, rule): FILE: test/python/tokenizer/token_analysis/test_generic_mutation.py class TestMutationNoVariants (line 28) | class TestMutationNoVariants: method make_analyser (line 30) | def make_analyser(self, *mutations): method variants (line 41) | def variants(self, name): method test_bad_pattern (line 46) | def test_bad_pattern(self, pattern): method test_bad_replacement (line 51) | def test_bad_replacement(self, replacements): method test_simple_replacement (line 55) | def test_simple_replacement(self): method test_multichar_replacement (line 62) | def test_multichar_replacement(self): method test_removement_replacement (line 68) | def test_removement_replacement(self): method test_regex_pattern (line 74) | def test_regex_pattern(self): method test_multiple_mutations (line 79) | def test_multiple_mutations(self): FILE: test/python/tokenizer/token_analysis/test_simple_trie.py function test_single_item_trie (line 14) | def test_single_item_trie(): function test_complex_item_tree (line 23) | def test_complex_item_tree(): FILE: test/python/tools/conftest.py function osm2pgsql_options (line 11) | def osm2pgsql_options(temp_db, tmp_path): FILE: test/python/tools/test_add_osm_data.py class CaptureGetUrl (line 17) | class CaptureGetUrl: method __init__ (line 19) | def __init__(self, monkeypatch): method __call__ (line 23) | def __call__(self, url): function setup_delete_postprocessing (line 29) | def setup_delete_postprocessing(temp_db_cursor): function test_import_osm_file_simple (line 34) | def test_import_osm_file_simple(dsn, table_factory, osm2pgsql_options, c... function test_import_osm_object_main_api (line 50) | def test_import_osm_object_main_api(dsn, osm2pgsql_options, monkeypatch, FILE: test/python/tools/test_admin.py function create_placex_table (line 19) | def create_placex_table(project_env, tokenizer_mock, temp_db_cursor, pla... function test_analyse_indexing_no_objects (line 48) | def test_analyse_indexing_no_objects(project_env): function test_analyse_indexing_bad_osmid (line 54) | def test_analyse_indexing_bad_osmid(project_env, oid): function test_analyse_indexing_unknown_osmid (line 59) | def test_analyse_indexing_unknown_osmid(project_env): function test_analyse_indexing_with_place_id (line 64) | def test_analyse_indexing_with_place_id(project_env, placex_row): function test_analyse_indexing_with_osm_id (line 70) | def test_analyse_indexing_with_osm_id(project_env, placex_row): class TestAdminCleanDeleted (line 76) | class TestAdminCleanDeleted: method setup_polygon_delete (line 79) | def setup_polygon_delete(self, project_env, table_factory, place_inter... method test_admin_clean_deleted_no_records (line 129) | def test_admin_clean_deleted_no_records(self): method test_admin_clean_deleted_bad_age (line 141) | def test_admin_clean_deleted_bad_age(self, test_age): method test_admin_clean_deleted_partial (line 145) | def test_admin_clean_deleted_partial(self): method test_admin_clean_deleted (line 157) | def test_admin_clean_deleted(self, test_age): FILE: test/python/tools/test_check_database.py function test_check_database_unknown_db (line 16) | def test_check_database_unknown_db(def_config, monkeypatch): function test_check_database_fatal_test (line 21) | def test_check_database_fatal_test(def_config, temp_db): function test_check_connection_good (line 25) | def test_check_connection_good(temp_db_conn, def_config): function test_check_connection_bad (line 29) | def test_check_connection_bad(def_config): function test_check_database_version_not_found (line 34) | def test_check_database_version_not_found(property_table, temp_db_conn, ... function test_check_database_version_good (line 38) | def test_check_database_version_good(property_table, temp_db_conn, def_c... function test_check_database_version_bad (line 44) | def test_check_database_version_bad(property_table, temp_db_conn, def_co... function test_check_placex_table_good (line 49) | def test_check_placex_table_good(placex_table, temp_db_conn, def_config): function test_check_placex_table_bad (line 53) | def test_check_placex_table_bad(temp_db_conn, def_config): function test_check_placex_table_size_good (line 57) | def test_check_placex_table_size_good(placex_row, temp_db_conn, def_conf... function test_check_placex_table_size_bad (line 63) | def test_check_placex_table_size_bad(placex_table, temp_db_conn, def_con... function test_check_tokenizer_missing (line 67) | def test_check_tokenizer_missing(temp_db_conn, def_config, tmp_path): function test_check_tokenizer (line 74) | def test_check_tokenizer(temp_db_conn, def_config, monkeypatch, function test_check_indexing_good (line 86) | def test_check_indexing_good(placex_row, temp_db_conn, def_config): function test_check_indexing_bad (line 92) | def test_check_indexing_bad(placex_row, temp_db_conn, def_config): function test_check_indexing_bad_frozen (line 98) | def test_check_indexing_bad_frozen(placex_row, temp_db_conn, def_config): function test_check_database_indexes_bad (line 105) | def test_check_database_indexes_bad(temp_db_conn, def_config): function test_check_database_indexes_valid (line 109) | def test_check_database_indexes_valid(temp_db_conn, def_config): function test_check_tiger_table_disabled (line 113) | def test_check_tiger_table_disabled(temp_db_conn, def_config, monkeypatch): function test_check_tiger_table_enabled (line 118) | def test_check_tiger_table_enabled(temp_db_cursor, temp_db_conn, def_con... FILE: test/python/tools/test_database_import.py class TestDatabaseSetup (line 21) | class TestDatabaseSetup: method setup_nonexistant_db (line 25) | def setup_nonexistant_db(self): method cursor (line 38) | def cursor(self): method conn (line 43) | def conn(self): method test_setup_skeleton (line 46) | def test_setup_skeleton(self): method test_unsupported_pg_version (line 54) | def test_unsupported_pg_version(self, monkeypatch): method test_create_db_explicit_ro_user (line 60) | def test_create_db_explicit_ro_user(self): method test_create_db_missing_ro_user (line 64) | def test_create_db_missing_ro_user(self): method test_setup_extensions_old_postgis (line 69) | def test_setup_extensions_old_postgis(self, monkeypatch): function test_setup_skeleton_already_exists (line 76) | def test_setup_skeleton_already_exists(temp_db): function test_import_osm_data_simple (line 81) | def test_import_osm_data_simple(place_row, osm2pgsql_options, capfd): function test_import_osm_data_multifile (line 95) | def test_import_osm_data_multifile(place_row, tmp_path, osm2pgsql_option... function test_import_osm_data_simple_no_data (line 110) | def test_import_osm_data_simple_no_data(place_row, osm2pgsql_options): function test_import_osm_data_simple_ignore_no_data (line 115) | def test_import_osm_data_simple_ignore_no_data(place_table, osm2pgsql_op... function test_import_osm_data_drop (line 120) | def test_import_osm_data_drop(place_row, table_factory, temp_db_cursor, function test_import_osm_data_default_cache (line 136) | def test_import_osm_data_default_cache(place_row, osm2pgsql_options, cap... function test_truncate_database_tables (line 148) | def test_truncate_database_tables(temp_db_conn, temp_db_cursor, table_fa... function test_load_data (line 168) | async def test_load_data(dsn, place_row, place_interpolation_row, placex... class TestSetupSQL (line 212) | class TestSetupSQL: method osm2ppsql_skel (line 215) | def osm2ppsql_skel(self, def_config, temp_db_with_extensions, place_row, method test_create_tables (line 234) | def test_create_tables(self, table_factory, temp_db_conn, temp_db_curs... method test_create_table_triggers (line 242) | def test_create_table_triggers(self, temp_db_conn, placex_table, osmli... method test_create_partition_tables (line 248) | def test_create_partition_tables(self, country_row, temp_db_conn, temp... method test_create_search_indices (line 261) | async def test_create_search_indices(self, temp_db_conn, temp_db_curso... FILE: test/python/tools/test_exec_utils.py function test_run_osm2pgsql (line 13) | def test_run_osm2pgsql(osm2pgsql_options): function test_run_osm2pgsql_disable_jit (line 20) | def test_run_osm2pgsql_disable_jit(osm2pgsql_options): FILE: test/python/tools/test_freeze.py function test_drop_tables (line 31) | def test_drop_tables(temp_db_conn, temp_db_cursor, table_factory): function test_drop_flatnode_file_no_file (line 48) | def test_drop_flatnode_file_no_file(): function test_drop_flatnode_file_file_already_gone (line 52) | def test_drop_flatnode_file_file_already_gone(tmp_path): function test_drop_flatnode_file_delete (line 56) | def test_drop_flatnode_file_delete(tmp_path): FILE: test/python/tools/test_import_special_phrases.py function sp_importer (line 18) | def sp_importer(temp_db_conn, def_config, monkeypatch): function xml_wiki_content (line 28) | def xml_wiki_content(src_dir): function default_phrases (line 37) | def default_phrases(table_factory): function test_fetch_existing_place_classtype_tables (line 42) | def test_fetch_existing_place_classtype_tables(sp_importer, table_factory): function test_check_sanity_class (line 54) | def test_check_sanity_class(sp_importer): function test_load_white_and_black_lists (line 67) | def test_load_white_and_black_lists(sp_importer): function test_create_place_classtype_indexes (line 77) | def test_create_place_classtype_indexes(temp_db_with_extensions, function test_create_place_classtype_table (line 96) | def test_create_place_classtype_table(temp_db_conn, temp_db_cursor, plac... function test_grant_access_to_web_user (line 109) | def test_grant_access_to_web_user(temp_db_conn, temp_db_cursor, table_fa... function test_create_place_classtype_table_and_indexes (line 128) | def test_create_place_classtype_table_and_indexes(temp_db_cursor, def_co... function test_remove_non_existent_tables_from_db (line 148) | def test_remove_non_existent_tables_from_db(sp_importer, default_phrases, function test_import_phrases (line 179) | def test_import_phrases(monkeypatch, temp_db_cursor, def_config, sp_impo... function check_table_exist (line 219) | def check_table_exist(temp_db_cursor, phrase_class, phrase_type): function check_grant_access (line 227) | def check_grant_access(temp_db_cursor, user, phrase_class, phrase_type): function check_placeid_and_centroid_indexes (line 242) | def check_placeid_and_centroid_indexes(temp_db_cursor, phrase_class, phr... function test_import_phrases_special_phrase_filtering (line 258) | def test_import_phrases_special_phrase_filtering(monkeypatch, temp_db_cu... function test_get_classtype_pairs_directly (line 278) | def test_get_classtype_pairs_directly(placex_row, temp_db_conn, sp_impor... FILE: test/python/tools/test_migration.py class DummyTokenizer (line 17) | class DummyTokenizer: method update_sql_functions (line 19) | def update_sql_functions(self, config): function postprocess_mock (line 24) | def postprocess_mock(monkeypatch): function test_no_migration_old_versions (line 30) | def test_no_migration_old_versions(temp_db_with_extensions, def_config, ... function test_already_at_version (line 37) | def test_already_at_version(temp_db_with_extensions, def_config, propert... function test_run_single_migration (line 45) | def test_run_single_migration(temp_db_with_extensions, def_config, temp_... FILE: test/python/tools/test_postcodes.py function insert_implicit_postcode (line 23) | def insert_implicit_postcode(placex_row, place_postcode_row): function insert_postcode_area (line 39) | def insert_postcode_area(place_postcode_row): function postcode_update (line 51) | def postcode_update(dsn, temp_db_conn): class TestPostcodes (line 70) | class TestPostcodes: method setup (line 72) | def setup(self, def_config, postcode_table, placex_table, place_postco... method row_set (line 96) | def row_set(self): method test_postcodes_empty (line 103) | def test_postcodes_empty(self, postcode_update): method test_postcodes_add_new_point (line 109) | def test_postcodes_add_new_point(self, postcode_update, postcode_row, method test_postcodes_add_new_area (line 118) | def test_postcodes_add_new_area(self, postcode_update, insert_postcode... method test_postcodes_add_area_and_point (line 126) | def test_postcodes_add_area_and_point(self, postcode_update, insert_po... method test_postcodes_add_point_within_area (line 136) | def test_postcodes_add_point_within_area(self, postcode_update, insert... method test_postcodes_replace_coordinates (line 147) | def test_postcodes_replace_coordinates(self, postcode_update, postcode... method test_postcodes_replace_coordinates_close (line 156) | def test_postcodes_replace_coordinates_close(self, postcode_update, po... method test_postcodes_remove_point (line 165) | def test_postcodes_remove_point(self, postcode_update, postcode_row, method test_postcodes_ignore_empty_country (line 174) | def test_postcodes_ignore_empty_country(self, postcode_update, insert_... method test_postcodes_remove_all (line 179) | def test_postcodes_remove_all(self, postcode_update, postcode_row, pla... method test_postcodes_multi_country (line 185) | def test_postcodes_multi_country(self, postcode_update, method test_postcodes_extern (line 200) | def test_postcodes_extern(self, postcode_update, tmp_path, method test_postcodes_extern_bad_column (line 216) | def test_postcodes_extern_bad_column(self, postcode_update, tmp_path, method test_postcodes_extern_bad_number (line 227) | def test_postcodes_extern_bad_number(self, postcode_update, insert_imp... method test_no_placex_entry (line 240) | def test_no_placex_entry(self, postcode_update, temp_db_cursor, place_... method test_discard_badly_formatted_postcodes (line 250) | def test_discard_badly_formatted_postcodes(self, postcode_update, plac... function test_can_compute (line 257) | def test_can_compute(dsn, table_factory): FILE: test/python/tools/test_refresh.py function test_refresh_import_wikipedia_not_existing (line 17) | def test_refresh_import_wikipedia_not_existing(dsn): function test_refresh_import_secondary_importance_non_existing (line 21) | def test_refresh_import_secondary_importance_non_existing(dsn): function test_refresh_import_secondary_importance_testdb (line 25) | def test_refresh_import_secondary_importance_testdb(dsn, src_dir, temp_d... function test_refresh_import_wikipedia (line 34) | def test_refresh_import_wikipedia(dsn, src_dir, table_factory, temp_db_c... function test_invalidate_osm_object_simple (line 45) | def test_invalidate_osm_object_simple(placex_row, osm_type, temp_db_conn... function test_invalidate_osm_object_nonexisting_simple (line 56) | def test_invalidate_osm_object_nonexisting_simple(placex_row, temp_db_co... function test_invalidate_osm_object_recursive (line 67) | def test_invalidate_osm_object_recursive(placex_row, osm_type, temp_db_c... FILE: test/python/tools/test_refresh_address_levels.py function test_load_ranks_def_config (line 17) | def test_load_ranks_def_config(temp_db_conn, temp_db_cursor, def_config): function test_load_ranks_from_project_dir (line 23) | def test_load_ranks_from_project_dir(project_env, temp_db_conn, temp_db_... function test_load_ranks_from_broken_file (line 32) | def test_load_ranks_from_broken_file(project_env, temp_db_conn): function test_load_ranks_country (line 40) | def test_load_ranks_country(temp_db_conn, temp_db_cursor): function test_load_ranks_default_value (line 57) | def test_load_ranks_default_value(temp_db_conn, temp_db_cursor): function test_load_ranks_multiple_keys (line 70) | def test_load_ranks_multiple_keys(temp_db_conn, temp_db_cursor): function test_load_ranks_address (line 82) | def test_load_ranks_address(temp_db_conn, temp_db_cursor): FILE: test/python/tools/test_refresh_create_functions.py class TestCreateFunctions (line 15) | class TestCreateFunctions: method init_env (line 17) | def init_env(self, sql_preprocessor, temp_db_conn, def_config, tmp_path): method write_functions (line 22) | def write_functions(self, content): method test_create_functions (line 26) | def test_create_functions(self, temp_db_cursor): method test_create_functions_with_template (line 40) | def test_create_functions_with_template(self, temp_db_cursor, dbg, ret): FILE: test/python/tools/test_refresh_wiki_data.py function wiki_csv (line 21) | def wiki_csv(tmp_path, sql_preprocessor): function test_wikipedia (line 40) | def test_wikipedia(dsn, temp_db_conn, temp_db_cursor, table_factory, function test_wikipedia_no_match (line 63) | def test_wikipedia_no_match(dsn, temp_db_conn, temp_db_cursor, def_confi... FILE: test/python/tools/test_replication.py function setup_status_table (line 29) | def setup_status_table(status_table): function test_init_replication_bad_base_url (line 35) | def test_init_replication_bad_base_url(monkeypatch, place_row, temp_db_c... function test_init_replication_success (line 44) | def test_init_replication_success(monkeypatch, place_row, temp_db_conn, ... function test_check_for_updates_empty_status_table (line 63) | def test_check_for_updates_empty_status_table(temp_db_conn): function test_check_for_updates_seq_not_set (line 67) | def test_check_for_updates_seq_not_set(temp_db_conn): function test_check_for_updates_no_state (line 73) | def test_check_for_updates_no_state(monkeypatch, temp_db_conn): function test_check_for_updates_no_new_data (line 83) | def test_check_for_updates_no_new_data(monkeypatch, temp_db_conn, function update_options (line 99) | def update_options(tmpdir): function test_update_empty_status_table (line 107) | def test_update_empty_status_table(dsn): function test_update_already_indexed (line 112) | def test_update_already_indexed(temp_db_conn, dsn): function test_update_no_data_no_sleep (line 119) | def test_update_no_data_no_sleep(monkeypatch, temp_db_conn, dsn, update_... function test_update_no_data_sleep (line 136) | def test_update_no_data_sleep(monkeypatch, temp_db_conn, dsn, update_opt... FILE: test/python/tools/test_sp_csv_loader.py function sp_csv_loader (line 18) | def sp_csv_loader(src_dir): function test_generate_phrases (line 27) | def test_generate_phrases(sp_csv_loader): function test_invalid_cvs_file (line 41) | def test_invalid_cvs_file(): FILE: test/python/tools/test_sp_importer.py function test_get_classtype_pair_data (line 12) | def test_get_classtype_pair_data(placex_row, def_config, temp_db_conn): function test_get_classtype_pair_data_more (line 32) | def test_get_classtype_pair_data_more(placex_row, def_config, temp_db_co... function test_get_classtype_pair_data_default (line 52) | def test_get_classtype_pair_data_default(placex_row, def_config, temp_db... FILE: test/python/tools/test_sp_wiki_loader.py function sp_wiki_loader (line 15) | def sp_wiki_loader(src_dir, monkeypatch, def_config): function test_generate_phrases (line 31) | def test_generate_phrases(sp_wiki_loader): FILE: test/python/tools/test_tiger_data.py function csv_factory (line 21) | def csv_factory(tmp_path): class TestTiger (line 34) | class TestTiger: method setup (line 37) | def setup(self, temp_db_conn, placex_row, load_sql): method test_add_tiger_data_database_frozen (line 58) | async def test_add_tiger_data_database_frozen(self, def_config, src_di... method test_add_tiger_data_reverse_only (line 66) | async def test_add_tiger_data_reverse_only(self, def_config, src_dir, ... method test_add_tiger_data_no_files (line 79) | async def test_add_tiger_data_no_files(self, def_config, temp_db_curso... method test_add_tiger_data_bad_file (line 86) | async def test_add_tiger_data_bad_file(self, def_config, temp_db_curso... method test_add_tiger_data_hnr_nan (line 96) | async def test_add_tiger_data_hnr_nan(self, def_config, temp_db_cursor... method test_add_tiger_data_tarfile (line 111) | async def test_add_tiger_data_tarfile(self, def_config, temp_db_cursor... method test_add_tiger_data_bad_tarfile (line 123) | async def test_add_tiger_data_bad_tarfile(self, def_config, tokenizer_... method test_add_tiger_data_empty_tarfile (line 131) | async def test_add_tiger_data_empty_tarfile(self, def_config, temp_db_... FILE: test/python/utils/test_centroid.py function test_empty_set (line 15) | def test_empty_set(): function test_one_point_centroid (line 23) | def test_one_point_centroid(centroid): function test_multipoint_centroid (line 32) | def test_multipoint_centroid(): function test_manypoint_centroid (line 43) | def test_manypoint_centroid(): function test_add_non_tuple (line 53) | def test_add_non_tuple(param): FILE: test/python/utils/test_json_writer.py function test_simple_value (line 22) | def test_simple_value(inval, outstr): function test_empty_array (line 30) | def test_empty_array(): function test_array_with_single_value (line 37) | def test_array_with_single_value(): function test_array_with_data (line 46) | def test_array_with_data(invals, outstr): function test_empty_object (line 58) | def test_empty_object(): function test_object_single_entry (line 65) | def test_object_single_entry(): function test_object_many_values (line 76) | def test_object_many_values(): function test_object_many_values_without_none (line 88) | def test_object_many_values_without_none(): function test_raw_output (line 102) | def test_raw_output():