split up variant computation for better readability

This commit is contained in:
Sarah Hoffmann
2021-07-12 14:43:50 +02:00
parent 47adb2a3fc
commit daa597b300

View File

@@ -119,16 +119,20 @@ class ICUNameProcessor:
pos += 1 pos += 1
force_space = False force_space = False
results = set() # No variants detected? Fast return.
if startpos == 0: if startpos == 0:
trans_name = self.to_ascii.transliterate(norm_name).strip() trans_name = self.to_ascii.transliterate(norm_name).strip()
if trans_name: return [trans_name] if trans_name else []
results.add(trans_name)
else: return self._compute_result_set(partials, baseform[startpos:])
def _compute_result_set(self, partials, prefix):
results = set()
for variant in partials: for variant in partials:
name = variant + baseform[startpos:] vname = variant + prefix
trans_name = self.to_ascii.transliterate(name[1:-1]).strip() trans_name = self.to_ascii.transliterate(vname[1:-1]).strip()
if trans_name: if trans_name:
results.add(trans_name) results.add(trans_name)