[phrases] Using simple string encoding/decoding for default serialize/deserialize in PhraseFilter base class

This commit is contained in:
Al
2016-05-05 02:20:12 -04:00
parent f00e425891
commit b9ee3be806

View File

@@ -9,10 +9,13 @@ SENTINEL = None
class PhraseFilter(object): class PhraseFilter(object):
def __init__(self, phrases): def __init__(self, phrases):
self.trie = [(key, self.serialize(val)) for key, val in six.iteritems(phrases)] if hasattr(phrases, 'items'):
phrases = six.iteritems(phrases)
vals = [(safe_decode(key), self.serialize(val)) for key, val in phrases]
self.trie = BytesTrie(vals)
serialize = safe_encode serialize = staticmethod(safe_encode)
deserialize = safe_decode deserialize = staticmethod(safe_decode)
def filter(self, tokens): def filter(self, tokens):
def return_item(item): def return_item(item):