save and load methods über config ok

This commit is contained in:
jens 2020-12-18 13:23:13 +01:00
parent 270b9e4656
commit 81f7d21660
3 changed files with 37 additions and 12 deletions

View File

@ -23,12 +23,13 @@ from tkinter import ttk
import CCDpanelsetup as panel
####################################### object
class Messurement(object):
def __init__(self,data,step):
### nr -> na
def __init__(self,name,data):
split = data.split(',')
self.name = 'Messure '+str(split[0])
self.absorbanz = split[1]
self.conc = float(split[0])*float(step)
self.id = split[0]
self.name = name +' '+str(split[0])
self.conc = float(split[1])
self.absorbanz = float(split[2])
class Methods(object) :
@ -49,7 +50,7 @@ class Methods(object) :
self.step = m[4]
self.final = m[5]
else:
self.messures.append(Messurement(s,float(self.final)/float(self.step)))
self.messures.append(Messurement(self.name,s))
def __str__(self):
return self.name
@ -57,7 +58,7 @@ class Methods(object) :
def save(self):
s = self.id+','+self.nm+','+self.units+','+self.absorbanz+','+self.step+','+self.final
for p in self.messures:
s = s+'|'+str(p.conc)+','+str(p.absorbanz)
s = s+'|'+str(p.id)+','+str(p.conc)+','+str(p.absorbanz)
return s
def update(self,data):
@ -75,7 +76,7 @@ class Methods(object) :
self.step = m[4]
self.final = m[5]
else:
self.messures.append(Messurement(s,float(self.final)/float(self.step)))
self.messures.append(Messurement(self.name,s))
def get_name(self):
@ -355,11 +356,19 @@ class Jfsphoto (object):
config.set('main','nm_left',str(self.nm_left))
config.set('main','nm_right',str(self.nm_right))
config.set('main','nm_step',str(self.nm_step))
if ('methods') in lis:
config.remove_section('methods')
with open('config.ini','w') as f:
f.seek(0)
config.write(f)
f.truncate()
config.read('config.ini')
lis = config.sections()
if ('methods') not in lis:
config.add_section('methods')
for p in self.methods:
config.set('methods',p.get_name(),p.save())
print(p.get_name())
with open('config.ini','w') as f:
config.write(f)
@ -595,7 +604,7 @@ class Jfsphoto (object):
for a in self.methods:
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))
tree.insert(a.name,'end',b.name,text=b.name,values=(b.id,'',b.conc,b.absorbanz))
def save_tree():
for child in tree.get_children():
@ -615,7 +624,7 @@ class Jfsphoto (object):
stp = e6.get()/e5.get()
for i in range(1,e5.get()+1):
na = e1.get()+' '+str(i)
tree.insert(e1.get(),'end',na,text= na ,values=(i,'',stp * (i)))
tree.insert(e1.get(),'end',na,text= na ,values=(i,'',stp * (i),0.0))
s= ",".join(str(x) for x in tree.item(e1.get())["values"])
for items in tree.get_children(e1.get()):
ss = ",".join(str(x) for x in tree.item(items)["values"] if len(str(x))>0)
@ -627,6 +636,10 @@ class Jfsphoto (object):
name =tree.item(curItem,"text")
if tk.messagebox.askyesno(title='Delete', message='You you really want to delete '+name ):
tree.delete(curItem)
for p in self.methods:
if p.name == name:
self.methods.remove(p)
lf1 = tk.LabelFrame(win,text='Edit the method')

View File

@ -4,5 +4,7 @@ nm_right = 811.0
nm_step = 0.13279
[methods]
crystal = 1,530,mymol,0,5,20|16.0,1.23|32.0,2.4|48.0,3.65|64.0,4.8|80.0,6.05
crystal = 1,530,mymol,0,5,20|1,4.0,1.23|2,8.0,2.4|3,12.0,3.65|4,16.0,4.8|5,20.0,6.05
eisen = 2,405,mymol,0.0,3,60|1,20.0,0.0|2,40.0,0.0|3,60.0,0.0
ursi = 3,555,Mol,0.0,2,20

10
config1.ini Normal file
View File

@ -0,0 +1,10 @@
[main]
nm_left = 320.0
nm_right = 811.0
nm_step = 0.13279
[methods]
crystal = 1,530,mymol,0,5,20|1,4.0,1.23|2,8.0,2.4|3,12.0,3.65|4,16.0,4.8|5,20.0,6.05
eisen = 2,405,mymol,0.0,3,60|1,20.0,0.0|2,40.0,0.0|3,60.0,0.0
lambda = 3,650,Mol,0.0,5,40|1,8.0,0.0|4,32.0,0.0|5,40.0,0.0