mirror of
https://github.com/searxng/searxng.git
synced 2024-11-26 21:01:01 +00:00
deactivate autocompleter by default
This commit is contained in:
parent
cc7f3cb617
commit
c8cf95aa56
5 changed files with 45 additions and 21 deletions
|
@ -5,6 +5,9 @@ server:
|
|||
request_timeout : 2.0 # seconds
|
||||
base_url : False
|
||||
|
||||
client:
|
||||
autocompleter : False # only for developers, no real results yet
|
||||
|
||||
engines:
|
||||
- name : wikipedia
|
||||
engine : wikipedia
|
||||
|
|
|
@ -1,18 +1,20 @@
|
|||
window.addEvent('domready', function() {
|
||||
new Autocompleter.Request.JSON('q', '/autocompleter', {
|
||||
postVar:'q',
|
||||
postData:{
|
||||
'format': 'json'
|
||||
},
|
||||
ajaxOptions:{
|
||||
timeout: 5 // Correct option?
|
||||
},
|
||||
'minLength': 4,
|
||||
'selectMode': 'type-ahead',
|
||||
cache: true,
|
||||
delay: 300
|
||||
});
|
||||
});
|
||||
if(searx.autocompleter) {
|
||||
window.addEvent('domready', function() {
|
||||
new Autocompleter.Request.JSON('q', '/autocompleter', {
|
||||
postVar:'q',
|
||||
postData:{
|
||||
'format': 'json'
|
||||
},
|
||||
ajaxOptions:{
|
||||
timeout: 5 // Correct option?
|
||||
},
|
||||
'minLength': 4,
|
||||
'selectMode': 'type-ahead',
|
||||
cache: true,
|
||||
delay: 300
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
(function (w, d) {
|
||||
'use strict';
|
||||
|
|
|
@ -13,13 +13,19 @@
|
|||
{% block head %}
|
||||
<link title="searx" type="application/opensearchdescription+xml" rel="search" href="{{ url_for('opensearch') }}"/>
|
||||
{% endblock %}
|
||||
<script type="text/javascript">
|
||||
searx = {};
|
||||
searx.autocompleter = {% if client.autocompleter %}true{% else %}false{% endif %};
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="container">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
{% if client.autocompleter %}
|
||||
<script src="{{ url_for('static', filename='js/mootools-core-1.4.5-min.js') }}" ></script>
|
||||
<script src="{{ url_for('static', filename='js/mootools-autocompleter-1.1.2-min.js') }}" ></script>
|
||||
{% endif %}
|
||||
<script src="{{ url_for('static', filename='js/searx.js') }}" ></script>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -6,18 +6,22 @@
|
|||
<LongName>searx metasearch</LongName>
|
||||
{% if method == 'get' %}
|
||||
<Url type="text/html" method="get" template="{{ host }}?q={searchTerms}"/>
|
||||
{% if client.autocompleter %}
|
||||
<Url type="application/x-suggestions+json" method="get" template="{{ host }}autocompleter">
|
||||
<Param name="format" value="x-suggestions" />
|
||||
<Param name="q" value="{searchTerms}" />
|
||||
</Url>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<Url type="text/html" method="post" template="{{ host }}">
|
||||
<Param name="q" value="{searchTerms}" />
|
||||
</Url>
|
||||
{% if client.autocompleter %}
|
||||
<!-- TODO, POST REQUEST doesn't work -->
|
||||
<Url type="application/x-suggestions+json" method="get" template="{{ host }}autocompleter">
|
||||
<Param name="format" value="x-suggestions" />
|
||||
<Param name="q" value="{searchTerms}" />
|
||||
</Url>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</OpenSearchDescription>
|
||||
|
|
|
@ -120,12 +120,18 @@ def index():
|
|||
"""
|
||||
|
||||
if not request.args and not request.form:
|
||||
return render('index.html')
|
||||
return render(
|
||||
'index.html',
|
||||
client=settings['client']
|
||||
)
|
||||
|
||||
try:
|
||||
search = Search(request)
|
||||
except:
|
||||
return render('index.html')
|
||||
return render(
|
||||
'index.html',
|
||||
client=settings['client']
|
||||
)
|
||||
|
||||
# TODO moar refactor - do_search integration into Search class
|
||||
search.results, search.suggestions = do_search(search.query,
|
||||
|
@ -206,6 +212,7 @@ def index():
|
|||
return render(
|
||||
'results.html',
|
||||
results=search.results,
|
||||
client=settings['client'],
|
||||
q=search.request_data['q'],
|
||||
selected_categories=search.categories,
|
||||
paging=search.paging,
|
||||
|
@ -231,12 +238,14 @@ def autocompleter():
|
|||
else:
|
||||
request_data = request.args
|
||||
|
||||
# TODO fix XSS-vulnerability, remove test code
|
||||
# TODO fix XSS-vulnerability
|
||||
autocompleter.querry = request_data.get('q')
|
||||
autocompleter.results = []
|
||||
|
||||
if autocompleter.querry:
|
||||
autocompleter.results = [autocompleter.querry + "-searx",autocompleter.querry + " asfded",autocompleter.querry + " asdf"]
|
||||
if settings['client']['autocompleter']:
|
||||
#TODO remove test code and add real autocompletion
|
||||
if autocompleter.querry:
|
||||
autocompleter.results = [autocompleter.querry + " result-1",autocompleter.querry + " result-2",autocompleter.querry + " result-3",autocompleter.querry + " result-4"]
|
||||
|
||||
if request_data.get('format') == 'x-suggestions':
|
||||
return Response(json.dumps([autocompleter.querry,autocompleter.results]),
|
||||
|
@ -344,7 +353,7 @@ def opensearch():
|
|||
# chrome/chromium only supports HTTP GET....
|
||||
if request.headers.get('User-Agent', '').lower().find('webkit') >= 0:
|
||||
method = 'get'
|
||||
ret = render('opensearch.xml', method=method, host=get_base_url())
|
||||
ret = render('opensearch.xml', method=method, host=get_base_url(),client=settings['client'])
|
||||
resp = Response(response=ret,
|
||||
status=200,
|
||||
mimetype="application/xml")
|
||||
|
|
Loading…
Reference in a new issue