From 84c8abc1db3d71ac1515ff71541388ac1e06f1d3 Mon Sep 17 00:00:00 2001 From: jfsScience Date: Thu, 17 Dec 2020 18:16:23 +0100 Subject: [PATCH] probelme mit save_tree --- JFSphoto.py | 61 +++++++++++++++++++++++++++++++++++++++++++---------- config.ini | 2 +- 2 files changed, 51 insertions(+), 12 deletions(-) diff --git a/JFSphoto.py b/JFSphoto.py index fd3d9ca..bd830dd 100644 --- a/JFSphoto.py +++ b/JFSphoto.py @@ -28,13 +28,13 @@ class Messurement(object): split = data.split(',') self.name = 'Messure '+str(split[0]) self.absorbanz = split[1] - self.conc = int(split[0])*float(step) + self.conc = float(split[0])*float(step) class Methods(object) : - + ### absorbanz später für E / mymol oder so def __init__(self,name,data): - self.messures = [] + self.messures = list() self.name = name split = data.split('|') first = True @@ -45,11 +45,36 @@ class Methods(object) : self.id =m[0] self.nm = m[1] self.units = m[2] - self.step = m[5] - self.final = m[6] + self.absorbanz =m[3] + self.step = m[4] + self.final = m[5] else: - self.messures.append(Messurement(s,float(self.final)/int(self.step))) + self.messures.append(Messurement(s,float(self.final)/float(self.step))) + def __str__(self): + return self.name + + + def update(self,data): + self.messures.clear() + split = data.split('|') + first = True + for s in split: + if first==True: + first= False + m = s.split(',') + self.id =m[0] + self.nm = m[1] + self.units = m[2] + self.absorbanz =m[3] + self.step = m[4] + self.final = m[5] + else: + self.messures.append(Messurement(s,float(self.final)/float(self.step))) + + + def get_name(self): + return(self.name) class Jfsphoto (object): @@ -559,19 +584,33 @@ class Jfsphoto (object): def load_tree(): for a in self.methods: - tree.insert("",'end',a.name,text=a.name,values=(a.id,a.nm,a.units,e7.get(),a.step,a.final)) + tree.insert("",'end',a.name,text=a.name,values=(a.id,a.nm,a.units,a.absorbanz,a.step,a.final)) for b in a.messures: tree.insert(a.name,'end',b.name,text=b.name,values=('','',b.conc,b.absorbanz)) def save_tree(): name = e1.get() data = str(e2.get())+','+str(e3.get())+','+e4.get()+','+str(e5.get())+','+str(e6.get()) - + old = [p.get_name() for p in self.methods] + print(old) for child in tree.get_children(): - print(tree.item(child)["values"]) + name = child + s= ",".join(str(x) for x in tree.item(child)["values"]) + #print(s) for items in tree.get_children(child): - print(tree.item(items)["values"]) - + ss = ",".join(str(x) for x in tree.item(items)["values"] if len(str(x))>0) + s = s +'|'+ss + + for p in self.methods: + if p.get_name() == name: + p.update(s) + print('update') + break + else: + self.methods.append(Methods(name,s)) + print('append') + break + def add_method(): tree.insert("",'end',e1.get(),text=e1.get(),values=(e2.get(),e3.get(),e4.get(),e7.get(),e5.get(),e6.get())) diff --git a/config.ini b/config.ini index 5eea6f9..96f12b8 100644 --- a/config.ini +++ b/config.ini @@ -4,5 +4,5 @@ nm_right = 811.0 nm_step = 0.13279 [methods] -crystal = 1,530,mymol,0,0,5,20|1,1.23|2,2.4|3,3.65|4,4.8|5,6.05 +crystal = 1,530,mymol,0,5,20|1,1.23|2,2.4|3,3.65|4,4.8|5,6.05