Files
@ d06039dc4ca2
Branch filter:
Location: kallithea/scripts/generate-ini.py - annotation
d06039dc4ca2
2.7 KiB
text/x-python
ini: drop insertion of header comments in generated ini files
The header comments were kind of redundant and could easily get out of sync.
Also, we are moving towards just generating files and don't need this and don't
want to maintain it.
The header comments were kind of redundant and could easily get out of sync.
Also, we are moving towards just generating files and don't need this and don't
want to maintain it.
06d5c043e989 06d5c043e989 213085032127 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 e3cce237d77c e3cce237d77c 213085032127 06d5c043e989 06d5c043e989 06d5c043e989 73934760f601 73934760f601 06d5c043e989 06d5c043e989 7292c5976752 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 b1fc5a98952c b1fc5a98952c 06d5c043e989 b1fc5a98952c b1fc5a98952c b1fc5a98952c b1fc5a98952c b1fc5a98952c b1fc5a98952c 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 fc6b1b0e1096 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 665dfa112f2c 06d5c043e989 06d5c043e989 06d5c043e989 06d5c043e989 665dfa112f2c 06d5c043e989 06d5c043e989 d06039dc4ca2 06d5c043e989 d06039dc4ca2 665dfa112f2c 06d5c043e989 06d5c043e989 06d5c043e989 | #!/usr/bin/env python2
"""
Based on kallithea/lib/paster_commands/template.ini.mako, generate
development.ini
kallithea/tests/test.ini
"""
import re
from kallithea.lib import inifile
makofile = 'kallithea/lib/paster_commands/template.ini.mako'
# the mako variables used in all other ini files and templates
mako_variable_values = {
'database_engine': 'sqlite',
'http_server': 'waitress',
'host': '127.0.0.1',
'port': '5000',
'uuid': lambda: 'VERY-SECRET',
}
# files to be generated from the mako template
ini_files = [
('kallithea/tests/test.ini',
{
'[server:main]': {
'port': '4999',
},
'[app:main]': {
'app_instance_uuid': 'test',
'show_revision_number': 'true',
'beaker.cache.sql_cache_short.expire': '1',
'beaker.session.secret': '{74e0cd75-b339-478b-b129-07dd221def1f}',
},
'[handler_console]': {
'formatter': 'color_formatter',
},
# The 'handler_console_sql' block is very similar to the one in
# development.ini, but without the explicit 'level=DEBUG' setting:
# it causes duplicate sqlalchemy debug logs, one through
# handler_console_sql and another through another path.
'[handler_console_sql]': {
'formatter': 'color_formatter_sql',
},
},
),
('development.ini',
{
'[server:main]': {
'host': '0.0.0.0',
},
'[app:main]': {
'initial_repo_scan': 'true',
'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',
},
},
),
]
def main():
# make sure all mako lines starting with '#' (the '##' comments) are marked up as <text>
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
ini_lines = inifile.expand(mako_marked_up, mako_variable_values, settings)
open(fn, 'w').write(ini_lines)
if __name__ == '__main__':
main()
|