# HG changeset patch # User Paul Boddie # Date 1426001926 -3600 # Node ID 1a2872e3a48296209333f356d5426dbd69c0b74c # Parent 15fe57c7fbc15b4c8548226226da4a846939f90d Made a separate method for showing time regime menus, adding the full range of Olson database choices. diff -r 15fe57c7fbc1 -r 1a2872e3a482 imip_manager.py --- a/imip_manager.py Mon Mar 09 22:35:23 2015 +0100 +++ b/imip_manager.py Tue Mar 10 16:38:46 2015 +0100 @@ -26,6 +26,7 @@ from datetime import date, datetime, timedelta import babel.dates +import pytz import cgi, os, sys sys.path.append(LIBRARY_PATH) @@ -1912,12 +1913,19 @@ page.add(":") page.input(name="%s-second" % name, type="text", value=second, maxlength=2, size=2) page.add(" ") - self._show_menu("%s-tzid" % name, event_tzid, - [(event_tzid, event_tzid)] + ( - event_tzid != tzid and [(tzid, tzid)] or [] - )) + self._show_timezone_menu("%s-tzid" % name, event_tzid) page.span.close() + def _show_timezone_menu(self, name, default): + + """ + Show timezone controls using a menu with the given 'name', set to the + given 'default' unless a field of the given 'name' provides a value. + """ + + entries = [(tzid, tzid) for tzid in pytz.all_timezones] + self._show_menu(name, default, entries) + # Incoming HTTP request direction. def select_action(self):