##// END OF EJS Templates
Use of delays instead of input queue to keep dataouts and avoid loose of them
Use of delays instead of input queue to keep dataouts and avoid loose of them

File last commit:

r1167:1f521b07c958
r1245:1ee18bfa3eb6
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:
George Yong
Python 2to3, Spectra (all operations) working
r1167 import pickle
Miguel Valdez
jroplotter.py updated
r703 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:
George Yong
Python 2to3, Spectra (all operations) working
r1167 raise ImportError("Install a python serializer like cPickle or msgpack")
Miguel Valdez
jroplotter.py updated
r703
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