Mercurial > p > roundup > code
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)
