Test for AttributeError when pickling objects (Python>=3.5)

Same "fix" as in e.g. https://github.com/joblib/joblib/pull/246
This commit is contained in:
Paul Tremberth 2016-01-18 17:57:55 +01:00
parent bcbad2905d
commit fd99ef86df
1 changed files with 3 additions and 1 deletions

View File

@ -25,7 +25,9 @@ def _serializable_queue(queue_class, serialize, deserialize):
def _pickle_serialize(obj):
try:
return pickle.dumps(obj, protocol=2)
except pickle.PicklingError as e:
# Python>=3.5 raises AttributeError here while
# Python<=3.4 raises pickle.PicklingError
except (pickle.PicklingError, AttributeError) as e:
raise ValueError(str(e))
PickleFifoDiskQueue = _serializable_queue(queue.FifoDiskQueue, \