##// END OF EJS Templates
setup.py: support Paste 3.0.x...
setup.py: support Paste 3.0.x In a fresh virtualenv on the stable branch, pastescript 3.0.0 is installed which depends on paste 3.0.x. Using this virtualenv to upgrade to the default branch, using 'pip install --upgrade -e .' fails because on the default branch, the paste version is restricted with '>= 2.0.3, < 3'. Following error occurs: pastescript 3.0.0 has requirement Paste>=3.0, but you'll have paste 2.0.3 which is incompatible. ... Traceback (most recent call last): File "<string>", line 1, in <module> File ".../kallithea/kallithea-release/setup.py", line 160, in <module> """, File "/usr/lib64/python2.7/distutils/core.py", line 151, in setup dist.run_commands() File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands self.run_command(cmd) File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File ".../kallithea/venv/kallithea-release/lib/python2.7/site-packages/setuptools/command/develop.py", line 36, in run self.install_for_development() File ".../kallithea/venv/kallithea-release/lib/python2.7/site-packages/setuptools/command/develop.py", line 117, in install_for_development self.run_command('egg_info') File "/usr/lib64/python2.7/distutils/cmd.py", line 326, in run_command self.distribution.run_command(command) File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File ".../kallithea/venv/kallithea-release/lib/python2.7/site-packages/setuptools/command/egg_info.py", line 270, in run ep.require(installer=installer) File ".../kallithea/venv/kallithea-release/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2307, in require items = working_set.resolve(reqs, env, installer) File ".../kallithea/venv/kallithea-release/lib/python2.7/site-packages/pkg_resources/__init__.py", line 854, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.VersionConflict: (Paste 2.0.3 (.../kallithea/venv/kallithea-release/lib/python2.7/site-packages), Requirement.parse('Paste>=3.0')) The '< 3' restriction is introduced with commit e1ab826131334150b1f003e26de3207c34fc6e67 in January 2017, at which point 2.0.3 was the latest version. Version 3.0.0 was introduced in October 2018. Paste has a new maintainer and moved to github, after years of inactivity (March 2016 -> Oct 2018). There have AFAICS not been incompatible changes. This analysis is based on: - the news file: https://pythonpaste.readthedocs.io/en/latest/news.html - the commit message of the 3.0.0 release: (https://github.com/cdent/paste/commit/9ceef07267ba83ea5c00533f85f9edf9ba38cd71) "This is for the sake of getting something out there, including fixes to get stuff working with Python 3.7." - and a walk through the commits since 2.0.3 on github (https://github.com/cdent/paste/commits/master).

File last commit:

r7311:451b3f9d default
r7418:e7d63736 default
Show More
generate-ini.py
72 lines | 2.0 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
docs: update i18n doc after TG migration changed lang to i18n.lang and test.ini is generated...
r7311 Based on kallithea/lib/paster_commands/template.ini.mako, generate development.ini
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
r5536 """
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]': {
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',
},
domruf
ini: set default log level to WARN...
r7118 '[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',
},
Mads Kiilerich
ini: add scripts/generate-ini.py for generating all .ini files from template.ini.mako...
r5536 },
),
]
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()