コード例 #1
0
ファイル: __init__.py プロジェクト: saadmk11/rtd-test
def server_error_404(request, exception=None, template_name='404.html'):  # pylint: disable=unused-argument  # noqa
    """
    A simple 404 handler so we get media.

    .. note::

        Marking exception as optional to make /404/ testing page to work.
    """
    response = get_redirect_response(request, full_path=request.get_full_path())

    # Return a redirect response if there is one
    if response:
        if response.url == request.build_absolute_uri():
            # check that we do have a response and avoid infinite redirect
            log.warning(
                'Infinite Redirect: FROM URL is the same than TO URL. url=%s',
                response.url,
            )
        else:
            return response

    # Try to serve custom 404 pages if it's a subdomain/cname
    if getattr(request, 'subdomain', False) or getattr(request, 'cname', False):
        return server_error_404_subdomain(request, template_name)

    # Return the default 404 page generated by Read the Docs
    r = render(request, template_name)
    r.status_code = 404
    return r
コード例 #2
0
def server_error_404(request, exception=None, template_name='404.html'):  # pylint: disable=unused-argument  # noqa
    """
    A simple 404 handler so we get media.

    .. note::

        Marking exception as optional to make /404/ testing page to work.
    """
    response = get_redirect_response(request, full_path=request.get_full_path())

    # Return a redirect response if there is one
    if response:
        if response.url == request.build_absolute_uri():
            # check that we do have a response and avoid infinite redirect
            log.warning(
                'Infinite Redirect: FROM URL is the same than TO URL. url=%s',
                response.url,
            )
        else:
            return response

    # Try to serve custom 404 pages if it's a subdomain/cname
    if getattr(request, 'subdomain', False) or getattr(request, 'cname', False):
        return server_error_404_subdomain(request, template_name)

    # Return the default 404 page generated by Read the Docs
    r = render(request, template_name)
    r.status_code = 404
    return r
コード例 #3
0
ファイル: __init__.py プロジェクト: y1n/readthedocs.org
def server_error_404(request, exception, template_name='404.html'):  # pylint: disable=unused-argument  # noqa
    """A simple 404 handler so we get media."""
    response = get_redirect_response(request, path=request.get_full_path())
    if response:
        return response
    r = render(request, template_name)
    r.status_code = 404
    return r
コード例 #4
0
def server_error_404(request, exception, template_name='404.html'):  # pylint: disable=unused-argument  # noqa
    """A simple 404 handler so we get media."""
    response = get_redirect_response(request, path=request.get_full_path())
    if response:
        return response
    r = render(request, template_name)
    r.status_code = 404
    return r
コード例 #5
0
def server_error_404(request, template_name='404.html'):
    """A simple 404 handler so we get media"""
    response = get_redirect_response(request, path=request.get_full_path())
    if response:
        return response
    r = render_to_response(template_name,
                           context_instance=RequestContext(request))
    r.status_code = 404
    return r
コード例 #6
0
ファイル: __init__.py プロジェクト: lukegb/readthedocs.org
def server_error_404(request, template_name='404.html'):
    """A simple 404 handler so we get media"""
    response = get_redirect_response(request, path=request.get_full_path())
    if response:
        return response
    r = render_to_response(template_name,
                           context_instance=RequestContext(request))
    r.status_code = 404
    return r
コード例 #7
0
ファイル: views.py プロジェクト: wxnacy/readthedocs.org
def promo_404(request, template_name='donate/promo_404.html', **__):
    """A simple 404 handler so we get media"""
    promo_dict = _add_promo_data(display_type='error')
    response = get_redirect_response(request, path=request.get_full_path())
    if response:
        return response
    r = render_to_response(template_name,
                           context_instance=RequestContext(request),
                           context={
                               'promo_data': promo_dict,
                           })
    r.status_code = 404
    return r
コード例 #8
0
ファイル: views.py プロジェクト: charlie-wong/readthedocs.org
def promo_404(request, template_name='donate/promo_404.html', **__):
    """A simple 404 handler so we get media"""
    promo_dict = _add_promo_data(display_type='error')
    response = get_redirect_response(request, path=request.get_full_path())
    if response:
        return response
    r = render_to_response(template_name,
                           context_instance=RequestContext(request),
                           context={
                               'promo_data': promo_dict,
                           })
    r.status_code = 404
    return r
コード例 #9
0
def server_error_404(request, exception=None, template_name='404.html'):  # pylint: disable=unused-argument  # noqa
    """
    A simple 404 handler so we get media.

    .. note::

        Marking exception as optional to make /404/ testing page to work.
    """
    response = get_redirect_response(request, path=request.get_full_path())
    if response:
        return response
    r = render(request, template_name)
    r.status_code = 404
    return r
コード例 #10
0
ファイル: __init__.py プロジェクト: zjsxwc/readthedocs.org
def server_error_404(request, exception=None, template_name='404.html'):  # pylint: disable=unused-argument  # noqa
    """
    A simple 404 handler so we get media.

    .. note::

        Marking exception as optional to make /404/ testing page to work.
    """
    response = get_redirect_response(request, path=request.get_full_path())
    if response:
        return response
    r = render(request, template_name)
    r.status_code = 404
    return r
コード例 #11
0
ファイル: views.py プロジェクト: digideskio/readthedocs.org
def server_helpful_404(
        request, project_slug=None, lang_slug=None, version_slug=None,
        filename=None, template_name='404.html'):
    response = get_redirect_response(request, path=filename)
    if response:
        return response
    pagename = re.sub(
        r'/index$', r'', re.sub(r'\.html$', r'', re.sub(r'/$', r'', filename)))
    suggestion = get_suggestion(
        project_slug, lang_slug, version_slug, pagename, request.user)
    r = render_to_response(template_name,
                           {'suggestion': suggestion},
                           context_instance=RequestContext(request))
    r.status_code = 404
    return r
コード例 #12
0
def server_helpful_404(
        request, project_slug=None, lang_slug=None, version_slug=None,
        filename=None, template_name='404.html'):
    response = get_redirect_response(request, path=filename)
    if response:
        return response
    pagename = re.sub(
        r'/index$', r'', re.sub(r'\.html$', r'', re.sub(r'/$', r'', filename)))
    suggestion = get_suggestion(
        project_slug, lang_slug, version_slug, pagename, request.user)
    r = render_to_response(template_name,
                           {'suggestion': suggestion},
                           context_instance=RequestContext(request))
    r.status_code = 404
    return r
コード例 #13
0
def server_error_404(request, exception=None, template_name='404.html'):  # pylint: disable=unused-argument  # noqa
    """
    A simple 404 handler so we get media.

    .. note::

        Marking exception as optional to make /404/ testing page to work.
    """
    response = get_redirect_response(request, path=request.get_full_path())

    if response:
        if response.url == request.build_absolute_uri():
            # check that we do have a response and avoid infinite redirect
            log.warning(
                'Infinite Redirect: FROM URL is the same than TO URL. url=%s',
                response.url,
            )
        else:
            return response
    r = render(request, template_name)
    r.status_code = 404
    return r