mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
Only log a warning if a wrong input is detected on the wiki while importing special phrases
This commit is contained in:
@@ -153,8 +153,10 @@ class SpecialPhrasesImporter():
|
|||||||
class_matchs = self.sanity_check_pattern.findall(phrase_class)
|
class_matchs = self.sanity_check_pattern.findall(phrase_class)
|
||||||
|
|
||||||
if len(class_matchs) < 1 or len(type_matchs) < 1:
|
if len(class_matchs) < 1 or len(type_matchs) < 1:
|
||||||
raise UsageError("Bad class/type for language {}: {}={}".format(
|
LOG.warning("Bad class/type for language %s: %s=%s. It will not be imported",
|
||||||
lang, phrase_class, phrase_type))
|
lang, phrase_class, phrase_type)
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
def _process_xml_content(self, xml_content, lang):
|
def _process_xml_content(self, xml_content, lang):
|
||||||
"""
|
"""
|
||||||
@@ -205,7 +207,8 @@ class SpecialPhrasesImporter():
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
#sanity check, in case somebody added garbage in the wiki
|
#sanity check, in case somebody added garbage in the wiki
|
||||||
self._check_sanity(lang, phrase_class, phrase_type)
|
if not self._check_sanity(lang, phrase_class, phrase_type):
|
||||||
|
continue
|
||||||
|
|
||||||
class_type_pairs.add((phrase_class, phrase_type))
|
class_type_pairs.add((phrase_class, phrase_type))
|
||||||
|
|
||||||
|
|||||||
@@ -64,13 +64,11 @@ def test_check_sanity_class(special_phrases_importer):
|
|||||||
If a wrong class or type is given, an UsageError should raise.
|
If a wrong class or type is given, an UsageError should raise.
|
||||||
If a good class and type are given, nothing special happens.
|
If a good class and type are given, nothing special happens.
|
||||||
"""
|
"""
|
||||||
with pytest.raises(UsageError):
|
|
||||||
special_phrases_importer._check_sanity('en', '', 'type')
|
|
||||||
|
|
||||||
with pytest.raises(UsageError):
|
assert not special_phrases_importer._check_sanity('en', '', 'type')
|
||||||
special_phrases_importer._check_sanity('en', 'class', '')
|
assert not special_phrases_importer._check_sanity('en', 'class', '')
|
||||||
|
|
||||||
special_phrases_importer._check_sanity('en', 'class', 'type')
|
assert special_phrases_importer._check_sanity('en', 'class', 'type')
|
||||||
|
|
||||||
def test_load_white_and_black_lists(special_phrases_importer):
|
def test_load_white_and_black_lists(special_phrases_importer):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user