Skip to content
Snippets Groups Projects
Commit c0b70a0e authored by Benedikt's avatar Benedikt
Browse files

fixes in dsiDCC ser/deser

parent 958d236f
No related branches found
No related tags found
No related merge requests found
...@@ -309,8 +309,8 @@ class SensorCalibrationData: ...@@ -309,8 +309,8 @@ class SensorCalibrationData:
open(FileName, "rb").read()) open(FileName, "rb").read())
if __name__=='__main__': if __name__=='__main__':
xlsFileName = 'sampledata/ERGEBNISS_sheets/20220708_8305_SN1864992_Auswertung.xlsx' xlsFileName = '1_7calibrationanddccsampledata/ERGEBNISS_sheets/sinCal/20220708_8305_SN1864992_Auswertung.xlsx'
calPDFFileName = 'sampledata/ERGEBNISS_sheets/20220708_8305_SN1864992_CalSchein.pdf' calPDFFileName = '1_7calibrationanddccsampledata/ERGEBNISS_sheets/sinCal/20220708_8305_SN1864992_CalSchein.pdf'
#(xlsFileName, deviceType: str, serialNo: str, owner: str, operator: str, type: str, date=None): #(xlsFileName, deviceType: str, serialNo: str, owner: str, operator: str, type: str, date=None):
callData=SensorCalibrationData(xlsFileName,'Brueel & Kjaer 8305-001',"1502245","Customer Company","D. Nordmann","Acceleration sensor Transferfunction 1D",None) callData=SensorCalibrationData(xlsFileName,'Brueel & Kjaer 8305-001',"1502245","Customer Company","D. Nordmann","Acceleration sensor Transferfunction 1D",None)
calDatadsiMultiVector=callData.toDsiMultiVector() calDatadsiMultiVector=callData.toDsiMultiVector()
...@@ -381,7 +381,7 @@ if __name__=='__main__': ...@@ -381,7 +381,7 @@ if __name__=='__main__':
caldataDBEntry=callData.uploadDataAndAttachemntsToCouchDB(CDBA.db) caldataDBEntry=callData.uploadDataAndAttachemntsToCouchDB(CDBA.db)
print(caldataDBEntry) print(caldataDBEntry)
dccDict=caldataDBEntry.copy() dccDict=caldataDBEntry.copy()
callData.uploadDUMYDCCXML('sampledata/dcc-vacuumlab-CDG.xml') callData.uploadDUMYDCCXML('1_7calibrationanddccsampledata/dcc-vacuumlab-CDG.xml')
callData.uploadAttachmentFile(calPDFFileName) callData.uploadAttachmentFile(calPDFFileName)
# Check that the document exists in the database # Check that the document exists in the database
#if userDocument.exists(): #if userDocument.exists():
......
This diff is collapsed.
...@@ -417,17 +417,19 @@ class dsiInterpolator: ...@@ -417,17 +417,19 @@ class dsiInterpolator:
class dsiDCC: class dsiDCC:
def __init__(self,calDatamultVector:dsiMultiVector,deviceType:str,serialNo:str,owner:str,operator:str,type:str,date: datetime.datetime=None): def __init__(self,calibrationData:dsiMultiVector,deviceType:str,serialNo:str,owner:str,operator:str,calibrationType:str,date: datetime.datetime=None):
self.dataType = self.__class__.__name__ self.dataType = self.__class__.__name__
self.dsitoolsVersion=DSITOOLSVERSION self.dsiToolsVersion=DSITOOLSVERSION
self.calibrationData=calDatamultVector self.calibrationData=calibrationData
self.deviceType=deviceType self.deviceType=deviceType
self.serialNo=serialNo self.serialNo=serialNo
self.owner=owner self.owner=owner
if date==None: if date==None:
self.date=datetime.datetime.now() self.date=datetime.datetime.now()
else:
self.date=date
self.operator=operator self.operator=operator
self.calibrationtype=type self.calibrationType=calibrationType
id_raw=self.date.isoformat()+'_'+str(self.deviceType)+'_'+str(self.serialNo) id_raw=self.date.isoformat()+'_'+str(self.deviceType)+'_'+str(self.serialNo)
strReplacementMapping=[(' ','_'),('\t','_'),('\n','_'),('\r',' ')] strReplacementMapping=[(' ','_'),('\t','_'),('\n','_'),('\r',' ')]
for k,v in strReplacementMapping: for k,v in strReplacementMapping:
...@@ -445,13 +447,20 @@ class dsiDCC: ...@@ -445,13 +447,20 @@ class dsiDCC:
def fromdict(cls, dict:dict)->dsiDCC: def fromdict(cls, dict:dict)->dsiDCC:
if checkDSiToolsVersionCompatibility(dict['dsiToolsVersion'])==False: if checkDSiToolsVersionCompatibility(dict['dsiToolsVersion'])==False:
raise ValueError("Incompatible DSI Tools Versions JSONData/This Software"+str(dict['dsiToolsVersion'])+' / '+str(DSITOOLSVERSION)) raise ValueError("Incompatible DSI Tools Versions JSONData/This Software"+str(dict['dsiToolsVersion'])+' / '+str(DSITOOLSVERSION))
dsiMultiVector=dsiMultiVector.fromDict(dict['calDatamultVector']) loadedCalibrationData=dsiMultiVector.fromJson(dict['calibrationData'])
date=datetime.datetime.fromisoformat(dict['data']) date=datetime.datetime.fromisoformat(dict['date'])
instance=dsiDCC(dsiMultiVector,dict['deviceType'],dict['serialNo'],dict['owner'],dict['operator'],dict['type'],date) instance=dsiDCC(loadedCalibrationData,dict['deviceType'],dict['serialNo'],dict['owner'],dict['operator'],dict['calibrationType'],date)
#TODO change interpolator handling #TODO change interpolator handling
additionalkeys = dict.keys() - set(['deviceType','serialNo','owner','operator','type','date','calDatamultVector']) additionalkeys = dict.keys() - set(['deviceType','serialNo','owner','operator','calibrationType','calibrationData','date'])
for key in additionalkeys: for key in additionalkeys:
instance.__dict__[key] = dict[key] instance.__dict__[key] = dict[key]
return instance return instance
@classmethod
def fromJson(cls,jsonString):
dict=json.loads(jsonString)
print(dict)
return cls.fromdict(dict)
...@@ -45,5 +45,5 @@ if __name__ == "__main__": ...@@ -45,5 +45,5 @@ if __name__ == "__main__":
tmp=testMultVector['Phase'].jsonDumps() tmp=testMultVector['Phase'].jsonDumps()
multiVewctrorDump = testMultVector.jsonDumps() multiVewctrorDump = testMultVector.jsonDumps()
print(multiVewctrorDump) print(multiVewctrorDump)
reconstructedMultiVector=dsiMultiVector.fromjson(multiVewctrorDump) reconstructedMultiVector=dsiMultiVector.fromJson(multiVewctrorDump)
print(reconstructedMultiVector['Phase',1.25]) print(reconstructedMultiVector['Phase',1.25])
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment