diff options
author | niemeyer <> | 2005-02-23 00:04:12 +0000 |
---|---|---|
committer | niemeyer <> | 2005-02-23 00:04:12 +0000 |
commit | 672e2eb0393125c0d256c228e2cccb1e7abb1793 (patch) | |
tree | 499eb2a0f3af8d292904af97b9b76e394b755acc /updatezinfo.py | |
parent | 5912df38d3a7325e652f4ccb7bd89cf21bdb9f43 (diff) | |
download | dateutil-672e2eb0393125c0d256c228e2cccb1e7abb1793.tar.gz |
Added support for internal timezone information.
Diffstat (limited to 'updatezinfo.py')
-rwxr-xr-x | updatezinfo.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/updatezinfo.py b/updatezinfo.py new file mode 100755 index 0000000..d39182c --- /dev/null +++ b/updatezinfo.py @@ -0,0 +1,45 @@ +#!/usr/bin/python +from dateutil.zoneinfo import rebuild +import shutil +import sys +import os +import re + +SERVER = "elsie.nci.nih.gov" +DIR = "/pub" +NAME = re.compile("tzdata(.*).tar.gz") + +def main(): + if len(sys.argv) == 2: + tzdata = sys.argv[1] + else: + from ftplib import FTP + print "Connecting to %s..." % SERVER + ftp = FTP(SERVER) + print "Logging in..." + ftp.login() + print "Changing to %s..." % DIR + ftp.cwd(DIR) + print "Listing files..." + for name in ftp.nlst(): + if NAME.match(name): + break + else: + sys.exit("error: file matching %s not found" % NAME.pattern) + if os.path.isfile(name): + print "Found local %s..." % name + else: + print "Retrieving %s..." % name + file = open(name, "w") + ftp.retrbinary("RETR "+name, file.write) + file.close() + ftp.close() + tzdata = name + if not tzdata or not NAME.match(tzdata): + sys.exit("Usage: updatezinfo.py tzdataXXXXX.tar.gz") + print "Updating timezone information..." + rebuild(tzdata, NAME.match(tzdata).group(1)) + print "Done." + +if __name__ == "__main__": + main() |