##// END OF EJS Templates
routing: use a common method to extract the f_path for repo views....
routing: use a common method to extract the f_path for repo views. The extra slashes can cause odd issues with GIT, the previous pylons code had a fix in routing. This ports this fix into pyramid helper in base app.

File last commit:

r1903:982ccdbd default
r1929:0c7b3df6 default
Show More
tweens.py
68 lines | 2.5 KiB | text/x-python | PythonLexer
project: added all source files and assets
r1 # -*- coding: utf-8 -*-
license: updated copyright year to 2017
r1271 # Copyright (C) 2010-2017 RhodeCode GmbH
project: added all source files and assets
r1 #
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License, version 3
# (only), as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This program is dual-licensed. If you wish to learn more about the
# RhodeCode Enterprise Edition, including its added features, Support services,
# and proprietary license terms, please see https://rhodecode.com/licenses/
import logging
vcs: do an early detection of vcs-type request....
r1297 from rhodecode.lib.middleware.vcs import (
detect_vcs_request, VCS_TYPE_KEY, VCS_TYPE_SKIP)
project: added all source files and assets
r1
vcs: do an early detection of vcs-type request....
r1297
project: added all source files and assets
r1 log = logging.getLogger(__name__)
core: use proper event to bootstrap pylons env....
r1309 def vcs_detection_tween_factory(handler, registry):
vcs: do an early detection of vcs-type request....
r1297
core: use proper event to bootstrap pylons env....
r1309 def vcs_detection_tween(request):
project: added all source files and assets
r1 """
core: use proper event to bootstrap pylons env....
r1309 Do detection of vcs type, and save results for other layers to re-use
this information
project: added all source files and assets
r1 """
vcs: do an early detection of vcs-type request....
r1297
vcs_handler = detect_vcs_request(
request.environ, request.registry.settings.get('vcs.backends'))
if vcs_handler:
code: added more logging, and some notes
r1300 # save detected VCS type for later re-use
vcs: do an early detection of vcs-type request....
r1297 request.environ[VCS_TYPE_KEY] = vcs_handler.SCM
core: use proper event to bootstrap pylons env....
r1309 request.vcs_call = vcs_handler.SCM
vcs: do an early detection of vcs-type request....
r1297 return handler(request)
code: added more logging, and some notes
r1300 # mark that we didn't detect an VCS, and we can skip detection later on
vcs: do an early detection of vcs-type request....
r1297 request.environ[VCS_TYPE_KEY] = VCS_TYPE_SKIP
project: added all source files and assets
r1
dan
db: move Session.remove to outer wsgi layer and also add it...
r669 return handler(request)
project: added all source files and assets
r1
core: use proper event to bootstrap pylons env....
r1309 return vcs_detection_tween
project: added all source files and assets
r1
def includeme(config):
config.add_subscriber('rhodecode.subscribers.add_renderer_globals',
'pyramid.events.BeforeRender')
i18n: use consistent way of setting user language.
r1307 config.add_subscriber('rhodecode.subscribers.set_user_lang',
'pyramid.events.NewRequest')
project: added all source files and assets
r1 config.add_subscriber('rhodecode.subscribers.add_localizer',
'pyramid.events.NewRequest')
pyramid: moved extraction of user into a seperate subscriber.
r1903 config.add_subscriber('rhodecode.subscribers.add_request_user_context',
'pyramid.events.ContextFound')
core: use proper event to bootstrap pylons env....
r1309 config.add_subscriber('rhodecode.subscribers.add_pylons_context',
'pyramid.events.ContextFound')
config.add_tween('rhodecode.tweens.vcs_detection_tween_factory')