1
0
mirror of https://github.com/janeczku/calibre-web synced 2024-11-24 10:37:23 +00:00
This commit is contained in:
Ozzieisaacs 2019-07-21 18:19:07 +02:00
parent 6d43e0422a
commit b9c3a3fcea
3 changed files with 45 additions and 4 deletions

View File

@ -141,6 +141,7 @@ input.pill:not(:checked) + label .glyphicon {
.filterheader { margin-bottom: 20px; }
.errorlink {margin-top: 20px;}
.modal-body .comments {
max-height:300px;
overflow-y: auto;

View File

@ -17,10 +17,34 @@
{% endif %}
</head>
<body>
<div class="text-center">
<h1>{{ error_code }}</h1>
<div class="container-fluid">
<div class="row">
<div class="col">
<h1 class="text-center">{{ error_code }}</h1>
<h3>{{ error_name }}</h3>
</div>
</div>
<div class="row">
<div class="col-md-offset-4 text-left">
{% for element in error_stack %}
<div>{{ element }}</div>
{% endfor %}
</div>
</div>
{% if issue %}
<div class="row">
<div class="col errorlink">Please report this issue with all related information:
<a href="https://github.com/janeczku/calibre-web/issues/new">{{_('Create issue')}}</a>
</div>
</div>
{% endif %}
<div class="row">
<div class="col errorlink">
<a href="{{url_for('web.index')}}" title="{{ _('Back to home') }}">{{_('Back to home')}}</a>
</div>
</div>
</div>
</body>
</html>

View File

@ -27,6 +27,8 @@ import base64
import datetime
import json
import mimetypes
import traceback
import sys
from babel import Locale as LC
from babel.dates import format_date
@ -83,16 +85,30 @@ except ImportError:
# custom error page
def error_http(error):
return render_template('http_error.html',
error_code=error.code,
error_code="Error {0}".format(error.code),
error_name=error.name,
issue=False,
instance=config.config_calibre_web_title
), error.code
def internal_error(error):
__, __, tb = sys.exc_info()
return render_template('http_error.html',
error_code="Internal Server Error",
error_name=str(error),
issue=True,
error_stack=traceback.format_tb(tb),
instance=config.config_calibre_web_title
), 500
# http error handling
for ex in default_exceptions:
# new routine for all client errors, server errors stay
if ex < 500:
app.register_error_handler(ex, error_http)
elif ex == 500:
app.register_error_handler(ex, internal_error)
web = Blueprint('web', __name__)