diff website/issues/extensions/timezone.py @ 4024:c2d0d3e9099d website

svn repository setup
author Stefan Seefeld <stefan@users.sourceforge.net>
date Fri, 06 Feb 2009 13:16:31 +0000
parents
children 7d8e0dbb0852
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/website/issues/extensions/timezone.py	Fri Feb 06 13:16:31 2009 +0000
@@ -0,0 +1,37 @@
+# Utility for replacing the simple input field for the timezone with
+# a select-field that lists the available values.
+
+import cgi
+
+try:
+    import pytz
+except ImportError:
+    pytz = None
+
+
+def tzfield(prop, name, default):
+    if pytz:
+        value = prop.plain()        
+        if '' == value:
+            value = default
+        else:
+            try:
+                value = "Etc/GMT%+d" % int(value)
+            except ValueError:
+                pass
+
+        l = ['<select name="%s"' % name]
+        for zone in pytz.all_timezones:
+            s = ' '
+            if zone == value:
+                s = 'selected=selected '
+            z = cgi.escape(zone)
+            l.append('<option %svalue="%s">%s</option>' % (s, z, z))
+        l.append('</select>')
+        return '\n'.join(l)
+        
+    else:
+        return prop.field()
+
+def init(instance):
+    instance.registerUtil('tzfield', tzfield)

Roundup Issue Tracker: http://roundup-tracker.org/