summaryrefslogtreecommitdiffstats
path: root/pytzdata/commands/zones.py
diff options
context:
space:
mode:
Diffstat (limited to 'pytzdata/commands/zones.py')
-rw-r--r--pytzdata/commands/zones.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/pytzdata/commands/zones.py b/pytzdata/commands/zones.py
new file mode 100644
index 0000000..ef3e33a
--- /dev/null
+++ b/pytzdata/commands/zones.py
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+
+import os
+import pprint
+import pytzdata
+
+from cleo import Command
+
+
+class ZonesCommand(Command):
+ """
+ Dumps available timezones to the _timezone.py file.
+
+ zones:dump
+ """
+
+ TEMPLATE = """# -*- coding: utf-8 -*-
+
+timezones = {}
+"""
+
+ def handle(self):
+ zones = pytzdata.get_timezones()
+
+ tz_file = os.path.join(
+ os.path.dirname(__file__),
+ '..',
+ '_timezones.py'
+ )
+
+ with open(tz_file, 'w') as fd:
+ fd.write(
+ self.TEMPLATE.format(pprint.pformat(zones))
+ )
+
+ self.info('Dumped <comment>{}</> timezones'.format(len(zones)))