generate-ini.py
54 lines
| 1.5 KiB
| text/x-python
|
PythonLexer
/ scripts / generate-ini.py
Mads Kiilerich
|
r5536 | #!/usr/bin/env python2 | ||
""" | ||||
Mads Kiilerich
|
r6510 | Based on kallithea/lib/paster_commands/template.ini.mako, generate | ||
Mads Kiilerich
|
r5536 | development.ini | ||
kallithea/tests/test.ini | ||||
""" | ||||
import re | ||||
Mads Kiilerich
|
r6809 | from kallithea.lib import inifile | ||
Mads Kiilerich
|
r5536 | # files to be generated from the mako template | ||
ini_files = [ | ||||
('development.ini', | ||||
{ | ||||
'[server:main]': { | ||||
'host': '0.0.0.0', | ||||
}, | ||||
'[app:main]': { | ||||
'initial_repo_scan': 'true', | ||||
Thomas De Schampheleire
|
r6526 | 'debug': 'true', | ||
Mads Kiilerich
|
r5536 | '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> | ||||
Mads Kiilerich
|
r6819 | makofile = inifile.template_file | ||
Mads Kiilerich
|
r5536 | print 'reading:', makofile | ||
Lars Kruse
|
r6785 | mako_org = open(makofile).read() | ||
Mads Kiilerich
|
r5536 | 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 | ||||
Lars Kruse
|
r6785 | open(makofile, 'w').write(mako_marked_up) | ||
Mads Kiilerich
|
r5536 | |||
# create ini files | ||||
Mads Kiilerich
|
r6818 | for fn, settings in ini_files: | ||
Mads Kiilerich
|
r5536 | print 'updating:', fn | ||
Mads Kiilerich
|
r6819 | inifile.create(fn, None, settings) | ||
Mads Kiilerich
|
r5536 | |||
if __name__ == '__main__': | ||||
main() | ||||