From 33cd58c0c69e1efb05ef7547f0f3536d1530064a Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Sat, 9 Nov 2013 12:23:26 -0800 Subject: [PATCH] More deinflector cleanup Former-commit-id: 19c54590928ce4c37fd2f66b45a023decfe2e71c --- yomi_base/japanese2/deinflect.py | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/yomi_base/japanese2/deinflect.py b/yomi_base/japanese2/deinflect.py index a14622c..47da357 100644 --- a/yomi_base/japanese2/deinflect.py +++ b/yomi_base/japanese2/deinflect.py @@ -35,7 +35,7 @@ class Deinflection: self.success = False - def validateTerm(self, validator): + def validate(self, validator): for tags in validator(self.term): if len(self.tags) == 0: return True @@ -45,8 +45,8 @@ class Deinflection: return True - def deinflect(self, validator, rules, candidates): - if self.validateTerm(validator): + def deinflect(self, validator, rules): + if self.validate(validator): child = Deinflection(self.term) self.children.append(child) @@ -67,10 +67,9 @@ class Deinflection: continue term = self.term[:-len(kanaIn)] + kanaOut - candidates.update([term]) child = Deinflection(term, tagsOut, rule) - if child.deinflect(validator, rules, candidates): + if child.deinflect(validator, rules): self.children.append(child) if len(self.children) > 0: @@ -85,21 +84,14 @@ class Deinflection: def gather(self): if len(self.children) == 0: - endpoint = { - 'root': self.term, - 'source': self.term, - 'rules': [self.rule] if self.rule else list() - } - - return [endpoint] + return [{'root': self.term, 'rules': list()}] paths = list() for child in self.children: for path in child.gather(): if self.rule: path['rules'].append(self.rule) - else: - path['source'] = self.term + path['source'] = self.term paths.append(path) return paths @@ -116,7 +108,6 @@ class Deinflector: def deinflect(self, term, validator): - candidates = set() node = Deinflection(term) - if node.deinflect(validator, self.rules, candidates): - return node.gather(), candidates + if node.deinflect(validator, self.rules): + return node.gather()