mirror of https://github.com/searxng/searxng.git
[enh][fix] opensearch separation ++ better chrome support
This commit is contained in:
parent
08136f5ba2
commit
941e5fb2c4
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
||||||
|
<ShortName>searx</ShortName>
|
||||||
|
<Description>Search searx</Description>
|
||||||
|
<InputEncoding>UTF-8</InputEncoding>
|
||||||
|
<LongName>searx metasearch</LongName>
|
||||||
|
{% if method == 'get' %}
|
||||||
|
<Url type="text/html" method="get" template="{{ host }}?q={searchTerms}"/>
|
||||||
|
{% else %}
|
||||||
|
<Url type="text/html" method="post" template="{{ host }}">
|
||||||
|
<Param name="q" value="{searchTerms}" />
|
||||||
|
</Url>
|
||||||
|
{% endif %}
|
||||||
|
</OpenSearchDescription>
|
|
@ -48,19 +48,6 @@ favicons = ['wikipedia', 'youtube', 'vimeo', 'soundcloud',
|
||||||
'twitter', 'stackoverflow', 'github']
|
'twitter', 'stackoverflow', 'github']
|
||||||
|
|
||||||
|
|
||||||
opensearch_xml = '''<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
|
||||||
<ShortName>searx</ShortName>
|
|
||||||
<Description>Search searx</Description>
|
|
||||||
<InputEncoding>UTF-8</InputEncoding>
|
|
||||||
<LongName>searx meta search engine</LongName>
|
|
||||||
<Url type="text/html" method="{method}" template="{host}">
|
|
||||||
<Param name="q" value="{{searchTerms}}" />
|
|
||||||
</Url>
|
|
||||||
</OpenSearchDescription>
|
|
||||||
'''
|
|
||||||
|
|
||||||
|
|
||||||
@babel.localeselector
|
@babel.localeselector
|
||||||
def get_locale():
|
def get_locale():
|
||||||
locale = request.accept_languages.best_match(settings['locales'].keys())
|
locale = request.accept_languages.best_match(settings['locales'].keys())
|
||||||
|
@ -298,13 +285,11 @@ Disallow: /engines
|
||||||
|
|
||||||
@app.route('/opensearch.xml', methods=['GET'])
|
@app.route('/opensearch.xml', methods=['GET'])
|
||||||
def opensearch():
|
def opensearch():
|
||||||
global opensearch_xml
|
|
||||||
method = 'post'
|
method = 'post'
|
||||||
# chrome/chromium only supports HTTP GET....
|
# chrome/chromium only supports HTTP GET....
|
||||||
if request.headers.get('User-Agent', '').lower().find('webkit') >= 0:
|
if request.headers.get('User-Agent', '').lower().find('webkit') >= 0:
|
||||||
method = 'get'
|
method = 'get'
|
||||||
base_url = get_base_url()
|
ret = render('opensearch.xml', method=method, host=get_base_url())
|
||||||
ret = opensearch_xml.format(method=method, host=base_url)
|
|
||||||
resp = Response(response=ret,
|
resp = Response(response=ret,
|
||||||
status=200,
|
status=200,
|
||||||
mimetype="application/xml")
|
mimetype="application/xml")
|
||||||
|
|
Loading…
Reference in New Issue