From: Peter Palfrader Date: Mon, 12 Mar 2012 10:56:18 +0000 (+0100) Subject: ud-generate: Add -f option to build even if cache is current X-Git-Tag: userdir-ldap-0.3.85~65^2~16 X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fuserdir-ldap.git;a=commitdiff_plain;h=5b4abc48f508bde56299713d9eee9bba4a3cbf78 ud-generate: Add -f option to build even if cache is current --- diff --git a/debian/changelog b/debian/changelog index 73450e4..95b67f2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -29,6 +29,7 @@ userdir-ldap (0.3.80) UNRELEASED; urgency=low * ud-generate: No longer expand $ in dnsZoneEntry data to a \n\t. * ud-generate: Move code into getLastBuildTime() and getLastLDAPChangeTime() functions. + * ud-generate: Add -f option to build even if cache is current. [ Stephen Gran ] * Fix deprecation warnings for sha module by using hashlib module instead @@ -41,7 +42,7 @@ userdir-ldap (0.3.80) UNRELEASED; urgency=low * ud-replicate: set correct permissions for web-passwords * add freecdb to depends - -- Peter Palfrader Mon, 12 Mar 2012 11:45:44 +0100 + -- Peter Palfrader Mon, 12 Mar 2012 11:55:55 +0100 userdir-ldap (0.3.79) unstable; urgency=low diff --git a/ud-generate b/ud-generate index 78caa4a..c0b6515 100755 --- a/ud-generate +++ b/ud-generate @@ -28,7 +28,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -import string, re, time, ldap, getopt, sys, os, pwd, posix, socket, base64, hashlib, shutil, errno, tarfile, grp +import string, re, time, ldap, optparse, sys, os, pwd, posix, socket, base64, hashlib, shutil, errno, tarfile, grp import lockfile from userdir_ldap import * from userdir_exceptions import * @@ -1285,15 +1285,31 @@ def getLastBuildTime(): + +parser = optparse.OptionParser() +parser.add_option("-g", "--generatedir", dest="generatedir", metavar="DIR", + help="Output directory.") +parser.add_option("-f", "--force", dest="force", action="store_true", + help="Force generation, even if not update to LDAP has happened.") + +(options, args) = parser.parse_args() +if len(args) > 0: + parser.print_help() + sys.exit(1) + + l = make_ldap_conn() -# override globaldir for testing -if 'UD_GENERATEDIR' in os.environ: +if options.generatedir is not None: + GenerateDir = os.environ['UD_GENERATEDIR'] +elif 'UD_GENERATEDIR' in os.environ: GenerateDir = os.environ['UD_GENERATEDIR'] ldap_last_mod = getLastLDAPChangeTime(l) cache_last_mod = getLastBuildTime() -if cache_last_mod >= ldap_last_mod: +need_update = ldap_last_mod > cache_last_mod + +if not options.force and not need_update: fd = open(os.path.join(GenerateDir, "last_update.trace"), "w") fd.write("%s\n%s\n" % (ldap_last_mod, int(time.time()))) fd.close()