Files @ bec4bc21f845
Branch filter:

Location: kallithea/scripts/generate-ini.py

Thomas De Schampheleire
setup.py: bump Pygments minimum version to 2.2.0

With pygments < 2.2.0, the markup_renderer doctest fails:

> python -m doctest kallithea/lib/markup_renderer.py
**********************************************************************
File "kallithea/lib/markup_renderer.py", line 184, in markup_renderer.MarkupRenderer.markdown
Failed example:
print MarkupRenderer.markdown('''
#!/bin/bash
echo "hello"
''')
Expected:
<table class="code-highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2</pre></div></td><td class="code"><div class="code-highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
<span class="nb">echo</span> <span class="s2">&quot;hello&quot;</span>
</pre></div>
</td></tr></table>
Got:
<table class="code-highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2</pre></div></td><td class="code"><div class="code-highlight"><pre><span class="ch">#!/bin/bash</span>
<span class="nb">echo</span> <span class="s2">&quot;hello&quot;</span>
</pre></div>
</td></tr></table>
**********************************************************************


To avoid having to manage multiple outputs from multiple versions, just bump
the lower version.

pygments 2.2.0 was released on Jan 22, 2017.
#!/usr/bin/env python2
"""
Based on kallithea/lib/paster_commands/template.ini.mako, generate development.ini
"""

from __future__ import print_function

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',
                'session.secret': 'development-not-secret',
            },
            '[logger_root]': {
                'handlers': 'console_color',
            },
            '[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()