diff options
Diffstat (limited to 'youtube/__init__.py')
| -rw-r--r-- | youtube/__init__.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/youtube/__init__.py b/youtube/__init__.py index d52ea98..a8a725d 100644 --- a/youtube/__init__.py +++ b/youtube/__init__.py @@ -137,9 +137,22 @@ def error_page(e): error_message += '\n\nExit node IP address: ' + exc_info()[1].ip return flask.render_template('error.html', error_message=error_message, slim=slim), 502 elif exc_info()[0] == util.FetchError and exc_info()[1].error_message: + # Handle specific error codes with user-friendly messages + error_code = exc_info()[1].code + error_msg = exc_info()[1].error_message + + if error_code == '400': + error_message = (f'Error: Bad Request (400)\n\n{error_msg}\n\n' + 'This usually means the URL or parameters are invalid. ' + 'Try going back and trying a different option.') + elif error_code == '404': + error_message = 'Error: The page you are looking for isn\'t here.' + else: + error_message = f'Error: {error_code} - {error_msg}' + return (flask.render_template( 'error.html', - error_message=exc_info()[1].error_message, + error_message=error_message, slim=slim ), 502) elif (exc_info()[0] == util.FetchError |
