[phrases] Using safe_encode/safe_decode as default trie serializer/deserializer
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import ujson as json
|
||||||
|
|
||||||
from collections import defaultdict, OrderedDict
|
from collections import defaultdict, OrderedDict
|
||||||
|
|
||||||
@@ -27,6 +28,8 @@ POSSIBLE_ROMAN_NUMERALS = set(['i', 'ii', 'iii', 'iv', 'v', 'vi', 'vii', 'viii',
|
|||||||
|
|
||||||
|
|
||||||
class DictionaryPhraseFilter(PhraseFilter):
|
class DictionaryPhraseFilter(PhraseFilter):
|
||||||
|
serialize = safe_encode
|
||||||
|
deserialize = safe_decode
|
||||||
|
|
||||||
def __init__(self, *dictionaries):
|
def __init__(self, *dictionaries):
|
||||||
self.dictionaries = dictionaries
|
self.dictionaries = dictionaries
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import six
|
import six
|
||||||
import ujson as json
|
|
||||||
|
|
||||||
from collections import *
|
from collections import *
|
||||||
from marisa_trie import BytesTrie
|
from marisa_trie import BytesTrie
|
||||||
|
from geodata.encoding import safe_encode, safe_decode
|
||||||
|
|
||||||
SENTINEL = None
|
SENTINEL = None
|
||||||
|
|
||||||
@@ -11,8 +11,8 @@ class PhraseFilter(object):
|
|||||||
def __init__(self, phrases):
|
def __init__(self, phrases):
|
||||||
self.trie = [(key, self.serialize(val)) for key, val in six.iteritems(phrases)]
|
self.trie = [(key, self.serialize(val)) for key, val in six.iteritems(phrases)]
|
||||||
|
|
||||||
serialize = json.dumps
|
serialize = safe_encode
|
||||||
deserialize = json.loads
|
deserialize = safe_decode
|
||||||
|
|
||||||
def filter(self, tokens):
|
def filter(self, tokens):
|
||||||
def return_item(item):
|
def return_item(item):
|
||||||
|
|||||||
Reference in New Issue
Block a user