blob: d39182cca233495b72920dea4035a9f99207b558 [file] [log] [blame]
niemeyer672e2eb2005-02-23 00:04:12 +00001#!/usr/bin/python
2from dateutil.zoneinfo import rebuild
3import shutil
4import sys
5import os
6import re
7
8SERVER = "elsie.nci.nih.gov"
9DIR = "/pub"
10NAME = re.compile("tzdata(.*).tar.gz")
11
12def main():
13 if len(sys.argv) == 2:
14 tzdata = sys.argv[1]
15 else:
16 from ftplib import FTP
17 print "Connecting to %s..." % SERVER
18 ftp = FTP(SERVER)
19 print "Logging in..."
20 ftp.login()
21 print "Changing to %s..." % DIR
22 ftp.cwd(DIR)
23 print "Listing files..."
24 for name in ftp.nlst():
25 if NAME.match(name):
26 break
27 else:
28 sys.exit("error: file matching %s not found" % NAME.pattern)
29 if os.path.isfile(name):
30 print "Found local %s..." % name
31 else:
32 print "Retrieving %s..." % name
33 file = open(name, "w")
34 ftp.retrbinary("RETR "+name, file.write)
35 file.close()
36 ftp.close()
37 tzdata = name
38 if not tzdata or not NAME.match(tzdata):
39 sys.exit("Usage: updatezinfo.py tzdataXXXXX.tar.gz")
40 print "Updating timezone information..."
41 rebuild(tzdata, NAME.match(tzdata).group(1))
42 print "Done."
43
44if __name__ == "__main__":
45 main()