view website/issues/extensions/timezone.py @ 8323:32a57cde072f

chore(ci): issue2551368 use new gpg for all releases. I was the new version only for 3.10 and newer running on ubuntu 24.04. Paul said it should work on 3.7 and 3.8 which runn on unbuntu 22.04. So enable it and see if it works.
author John Rouillard <rouilj@ieee.org>
date Wed, 04 Jun 2025 19:20:27 -0400
parents 7d8e0dbb0852
children
line wrap: on
line source

# 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/