##// END OF EJS Templates
Modificaciones en el numero de intergraciones, en la escala de db Range
Modificaciones en el numero de intergraciones, en la escala de db Range

File last commit:

r568:486c66596e4c
r599:f46dc4c4834d
Show More
JROSerializer.py
92 lines | 2.1 KiB | text/x-python | PythonLexer
'''
Created on Jul 17, 2014
@author: roj-idl71
'''
import cPickle
import msgpack_numpy
import jsonpickle
import yaml
# import JROMsgpack
# import JROJsonpickle
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)
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)
class DynamicSerializer(Serializer):
def __init__(self, mode = 'cPickle'):
if mode == 'cPickle':
self.serializer = cPickleSerializer()
if mode == 'jsonpickle':
self.serializer = jsonpickleSerializer()
if mode == 'yaml':
self.serializer = yamlSerializer()
if mode == 'msgpack':
self.serializer = msgpackSerializer()
if __name__ == '__main__':
pass