##// END OF EJS Templates
ini: only keep default value as comment if the custom value actually is different
ini: only keep default value as comment if the custom value actually is different

File last commit:

r6820:163d1c4f default
r7117:06ae370f default
Show More
generate-ini.py
54 lines | 1.5 KiB | text/x-python | PythonLexer
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
r5536 #!/usr/bin/env python2
"""
Mads Kiilerich
gearbox: make a make-config sub-command available again...
r6510 Based on kallithea/lib/paster_commands/template.ini.mako, generate
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
r5536 development.ini
kallithea/tests/test.ini
"""
import re
Mads Kiilerich
ini: extract .ini handling from scripts/generate-ini.py to kallithea/lib/inifile.py...
r6809 from kallithea.lib import inifile
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
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
ini: set 'debug' only in one place...
r6526 'debug': 'true',
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
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
ini: move high level functionality and defaults to inifiles library
r6819 makofile = inifile.template_file
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
r5536 print 'reading:', makofile
Lars Kruse
py3: replace "file" with "open"
r6785 mako_org = open(makofile).read()
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
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
py3: replace "file" with "open"
r6785 open(makofile, 'w').write(mako_marked_up)
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
r5536
# create ini files
Mads Kiilerich
ini: drop insertion of header comments in generated ini files...
r6818 for fn, settings in ini_files:
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
r5536 print 'updating:', fn
Mads Kiilerich
ini: move high level functionality and defaults to inifiles library
r6819 inifile.create(fn, None, settings)
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
r5536
if __name__ == '__main__':
main()