Mercurial > kallithea
view scripts/generate-ini.py @ 7641:6b7a0cd02857 stable
files: avoid duplicated "Select changeset" select2 controls on file source pages (Issue #343)
Sometimes, when reusing cached data, the DOM part of select2 activation would
be reused, but not the actual activation. Repeated select2 activation would
thus give duplicated DOM entries.
Select2 doeesn't seem to have a good way to unload or redo, so instead just try
to remove the old DOM parts.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Tue, 30 Apr 2019 19:05:16 +0200 |
parents | 451b3f9d814e |
children | bbf7be28a11e |
line wrap: on
line source
#!/usr/bin/env python2 """ Based on kallithea/lib/paster_commands/template.ini.mako, generate development.ini """ import re from kallithea.lib import inifile # files to be generated from the mako template ini_files = [ ('development.ini', { '[server:main]': { 'host': '0.0.0.0', }, '[app:main]': { 'debug': 'true', 'app_instance_uuid': 'development-not-secret', 'beaker.session.secret': 'development-not-secret', }, '[handler_console]': { 'formatter': 'color_formatter', }, '[handler_console_sql]': { 'formatter': 'color_formatter_sql', }, '[logger_routes]': { 'level': 'DEBUG', }, '[logger_beaker]': { 'level': 'DEBUG', }, '[logger_templates]': { 'level': 'INFO', }, '[logger_kallithea]': { 'level': 'DEBUG', }, '[logger_tg]': { 'level': 'DEBUG', }, '[logger_gearbox]': { 'level': 'DEBUG', }, '[logger_whoosh_indexer]': { 'level': 'DEBUG', }, }, ), ] def main(): # make sure all mako lines starting with '#' (the '##' comments) are marked up as <text> makofile = inifile.template_file print 'reading:', makofile mako_org = open(makofile).read() mako_no_text_markup = re.sub(r'</?%text>', '', mako_org) mako_marked_up = re.sub(r'\n(##.*)', r'\n<%text>\1</%text>', mako_no_text_markup, flags=re.MULTILINE) if mako_marked_up != mako_org: print 'writing:', makofile open(makofile, 'w').write(mako_marked_up) # create ini files for fn, settings in ini_files: print 'updating:', fn inifile.create(fn, None, settings) if __name__ == '__main__': main()