diff options
author | Rob Austein <sra@hactrn.net> | 2011-04-22 04:50:02 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2011-04-22 04:50:02 +0000 |
commit | ed11ea103413deace78e8fe98e64d3480ddea099 (patch) | |
tree | a68a66130441f2b844802c20a8d309eb0e0c6996 /rtr-origin | |
parent | ab83b1d21ce5c8f4b01b3328fedb946a4b9644f9 (diff) |
Don't bump serial number if nothing changed
svn path=/rtr-origin/rtr-origin.py; revision=3786
Diffstat (limited to 'rtr-origin')
-rwxr-xr-x | rtr-origin/rtr-origin.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/rtr-origin/rtr-origin.py b/rtr-origin/rtr-origin.py index 5a158c40..22b0eb46 100755 --- a/rtr-origin/rtr-origin.py +++ b/rtr-origin/rtr-origin.py @@ -715,6 +715,19 @@ class axfr_set(prefix_set): """ return "%d.ax" % self.serial + @classmethod + def load_current(cls): + """ + Load current axfr_set. Return None if can't. + """ + serial = read_current()[0] + if serial is None: + return None + try: + return cls.load("%d.ax" % serial) + except IOError: + return None + def save_axfr(self): """ Write axfr__set to file with magic filename. @@ -1273,13 +1286,16 @@ def cronjob_main(argv): os.unlink(f) pdus = axfr_set.parse_rcynic(argv[0]) + if pdus == axfr_set.load_current(): + blather("# No change, new version not needed") + sys.exit() pdus.save_axfr() for axfr in glob.iglob("*.ax"): if axfr != pdus.filename(): pdus.save_ixfr(axfr_set.load(axfr)) pdus.mark_current() - log("# New serial is %d (%s)" % (pdus.serial, pdus.serial)) + blather("# New serial is %d (%s)" % (pdus.serial, pdus.serial)) try: os.stat(kickme_dir) |