annotate scripts/generate-ini.py @ 7268:5e7bdf4fb156

hg: refactor annotation to generate a list of normalized annotation lines before iterating This makes it easier to add support for future annotion structures. Temporarily add redundant conditional to preserve formatting and reduce churn.
author Mads Kiilerich <mads@kiilerich.com>
date Fri, 11 May 2018 14:26:48 +0200
parents 52544ad8a946
children 451b3f9d814e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5536
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
1 #!/usr/bin/env python2
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
2 """
6555
213085032127 gearbox: make a make-config sub-command available again
Mads Kiilerich <madski@unity3d.com>
parents: 6377
diff changeset
3 Based on kallithea/lib/paster_commands/template.ini.mako, generate
5536
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
4 development.ini
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
5 kallithea/tests/test.ini
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
6 """
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
7
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
8 import re
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
9
6884
e3cce237d77c ini: extract .ini handling from scripts/generate-ini.py to kallithea/lib/inifile.py
Mads Kiilerich <mads@kiilerich.com>
parents: 6883
diff changeset
10 from kallithea.lib import inifile
e3cce237d77c ini: extract .ini handling from scripts/generate-ini.py to kallithea/lib/inifile.py
Mads Kiilerich <mads@kiilerich.com>
parents: 6883
diff changeset
11
5536
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
12 # files to be generated from the mako template
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
13 ini_files = [
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
14 ('development.ini',
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
15 {
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
16 '[server:main]': {
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
17 'host': '0.0.0.0',
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
18 },
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
19 '[app:main]': {
6573
fc6b1b0e1096 ini: set 'debug' only in one place
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 6555
diff changeset
20 'debug': 'true',
5536
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
21 'app_instance_uuid': 'development-not-secret',
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
22 'beaker.session.secret': 'development-not-secret',
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
23 },
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
24 '[handler_console]': {
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
25 'formatter': 'color_formatter',
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
26 },
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
27 '[handler_console_sql]': {
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
28 'formatter': 'color_formatter_sql',
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
29 },
7193
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
30 '[logger_routes]': {
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
31 'level': 'DEBUG',
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
32 },
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
33 '[logger_beaker]': {
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
34 'level': 'DEBUG',
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
35 },
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
36 '[logger_templates]': {
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
37 'level': 'INFO',
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
38 },
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
39 '[logger_kallithea]': {
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
40 'level': 'DEBUG',
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
41 },
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
42 '[logger_tg]': {
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
43 'level': 'DEBUG',
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
44 },
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
45 '[logger_gearbox]': {
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
46 'level': 'DEBUG',
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
47 },
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
48 '[logger_whoosh_indexer]': {
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
49 'level': 'DEBUG',
150173a027ee ini: set default log level to WARN
domruf <dominikruf@gmail.com>
parents: 6895
diff changeset
50 },
5536
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
51 },
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
52 ),
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
53 ]
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
54
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
55
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
56 def main():
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
57 # make sure all mako lines starting with '#' (the '##' comments) are marked up as <text>
6894
94f6b23e52d0 ini: move high level functionality and defaults to inifiles library
Mads Kiilerich <mads@kiilerich.com>
parents: 6893
diff changeset
58 makofile = inifile.template_file
5536
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
59 print 'reading:', makofile
6860
665dfa112f2c py3: replace "file" with "open"
Lars Kruse <devel@sumpfralle.de>
parents: 6857
diff changeset
60 mako_org = open(makofile).read()
5536
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
61 mako_no_text_markup = re.sub(r'</?%text>', '', mako_org)
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
62 mako_marked_up = re.sub(r'\n(##.*)', r'\n<%text>\1</%text>', mako_no_text_markup, flags=re.MULTILINE)
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
63 if mako_marked_up != mako_org:
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
64 print 'writing:', makofile
6860
665dfa112f2c py3: replace "file" with "open"
Lars Kruse <devel@sumpfralle.de>
parents: 6857
diff changeset
65 open(makofile, 'w').write(mako_marked_up)
5536
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
66
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
67 # create ini files
6893
d06039dc4ca2 ini: drop insertion of header comments in generated ini files
Mads Kiilerich <mads@kiilerich.com>
parents: 6891
diff changeset
68 for fn, settings in ini_files:
5536
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
69 print 'updating:', fn
6894
94f6b23e52d0 ini: move high level functionality and defaults to inifiles library
Mads Kiilerich <mads@kiilerich.com>
parents: 6893
diff changeset
70 inifile.create(fn, None, settings)
94f6b23e52d0 ini: move high level functionality and defaults to inifiles library
Mads Kiilerich <mads@kiilerich.com>
parents: 6893
diff changeset
71
5536
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
72
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
73 if __name__ == '__main__':
06d5c043e989 ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
74 main()