aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Taylor <user234683@users.noreply.github.com>2020-10-20 18:24:41 -0700
committerJames Taylor <user234683@users.noreply.github.com>2020-10-20 18:24:41 -0700
commitc696db3e84d91092182adbeb7eef6126fad6be5d (patch)
tree7ac3af26887bc5350c9e2b20a65f86ffeed1a556
parent95f2f027eabdcc4dc3c1a77829bf2bf503ed2939 (diff)
downloadyt-local-c696db3e84d91092182adbeb7eef6126fad6be5d.tar.lz
yt-local-c696db3e84d91092182adbeb7eef6126fad6be5d.tar.xz
yt-local-c696db3e84d91092182adbeb7eef6126fad6be5d.zip
comments.js: include error in reply html rather than using an alert
-rw-r--r--youtube/__init__.py6
-rw-r--r--youtube/static/js/common.js4
-rw-r--r--youtube/templates/error.html27
-rw-r--r--youtube/templates/shared.css23
4 files changed, 31 insertions, 29 deletions
diff --git a/youtube/__init__.py b/youtube/__init__.py
index 70ed5b2..61039d3 100644
--- a/youtube/__init__.py
+++ b/youtube/__init__.py
@@ -1,5 +1,6 @@
from youtube import util
import flask
+from flask import request
import settings
import traceback
import re
@@ -55,6 +56,7 @@ def timestamps(text):
@yt_app.errorhandler(500)
def error_page(e):
+ slim = request.args.get('slim', False) # whether it was an ajax request
if (exc_info()[0] == util.FetchError
and exc_info()[1].code == '429'
and settings.route_tor
@@ -64,8 +66,8 @@ def error_page(e):
' using the New Identity button in the Tor Browser.')
if exc_info()[1].ip:
error_message += ' Exit node IP address: ' + exc_info()[1].ip
- return flask.render_template('error.html', error_message=error_message), 502
- return flask.render_template('error.html', traceback=traceback.format_exc()), 500
+ return flask.render_template('error.html', error_message=error_message, slim=slim), 502
+ return flask.render_template('error.html', traceback=traceback.format_exc(), slim=slim), 500
font_choices = {
0: 'initial',
diff --git a/youtube/static/js/common.js b/youtube/static/js/common.js
index 2db4390..20cfddd 100644
--- a/youtube/static/js/common.js
+++ b/youtube/static/js/common.js
@@ -41,9 +41,7 @@ function doXhr(url, callback=null) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.onload = (e) => {
- let ok = xhr.status >= 200 && xhr.status < 300;
- if (ok) callback(e.currentTarget.response);
- else alert(`${xhr.responseURL} status code: ${xhr.status}`);
+ callback(e.currentTarget.response);
}
xhr.send();
return xhr;
diff --git a/youtube/templates/error.html b/youtube/templates/error.html
index 2f94afa..c3f58b0 100644
--- a/youtube/templates/error.html
+++ b/youtube/templates/error.html
@@ -1,29 +1,8 @@
{% set page_title = 'Error' %}
-{% extends "base.html" %}
-{% block style %}
- h1{
- font-size: 2rem;
- font-weight: normal;
- }
- #error-box, #error-message{
- background-color: var(--interface-color);
- width: 80%;
- margin: auto;
- margin-top: 20px;
- padding: 5px;
- }
- #error-box > div, #error-box > p, #error-box > h1{
- white-space: pre-wrap;
- margin-bottom: 10px;
- }
- .code-box{
- padding: 5px;
- border-style:solid;
- border-width:1px;
- border-radius:5px;
- }
-{% endblock style %}
+{% if not slim %}
+ {% extends "base.html" %}
+{% endif %}
{% block main %}
{% if traceback %}
diff --git a/youtube/templates/shared.css b/youtube/templates/shared.css
index 141465a..8aaa706 100644
--- a/youtube/templates/shared.css
+++ b/youtube/templates/shared.css
@@ -334,3 +334,26 @@ body{
padding: 2px;
justify-self: start;
}
+
+/* error page stuff */
+h1{
+ font-size: 2rem;
+ font-weight: normal;
+}
+#error-box, #error-message{
+ background-color: var(--interface-color);
+ width: 80%;
+ margin: auto;
+ margin-top: 20px;
+ padding: 5px;
+}
+#error-box > div, #error-box > p, #error-box > h1{
+ white-space: pre-wrap;
+ margin-bottom: 10px;
+}
+.code-box{
+ padding: 5px;
+ border-style:solid;
+ border-width:1px;
+ border-radius:5px;
+}