Mercurial > p > roundup > code
view website/issues/extensions/timezone.py @ 7719:3071db43bfb6
feat: issue2550852 - support using a specified PostgreSQL db schema
Finally after 7 years this is closed.
roundup/backends/back_postgresql.py:
Support use of schema when specified in RDBMS_NAME. Stuart McGraws
code is finally merged 8-).
test/test_postgresql.py, test/conftest.py:
Run all postgresql tests in the schema db as well.
Also make sure that db_nuke raises an error when trying to delete
the schema test database. Conftest defines pg_schema mark that can
be used to exclude schema tests with pytest -m "not pg_schema".
roundup/configuration.py:
change doc on RDBMS_NAME to include db.schema form.
.travis.yml, .github/workflows/ci-test.yml:
create schema test db; add user for testing with schema; grant new
user create privs for schema.
doc/installation.txt:
Reference to roundup-admin init deleting schema added.
doc/mysql.txt doc/postgresql.txt:
New documentation on psql/mysql commands to set up a production db.
doc/upgrading.txt:
mention schema support, also document service setting for
selecting connection from pg_service.conf.
doc/reference.txt:
update config.ini documentation for RDBMS_NAME.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 27 Dec 2023 22:52:14 -0500 |
| 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)
