]> git.openstreetmap.org Git - nominatim.git/blob - test/python/dummy_tokenizer.py
introduce name analyzer
[nominatim.git] / test / python / dummy_tokenizer.py
1 """
2 Tokenizer for testing.
3 """
4
5 def create(dsn, data_dir):
6     """ Create a new instance of the tokenizer provided by this module.
7     """
8     return DummyTokenizer(dsn, data_dir)
9
10 class DummyTokenizer:
11
12     def __init__(self, dsn, data_dir):
13         self.dsn = dsn
14         self.data_dir = data_dir
15         self.init_state = None
16
17
18     def init_new_db(self, config):
19         assert self.init_state == None
20         self.init_state = "new"
21
22
23     def init_from_project(self):
24         assert self.init_state == None
25         self.init_state = "loaded"
26
27
28     def name_analyzer(self):
29         return DummyNameAnalyzer()
30
31
32 class DummyNameAnalyzer:
33
34     def __enter__(self):
35         return self
36
37     def __exit__(self, exc_type, exc_value, traceback):
38         self.close()
39
40
41     def close(self):
42         """ Free all resources used by the analyzer.
43         """
44         pass
45
46     def process_place(self, place):
47         """ Determine tokenizer information about the given place.
48
49             Returns a JSON-serialisable structure that will be handed into
50             the database via the token_info field.
51         """
52         return {}