comparison light8/rsn.py @ 28:b0342f9ee328

attempts to save params, better loading behavior
author dmcc
date Sun, 07 Jul 2002 10:17:00 +0000
parents 219d6fcbc28d
children f595fdd4c548
comparison
equal deleted inserted replaced
27:bee0862f4436 28:b0342f9ee328
125 for s, v in p.scalelevels.items(): 125 for s, v in p.scalelevels.items():
126 try: 126 try:
127 self.scalelevels[s].set(v) 127 self.scalelevels[s].set(v)
128 except: 128 except:
129 print "Couldn't set %s -> %s" % (s, v) 129 print "Couldn't set %s -> %s" % (s, v)
130 except: 130 for name, substate in p.substate.items():
131 print "Couldn't load prefs (%s)" % filename 131 try:
132 Subs.subs[name].set_state(substate)
133 except:
134 print "Couldn't set sub %s state" % name
135 except IOError:
136 print "IOError: Couldn't load prefs (%s)" % filename
137 except EOFError:
138 print "EOFrror: Couldn't load prefs (%s)" % filename
132 139
133 def make_sub(self, name): 140 def make_sub(self, name):
134 i = 1 141 i = 1
135 # name = console_entry.get() # read from console 142 # name = console_entry.get() # read from console
136 if not name: 143 if not name:
159 self.refresh() 166 self.refresh()
160 def backgroundloop(self, *args): 167 def backgroundloop(self, *args):
161 self.master.after(50, self.backgroundloop, ()) 168 self.master.after(50, self.backgroundloop, ())
162 self.changelevel() 169 self.changelevel()
163 def quit(self, *args): 170 def quit(self, *args):
171 self.save()
172 root.destroy()
173 sys.exit()
174 def save(self, *args):
164 filename = '/tmp/light9.prefs' 175 filename = '/tmp/light9.prefs'
165 if DUMMY: 176 if DUMMY:
166 filename += '.dummy' 177 filename += '.dummy'
167 print "Saving to", filename 178 print "Saving to", filename
168 file = open(filename, 'w') 179 file = open(filename, 'w')
169 cPickle.dump(Pickles(self.scalelevels), file) 180 try:
170 root.destroy() 181 cPickle.dump(Pickles(self.scalelevels, Subs.subs.items()), file)
171 sys.exit() 182 except cPickle.UnpickleableError:
183 print "UnpickleableError! There's yer problem."
172 184
173 class Pickles: 185 class Pickles:
174 def __init__(self, scalelevels): 186 def __init__(self, scalelevels, subs=None):
175 self.scalelevels = dict([(name, lev.get()) 187 self.scalelevels = dict([(name, lev.get())
176 for name,lev in scalelevels.items()]) 188 for name, lev in scalelevels.items()])
189 self.substate = dict([(name, subobj.get_state())
190 for name, subobj in subs])
177 191
178 mr_lightboard = Lightboard(root) 192 mr_lightboard = Lightboard(root)
179 193
180 signal(SIGINT, mr_lightboard.quit) 194 signal(SIGINT, mr_lightboard.quit)
181 bindkeys(root,'<Escape>', mr_lightboard.quit) 195 bindkeys(root,'<Escape>', mr_lightboard.quit)