Added support for internal timezone information.
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()