logo

searx

Unnamed repository; edit this file 'description' to name the repository.
commit: 941e5fb2c4dc8f9c02709c87e5f096d2adef246a
parent: 08136f5ba2c579e222d2e0e8179cf21d8f4a461c
Author: asciimoo <asciimoo@gmail.com>
Date:   Thu, 30 Jan 2014 13:30:41 +0100

[enh][fix] opensearch separation ++ better chrome support

Diffstat:

searx/templates/opensearch.xml | 14++++++++++++++
searx/webapp.py | 17+----------------
2 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/searx/templates/opensearch.xml b/searx/templates/opensearch.xml @@ -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> diff --git a/searx/webapp.py b/searx/webapp.py @@ -48,19 +48,6 @@ favicons = ['wikipedia', 'youtube', 'vimeo', 'soundcloud', '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 def get_locale(): locale = request.accept_languages.best_match(settings['locales'].keys()) @@ -298,13 +285,11 @@ Disallow: /engines @app.route('/opensearch.xml', methods=['GET']) def opensearch(): - global opensearch_xml method = 'post' # chrome/chromium only supports HTTP GET.... if request.headers.get('User-Agent', '').lower().find('webkit') >= 0: method = 'get' - base_url = get_base_url() - ret = opensearch_xml.format(method=method, host=base_url) + ret = render('opensearch.xml', method=method, host=get_base_url()) resp = Response(response=ret, status=200, mimetype="application/xml")