diff options
| author | Adam Tauber <asciimoo@gmail.com> | 2016-11-14 22:07:23 +0100 |
|---|---|---|
| committer | Adam Tauber <asciimoo@gmail.com> | 2016-11-14 22:07:23 +0100 |
| commit | 832cf37a97b97061a26e2fdf49c293d26e917ef5 (patch) | |
| tree | 6d56fe467239d0e93f450f4e5fbf07df10739d16 /searx/webapp.py | |
| parent | 88dfee858e93e54ad6e54801f88b93bfdc2bb149 (diff) | |
[enh] display errors
also tried flask's flash feature but flask creates session cookies if it
isn't flushed. Avoiding session cookies to preserve privacy
Diffstat (limited to 'searx/webapp.py')
| -rw-r--r-- | searx/webapp.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/searx/webapp.py b/searx/webapp.py index 7d5adaf07..68902a6cd 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -344,6 +344,8 @@ def render(template_name, override_theme=None, **kwargs): kwargs['cookies'] = request.cookies + kwargs['errors'] = request.errors + kwargs['instance_name'] = settings['general']['instance_name'] kwargs['results_on_new_tab'] = request.preferences.get_value('results_on_new_tab') @@ -364,15 +366,16 @@ def render(template_name, override_theme=None, **kwargs): @app.before_request def pre_request(): - # merge GET, POST vars + request.errors = [] + preferences = Preferences(themes, categories.keys(), engines, plugins) try: preferences.parse_cookies(request.cookies) except: - # TODO throw error message to the user - logger.warning('Invalid config') + request.errors.append(gettext('Invalid settings, please edit your preferences')) request.preferences = preferences + # merge GET, POST vars # request.form request.form = dict(request.form.items()) for k, v in request.args.items(): @@ -397,7 +400,7 @@ def index(): Supported outputs: html, json, csv, rss. """ - if not request.args and not request.form: + if request.form.get('q') is None: return render( 'index.html', ) @@ -410,7 +413,8 @@ def index(): # search = Search(search_query) # without plugins search = SearchWithPlugins(search_query, request) result_container = search.search() - except Exception: + except: + request.errors.append(gettext('search error')) logger.exception('search error') return render( 'index.html', @@ -573,7 +577,7 @@ def preferences(): try: request.preferences.parse_form(request.form) except ValidationException: - # TODO use flash feature of flask + request.errors.append(gettext('Invalid settings, please edit your preferences')) return resp return request.preferences.save(resp) |