aboutsummaryrefslogtreecommitdiff
path: root/rtr-origin
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2011-04-22 04:50:02 +0000
committerRob Austein <sra@hactrn.net>2011-04-22 04:50:02 +0000
commited11ea103413deace78e8fe98e64d3480ddea099 (patch)
treea68a66130441f2b844802c20a8d309eb0e0c6996 /rtr-origin
parentab83b1d21ce5c8f4b01b3328fedb946a4b9644f9 (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-xrtr-origin/rtr-origin.py18
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)