##// END OF EJS Templates
i18n: updated translation for Polish...
i18n: updated translation for Polish Currently translated at 56.5% (614 of 1087 strings)

File last commit:

r8069:02c119ae default
r8092:7fef5132 default
Show More
error.py
94 lines | 3.2 KiB | text/x-python | PythonLexer
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187 # -*- coding: utf-8 -*-
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# 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 General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
kallithea.controllers.error
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bradley M. Kuhn
General renaming to Kallithea
r4212 Kallithea error controller
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187
Bradley M. Kuhn
RhodeCode GmbH is not the sole author of this work
r4211 This file was forked by the Kallithea project in July 2014.
Original author and date, and relevant copyright and licensing information is below:
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187 :created_on: Dec 8, 2010
:author: marcink
Bradley M. Kuhn
RhodeCode GmbH is not the sole author of this work
r4211 :copyright: (c) 2013 RhodeCode GmbH, and others.
Bradley M. Kuhn
Correct licensing information in individual files....
r4208 :license: GPLv3, see LICENSE.md for more details.
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187 """
Mads Kiilerich
py3: use html.escape instead of cgi.escape...
r8069 import html
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187 import logging
Mads Kiilerich
scripts: initial run of import cleanup using isort
r7718 from tg import config, expose, request
from tg import tmpl_context as c
Mads Kiilerich
tg: minimize future diff by some mocking and replacing some pylons imports with tg...
r6508 from tg.i18n import ugettext as _
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187
Mads Kiilerich
flake8: fix some F401 '...' imported but unused
r7719 from kallithea.lib.base import BaseController
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187
Mads Kiilerich
scripts: initial run of import cleanup using isort
r7718
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187 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 behavior can be altered by changing the parameters to the
ErrorDocuments middleware in your config/middleware.py file.
"""
Thomas De Schampheleire
controllers: rename __before__ to _before in preparation of TurboGears2...
r6513 def _before(self, *args, **kwargs):
Ronny Pfannschmidt
error controller: pep8 styling
r5030 # disable all base actions since we don't need them here
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187 pass
Alessandro Molina
backend: replace Pylons with TurboGears2...
r6522 @expose('/errors/error_document.html')
def document(self, *args, **kwargs):
resp = request.environ.get('tg.original_response')
Bradley M. Kuhn
Drop rhodecode_ prefix for known setting names that are stored in kallithea_settings without prefix
r4218 c.site_name = config.get('title')
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187
Mads Kiilerich
cleanup: pass log strings unformatted - avoid unnecessary % formatting when not logging
r5375 log.debug('### %s ###', resp and resp.status or 'no response')
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187
e = request.environ
Ronny Pfannschmidt
error controller: pep8 styling
r5030 c.serv_p = r'%(protocol)s://%(host)s/' % {
'protocol': e.get('wsgi.url_scheme'),
'host': e.get('HTTP_HOST'), }
if resp:
Mads Kiilerich
py3: use html.escape instead of cgi.escape...
r8069 c.error_message = html.escape(request.GET.get('code', str(resp.status)))
Ronny Pfannschmidt
error controller: pep8 styling
r5030 c.error_explanation = self.get_error_explanation(resp.status_int)
Mads Kiilerich
error: fix handling of errors without response...
r5034 else:
c.error_message = _('No response')
c.error_explanation = _('Unknown error')
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187
Alessandro Molina
backend: replace Pylons with TurboGears2...
r6522 return dict()
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187
def get_error_explanation(self, code):
""" get the error explanations of int codes
[400, 401, 403, 404, 500]"""
try:
code = int(code)
Mads Kiilerich
cleanup: avoid some 'except Exception' catching - catch specific exceptions or log it and show what happened...
r4733 except ValueError:
Bradley M. Kuhn
Second step in two-part process to rename directories....
r4187 code = 500
if code == 400:
return _('The request could not be understood by the server'
' due to malformed syntax.')
if code == 401:
return _('Unauthorized access to resource')
if code == 403:
return _("You don't have permission to view this page")
if code == 404:
return _('The resource could not be found')
if code == 500:
return _('The server encountered an unexpected condition'
' which prevented it from fulfilling the request.')