##// END OF EJS Templates
Hot fix
Hot fix

File last commit:

r800:0ed26d7e3402
r1166:ce0987c48654
Show More
serializer.py
107 lines | 2.5 KiB | text/x-python | PythonLexer
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 '''
Created on Jul 17, 2014
@author: roj-idl71
'''
Miguel Valdez
jroplotter.py updated
r703 DEFAULT_SERIALIZER = None
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
Miguel Valdez
jroplotter.py updated
r703 try:
import cPickle
DEFAULT_SERIALIZER = 'cPickle'
except:
pass
try:
import msgpack_numpy
DEFAULT_SERIALIZER = 'msgpack'
except:
pass
# import jsonpickle
# import yaml
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
class Serializer(object):
def __init__(self):
self.serializer = None
def dumps(self, obj, **kwargs):
return self.serializer.dumps(obj, **kwargs)
def loads(self, obj, **kwargs):
return self.serializer.loads(obj, **kwargs)
class cPickleSerializer(Serializer):
def __init__(self):
self.serializer = cPickle
def dumps(self, obj, **kwargs):
return self.serializer.dumps(obj, 2)
def loads(self, obj, **kwargs):
return self.serializer.loads(obj)
class msgpackSerializer(Serializer):
def __init__(self):
self.serializer = msgpack_numpy
def dumps(self, obj, **kwargs):
return self.serializer.packb(obj)
def loads(self, obj, **kwargs):
return self.serializer.unpackb(obj)
Miguel Valdez
jroplotter.py updated
r703 # class jsonpickleSerializer(Serializer):
#
# def __init__(self):
#
# self.serializer = jsonpickle
#
# def dumps(self, obj, **kwargs):
# return self.serializer.encode(obj, **kwargs)
#
# def loads(self, obj, **kwargs):
# return self.serializer.decode(obj, **kwargs)
#
# class yamlSerializer(Serializer):
#
# def __init__(self):
#
# self.serializer = yaml
#
# def dumps(self, obj, **kwargs):
# return self.serializer.dump(obj, **kwargs)
#
# def loads(self, obj, **kwargs):
# return self.serializer.load(obj, **kwargs)
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
class DynamicSerializer(Serializer):
Miguel Valdez
jroplotter.py updated
r703 def __init__(self, module = None):
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
Miguel Valdez
jroplotter.py updated
r703 if not DEFAULT_SERIALIZER:
raise ImportError, "Install a python serializer like cPickle or msgpack"
Miguel Valdez
Bug fixed in zerorpc test module
r800 if not module:
module == DEFAULT_SERIALIZER
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
Bug fixed in zerorpc test module
r800 if module == 'cPickle':
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 self.serializer = cPickleSerializer()
Miguel Valdez
jroplotter.py updated
r703 #
Miguel Valdez
Bug fixed in zerorpc test module
r800 # if module == 'jsonpickle':
Miguel Valdez
jroplotter.py updated
r703 # self.serializer = jsonpickleSerializer()
#
Miguel Valdez
Bug fixed in zerorpc test module
r800 # if module == 'yaml':
Miguel Valdez
jroplotter.py updated
r703 # self.serializer = yamlSerializer()
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
Miguel Valdez
Bug fixed in zerorpc test module
r800 if module == 'msgpack':
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 self.serializer = msgpackSerializer()
if __name__ == '__main__':
pass