Mercurial > code > home > repos > light9
changeset 185:74a34c677588
now with autosave
author | dmcc |
---|---|
date | Sun, 13 Jul 2003 07:41:44 +0000 |
parents | a7f1f75c737b |
children | 5f9a208e8865 |
files | flax/CueFaders.py |
diffstat | 1 files changed, 16 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/flax/CueFaders.py Sun Jul 13 05:50:04 2003 +0000 +++ b/flax/CueFaders.py Sun Jul 13 07:41:44 2003 +0000 @@ -18,6 +18,7 @@ # FIXE make fades work properly: the set_next / prev bug # WONT find cue by page ("not necessawy!") # WONT CueFader controls KeyboardController? unlikely +# FIXE AutoSave loop class LabelledScale(Tk.Frame): """Scale with two labels: a name and current value""" @@ -483,9 +484,16 @@ return empty_cue def __del__(self): self.save() - def save(self): - print "Saving cues to", self.filename - self.treedict.save(self.filename) + def save(self, backup=0): + if backup: + + backupfilename = "%s-backup" % self.filename + print time.asctime(), "Saving backup version of cues to", \ + backupfilename + self.treedict.save(backupfilename) + else: + print time.asctime(), "Saving cues to", self.filename + self.treedict.save(self.filename) def reload(self): # TODO: we probably will need to make sure that indices still make # sense, etc. @@ -529,6 +537,7 @@ for count, cue in enumerate(self.cues): self.display_cue(count, cue) self.update_cue_indicators() + self.save_loop() def set_fader(self, fader): self.fader = fader def wheelscroll(self, evt): @@ -627,6 +636,10 @@ sel = self.hlist.info_selection() if sel: self.set_next(int(sel[0])) + def save_loop(self): + """This saves the CueList every minute.""" + self.save(backup=1) + self.after(60000, self.save_loop) class CueEditron(Tk.Frame): def __init__(self, master, changed_callback=None, cue=None):