From 023caf11d8189203da180d9c8847e3228a1eaa55 Mon Sep 17 00:00:00 2001 From: Adam Sampson Date: Sat, 20 Sep 2003 21:42:57 +0000 Subject: [PATCH] Experimental multi-statefile thing; just checking this in for the record, since I'm about to replace it... --- rawdoglib/rawdog.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/rawdoglib/rawdog.py b/rawdoglib/rawdog.py index c21b636..1a38389 100644 --- a/rawdoglib/rawdog.py +++ b/rawdoglib/rawdog.py @@ -554,8 +554,22 @@ def main(argv): print >>sys.stderr, err return 1 - persister = Persister(config["statefile"], Rawdog) - rawdog = persister.load() + persister = None + rawdog = None + + prev_statefile = None + def change_statefile(name): + if prev_statefile == name: + return + if persister is not None: + persister.save() + persister = None + if name is not None: + persister = Persister(name, Rawdog) + rawdog = persister.load() + prev_statefile = name + + change_statefile(config["statefile"]) for o, a in optlist: if o in ("-u", "--update"): @@ -573,10 +587,11 @@ def main(argv): print >>sys.stderr, "In " + a + ":" print >>sys.stderr, err return 1 + change_statefile(config["statefile"]) elif o in ("-t", "--show-template"): rawdog.show_template(config) - persister.save() + change_statefile(None) return 0 -- 2.35.1