Files
@ d68b77e4e4ab
Branch filter:
Location: kallithea/setup.cfg - annotation
d68b77e4e4ab
726 B
text/x-ini
tg2: move routing mapper initialization from RootController class definition time to instantiation time
Things happened to work before, despite unfortunate code executation at import
time. TurboGears 2.4 changed something, so actual serving works, but pytest
fails with:
collecting ...
...
data/env/lib/python2.7/site-packages/_pytest/config/__init__.py:463: in _importconftest
raise ConftestImportFailure(conftestpath, sys.exc_info())
E ConftestImportFailure: (local('.../kallithea/tests/conftest.py'), (<type 'exceptions.KeyError'>, KeyError('paths',), <traceback object at 0x7fb6679030e0>))
or more useful, if raising the real exception instead of obfuscating with ConftestImportFailure:
...
kallithea/tests/conftest.py:15: in <module>
from kallithea.controllers.root import RootController
kallithea/controllers/root.py:29: in <module>
class RootController(RoutedController, BaseController):
kallithea/controllers/root.py:31: in RootController
mapper = make_map(config)
kallithea/config/routing.py:32: in make_map
rmap = Mapper(directory=config['paths']['controllers'],
data/env/lib/python2.7/site-packages/tg/configuration/tgconfig.py:28: in __getitem__
return self.config_proxy.current_conf()[key]
E KeyError: 'paths'
_importconftest <_pytest.config.PytestPluginManager object at 0x7f20c770a3d0> .../conftest.py
In this example, in RootController, the global config object is at this time just:
{'debug': False, 'package': None, 'i18n.lang': None, 'tg.strict_tmpl_context': True, 'tg.app_globals': None}
Solved by moving the mapper initialization to __init__.
Things happened to work before, despite unfortunate code executation at import
time. TurboGears 2.4 changed something, so actual serving works, but pytest
fails with:
collecting ...
...
data/env/lib/python2.7/site-packages/_pytest/config/__init__.py:463: in _importconftest
raise ConftestImportFailure(conftestpath, sys.exc_info())
E ConftestImportFailure: (local('.../kallithea/tests/conftest.py'), (<type 'exceptions.KeyError'>, KeyError('paths',), <traceback object at 0x7fb6679030e0>))
or more useful, if raising the real exception instead of obfuscating with ConftestImportFailure:
...
kallithea/tests/conftest.py:15: in <module>
from kallithea.controllers.root import RootController
kallithea/controllers/root.py:29: in <module>
class RootController(RoutedController, BaseController):
kallithea/controllers/root.py:31: in RootController
mapper = make_map(config)
kallithea/config/routing.py:32: in make_map
rmap = Mapper(directory=config['paths']['controllers'],
data/env/lib/python2.7/site-packages/tg/configuration/tgconfig.py:28: in __getitem__
return self.config_proxy.current_conf()[key]
E KeyError: 'paths'
_importconftest <_pytest.config.PytestPluginManager object at 0x7f20c770a3d0> .../conftest.py
In this example, in RootController, the global config object is at this time just:
{'debug': False, 'package': None, 'i18n.lang': None, 'tg.strict_tmpl_context': True, 'tg.app_globals': None}
Solved by moving the mapper initialization to __init__.
564e40829f80 1949ece749ce acaa02179aeb acaa02179aeb 564e40829f80 d88077fae3d6 d88077fae3d6 8c1258f69892 564e40829f80 7e5f8c12a3fc 7e5f8c12a3fc 564e40829f80 564e40829f80 564e40829f80 564e40829f80 7e5f8c12a3fc 10df28cbcce7 ad38f9f93b3b 3483de9d11e5 564e40829f80 564e40829f80 7e5f8c12a3fc 7e5f8c12a3fc 7e5f8c12a3fc 564e40829f80 564e40829f80 7e5f8c12a3fc 7e5f8c12a3fc 7e5f8c12a3fc 564e40829f80 0a48c1ec04fc 0a48c1ec04fc 0a48c1ec04fc acaa02179aeb acaa02179aeb 0a48c1ec04fc 0a48c1ec04fc 3483de9d11e5 | [egg_info]
tag_build =
tag_svn_revision = 0
tag_date = 0
[aliases]
test = pytest
[compile_catalog]
domain = kallithea
directory = kallithea/i18n
statistics = true
[extract_messages]
add_comments = TRANSLATORS:
output_file = kallithea/i18n/kallithea.pot
msgid-bugs-address = translations@kallithea-scm.org
copyright-holder = Various authors, licensing as GPLv3
no-wrap = true
[init_catalog]
domain = kallithea
input_file = kallithea/i18n/kallithea.pot
output_dir = kallithea/i18n
[update_catalog]
domain = kallithea
input_file = kallithea/i18n/kallithea.pot
output_dir = kallithea/i18n
previous = true
[build_sphinx]
source-dir = docs/
build-dir = docs/_build
all_files = 1
[upload_sphinx]
upload-dir = docs/_build/html
|