From: Peter Palfrader Date: Sat, 10 Mar 2012 14:44:59 +0000 (+0100) Subject: Make cache_last_mod thing more robust X-Git-Tag: userdir-ldap-0.3.85~68 X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fuserdir-ldap.git;a=commitdiff_plain;h=e5e831be77686bd3a4e86d5eb20506f6fea8c854 Make cache_last_mod thing more robust --- diff --git a/ud-generate b/ud-generate index b594240..7931ff6 100755 --- a/ud-generate +++ b/ud-generate @@ -1269,11 +1269,15 @@ last = sorted_mods[-1][1]['reqEnd'][0].split('.')[0] if 'UD_GENERATEDIR' in os.environ: GenerateDir = os.environ['UD_GENERATEDIR'] -cache_last_mod = None +cache_last_mod = 0 try: fd = open(os.path.join(GenerateDir, "last_update.trace"), "r") cache_last_mod=fd.read().split() + try: + cache_last_mod = cache_last_mod[0] + except IndexError: + pass fd.close() except IOError, e: if e.errno == errno.ENOENT: @@ -1281,7 +1285,7 @@ except IOError, e: else: raise e -if cache_last_mod is None or cache_last_mod[0] >= last: +if cache_last_mod >= last: fd = open(os.path.join(GenerateDir, "last_update.trace"), "w") fd.write("%s\n%s\n" % (last, int(time.time()))) fd.close() @@ -1310,15 +1314,15 @@ try: sys.stderr.write("Could not acquire lock %s.\n"%(lockf)) sys.exit(1) + tracefd = open(os.path.join(GenerateDir, "last_update.trace"), "w") generate_all(GenerateDir, l) + tracefd.write("%s\n%s\n" % (last, int(time.time()))) + tracefd.close() finally: if lock is not None: lock.release() -fd = open(os.path.join(GenerateDir, "last_update.trace"), "w") -fd.write("%s\n%s\n" % (last, int(time.time()))) -fd.close() # vim:set et: # vim:set ts=3: