Skip to content

Commit 70be2b8

Browse files
authored
Merge pull request #447 from s-alexey/pickle_udpipe
Pickling UDPipe #387
2 parents 49c24a6 + 0b678f3 commit 70be2b8

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

orangecontrib/text/preprocess/normalize.py

+7
Original file line numberDiff line numberDiff line change
@@ -188,3 +188,10 @@ def language(self):
188188
def language(self, value):
189189
self._language = value
190190
self.model = None
191+
192+
def __getstate__(self):
193+
return {'language': self.language}
194+
195+
def __setstate__(self, state):
196+
self.__init__(state['language'])
197+

orangecontrib/text/tests/test_preprocess.py

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import pickle
12
import tempfile
23
import unittest
34
import os.path
@@ -187,6 +188,15 @@ def test_udpipe_doc(self):
187188
self.assertListEqual(normalizer.normalize_doc('Gori na gori hiša gori'),
188189
['gora', 'na', 'gora', 'hiša', 'goreti'])
189190

191+
def test_udpipe_pickle(self):
192+
normalizer = preprocess.UDPipeLemmatizer()
193+
normalizer.language = 'English'
194+
195+
loaded = pickle.loads(pickle.dumps(normalizer))
196+
self.assertEqual(normalizer.language, loaded.language)
197+
self.assertEqual(loaded.normalize_doc('peter piper pickled'),
198+
['peter', 'piper', 'pickle'])
199+
190200
def test_porter_with_bad_input(self):
191201
stemmer = preprocess.PorterStemmer()
192202
self.assertRaises(TypeError, stemmer, 10)

0 commit comments

Comments
 (0)