Changeset - 91ba8489119a
[Not reviewed]
default
0 1 0
Marcin Kuzminski - 15 years ago 2010-06-29 13:16:51
marcin@python-works.com
another small fix for error controller
1 file changed with 2 insertions and 0 deletions:
0 comments (0 inline, 0 general)
pylons_app/controllers/error.py
Show inline comments
 
import logging
 
import cgi
 
import os
 
import paste.fileapp
 
from pylons import tmpl_context as c, app_globals as g, request, config
 
from pylons.controllers.util import forward
 
from pylons.i18n.translation import _
 
from pylons_app.lib.base import BaseController, render
 
from pylons.middleware import  media_path
 
from pylons_app.lib.utils import check_repo
 
import pylons_app.lib.helpers as h
 
from pylons_app import __version__
 
log = logging.getLogger(__name__)
 

	
 
class ErrorController(BaseController):
 
    """
 
    Generates error documents as and when they are required.
 

	
 
    The ErrorDocuments middleware forwards to ErrorController when error
 
    related status codes are returned from the application.
 

	
 
    This behaviour can be altered by changing the parameters to the
 
    ErrorDocuments middleware in your config/middleware.py file.
 
    """
 
@@ -29,24 +30,25 @@ class ErrorController(BaseController):
 
        
 
        log.debug('### %s ###', resp.status)
 

	
 
        e = request.environ
 
        c.serv_p = r'%(protocol)s://%(host)s/' % {
 
                                                'protocol': e.get('wsgi.url_scheme'),
 
                                                'host':e.get('HTTP_HOST'),
 
                                                }
 

	
 
        if resp.status_int == 404:
 
            org_e = request.environ.get('pylons.original_request').environ
 
            c.repo_name = repo_name = org_e['PATH_INFO'].split('/')[1]
 
            c.hg_app_version = __version__
 
            c.repo_name_cleaned = h.repo_name_slug(c.repo_name)
 
            if check_repo(repo_name, g.base_path):
 
                return render('/errors/error_404.html')
 
                
 
        c.error_message = cgi.escape(request.GET.get('code', str(resp.status)))
 
        c.error_explanation = self.get_error_explanation(resp.status_int)
 

	
 
        #redirect to when error with given seconds
 
        c.redirect_time = 0
 
        c.redirect_module = _('Home page')# name to what your going to be redirected
 
        c.url_redirect = "/"
 

	
0 comments (0 inline, 0 general)