1 # SPDX-License-Identifier: GPL-2.0-only
 
   3 # This file is part of Nominatim. (https://nominatim.org)
 
   5 # Copyright (C) 2022 by the Nominatim developer community.
 
   6 # For a full list of authors see the git log.
 
  10 from nominatim.data.place_info import PlaceInfo
 
  11 from nominatim.config import Configuration
 
  13 def create(dsn, data_dir):
 
  14     """ Create a new instance of the tokenizer provided by this module.
 
  16     return DummyTokenizer(dsn, data_dir)
 
  20     def __init__(self, dsn, data_dir):
 
  22         self.data_dir = data_dir
 
  23         self.init_state = None
 
  24         self.analyser_cache = {}
 
  27     def init_new_db(self, *args, **kwargs):
 
  28         assert self.init_state is None
 
  29         self.init_state = "new"
 
  32     def init_from_project(self, config):
 
  33         assert isinstance(config, Configuration)
 
  34         assert self.init_state is None
 
  35         self.init_state = "loaded"
 
  39     def finalize_import(_):
 
  43     def name_analyzer(self):
 
  44         return DummyNameAnalyzer(self.analyser_cache)
 
  47 class DummyNameAnalyzer:
 
  52     def __exit__(self, exc_type, exc_value, traceback):
 
  56     def __init__(self, cache):
 
  57         self.analyser_cache = cache
 
  58         cache['countries'] = []
 
  65     def normalize_postcode(postcode):
 
  69     def update_postcodes_from_db():
 
  72     def update_special_phrases(self, phrases, should_replace):
 
  73         self.analyser_cache['special_phrases'] = phrases
 
  75     def add_country_names(self, code, names):
 
  76         self.analyser_cache['countries'].append((code, names))
 
  79     def process_place(place):
 
  80         assert isinstance(place, PlaceInfo)