##// END OF EJS Templates
Correcion de plot eje, graficos centrados, seleccion de ploteo real,imag, abs por defecto, pruebas integrando5 min
Correcion de plot eje, graficos centrados, seleccion de ploteo real,imag, abs por defecto, pruebas integrando5 min

File last commit:

r705:2b21a763c9a1
r1244:464f48b8a1f9
Show More
data.py
114 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 15, 2014
@author: Miguel Urco
'''
Miguel Valdez
serializer module added to Signal Chain
r697 from serializer import DynamicSerializer
Miguel Valdez
jroplotter.py updated
r703
DEFAULT_SERIALIZER = None #'cPickle', 'msgpack', "yaml"
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
from schainpy.model.data.jrodata import *
CLASSNAME_KEY = 'classname__'
Miguel Valdez
schain serializer: minor changes
r705 def isObject(myObj):
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
Miguel Valdez
schain serializer: minor changes
r705 return hasattr(myObj,'__dict__')
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
def isDictFormat(thisValue):
if type(thisValue) != type({}):
return False
if CLASSNAME_KEY not in thisValue.keys():
return False
return True
def obj2Dict(myObj, keyList=[]):
if not keyList:
keyList = myObj.__dict__.keys()
myDict = {}
myDict[CLASSNAME_KEY] = myObj.__class__.__name__
for thisKey, thisValue in myObj.__dict__.items():
if thisKey not in keyList:
continue
Miguel Valdez
schain serializer: minor changes
r705 if not isObject(thisValue):
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 myDict[thisKey] = thisValue
continue
## If this value is another class instance
Miguel Valdez
schain serializer: minor changes
r705 myDict[thisKey] = obj2Dict(thisValue)
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
return myDict
def dict2Obj(myDict):
'''
'''
if CLASSNAME_KEY not in myDict.keys():
return None
className = eval(myDict[CLASSNAME_KEY])
myObj = className()
for thisKey, thisValue in myDict.items():
if thisKey == CLASSNAME_KEY:
continue
if not isDictFormat(thisValue):
setattr(myObj, thisKey, thisValue)
continue
myNewObj = dict2Obj(thisValue)
setattr(myObj, thisKey, myNewObj)
return myObj
Miguel Valdez
jroplotter.py updated
r703 def dict2Serial(myDict, serializer=DEFAULT_SERIALIZER):
SERIALIZER = DynamicSerializer(serializer)
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 mySerial = SERIALIZER.dumps(myDict)
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 return mySerial
Miguel Valdez
jroplotter.py updated
r703
def serial2Dict(mySerial, serializer=DEFAULT_SERIALIZER):
SERIALIZER = DynamicSerializer(serializer)
Miguel Valdez
serializer module added to Signal Chain
r697 myDict = SERIALIZER.loads(mySerial)
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
serializer module added to Signal Chain
r697 return myDict
Miguel Valdez
jroplotter.py updated
r703
def obj2Serial(myObj, serializer=DEFAULT_SERIALIZER, **kwargs):
SERIALIZER = DynamicSerializer(serializer)
Miguel Valdez
serializer module added to Signal Chain
r697 myDict = obj2Dict(myObj, **kwargs)
mySerial = dict2Serial(myDict, serializer)
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
serializer module added to Signal Chain
r697 return mySerial
Miguel Valdez
jroplotter.py updated
r703
def serial2Obj(mySerial, metadataDict = {}, serializer=DEFAULT_SERIALIZER):
SERIALIZER = DynamicSerializer(serializer)
Miguel Valdez
serializer module added to Signal Chain
r697 myDataDict = serial2Dict(mySerial, serializer)
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 if not metadataDict:
myObj = dict2Obj(myDataDict)
return myObj
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 metadataDict.update(myDataDict)
myObj = dict2Obj(metadataDict)
Miguel Valdez
jroplotter.py updated
r703
Miguel Valdez
serializer module added to Signal Chain
r697 return myObj