logo

searx

My custom branche(s) on searx, a meta-search engine git clone https://hacktivis.me/git/searx.git
commit: 32e98967b76df8088a5759c90650ae65808932bc
parent 879bac8adb181593989a132fabd607f50096473a
Author: Matej Cotman <cotman.matej@gmail.com>
Date:   Sat, 29 Mar 2014 16:45:22 +0100

add optional request with GET method for search and results pages

Diffstat:

Msearx/templates/preferences.html9+++++++++
Msearx/templates/results.html8++++----
Msearx/templates/search.html2+-
Msearx/webapp.py7+++++++
4 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/searx/templates/preferences.html b/searx/templates/preferences.html @@ -44,6 +44,15 @@ </p> </fieldset> <fieldset> + <legend>{{ _('Method') }}</legend> + <p> + <select name='method'> + <option value="POST" {% if method == 'POST' %}selected="selected"{% endif %}>POST</option> + <option value="GET" {% if method == 'GET' %}selected="selected"{% endif %}>GET</option> + </select> + </p> + </fieldset> + <fieldset> <legend>{{ _('Currently used search engines') }}</legend> <table> diff --git a/searx/templates/results.html b/searx/templates/results.html @@ -10,7 +10,7 @@ {% if suggestions %} <div id="suggestions"><span>{{ _('Suggestions') }}</span> {% for suggestion in suggestions %} - <form method="post" action="{{ url_for('index') }}"> + <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}"> <input type="hidden" name="q" value="{{ suggestion }}"> <input type="submit" value="{{ suggestion }}" /> </form> @@ -25,7 +25,7 @@ <div id="apis"> {{ _('Download results') }} {% for output_type in ('csv', 'json', 'rss') %} - <form method="post" action="{{ url_for('index') }}"> + <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}"> <div class="left"> <input type="hidden" name="q" value="{{ q }}" /> <input type="hidden" name="format" value="{{ output_type }}" /> @@ -52,7 +52,7 @@ {% if paging %} <div id="pagination"> {% if pageno > 1 %} - <form method="post" action="{{ url_for('index') }}"> + <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}"> <div class="left"> <input type="hidden" name="q" value="{{ q }}" /> {% for category in selected_categories %} @@ -63,7 +63,7 @@ </div> </form> {% endif %} - <form method="post" action="{{ url_for('index') }}"> + <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}"> <div class="left"> {% for category in selected_categories %} <input type="hidden" name="category_{{ category }}" value="1"/> diff --git a/searx/templates/search.html b/searx/templates/search.html @@ -1,4 +1,4 @@ -<form method="post" action="{{ url_for('index') }}" id="search_form"> +<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" id="search_form"> <div id="search_wrapper"> <input type="text" placeholder="{{ _('Search for...') }}" id="q" class="q" name="q" tabindex="1" autocomplete="off" {% if q %}value="{{ q }}"{% endif %}/> <input type="submit" value="search" id="search_submit" /> diff --git a/searx/webapp.py b/searx/webapp.py @@ -123,6 +123,8 @@ def render(template_name, **kwargs): if not 'autocomplete' in kwargs: kwargs['autocomplete'] = autocomplete + kwargs['method'] = request.cookies.get('method', 'POST') + return render_template(template_name, **kwargs) @@ -295,6 +297,7 @@ def preferences(): selected_categories = [] locale = None autocomplete = '' + method = 'POST' for pd_name, pd in request.form.items(): if pd_name.startswith('category_'): category = pd_name[9:] @@ -309,6 +312,8 @@ def preferences(): pd in (x[0] for x in language_codes)): lang = pd + elif pd_name == 'method': + method = pd elif pd_name.startswith('engine_'): engine_name = pd_name.replace('engine_', '', 1) if engine_name in engines: @@ -348,6 +353,8 @@ def preferences(): max_age=cookie_max_age ) + resp.set_cookie('method', method, max_age=cookie_max_age) + return resp return render('preferences.html', locales=settings['locales'],