view website/issues/extensions/timezone.py @ 7683:b04e222501b8

fix: rest - set self.start from client.start Make elasped time include time since client was initialized. So elapsed is as close as we can get to an overall request service time. May need to add rest_elapsed or some other subsystem based timers as we try to track a possible performance regression in 2.3.0.
author John Rouillard <rouilj@ieee.org>
date Wed, 25 Oct 2023 13:12:18 -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/