Mercurial > code > home > repos > light9
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) |