diff options
author | asciimoo <asciimoo@gmail.com> | 2013-10-16 00:01:08 +0200 |
---|---|---|
committer | asciimoo <asciimoo@gmail.com> | 2013-10-16 00:01:08 +0200 |
commit | 6bddaf57022dea1783cd08c4d18e6744d1048bea (patch) | |
tree | 1a4e4053f7472c85776424310627a1697bc05849 /searx | |
parent | a346327c6fa96d6e79e0f1636547615b3a4a5a33 (diff) | |
download | searxng-6bddaf57022dea1783cd08c4d18e6744d1048bea.tar.gz searxng-6bddaf57022dea1783cd08c4d18e6744d1048bea.zip |
[enh] opensearch xml added
Diffstat (limited to 'searx')
-rw-r--r-- | searx/templates/base.html | 1 | ||||
-rw-r--r-- | searx/webapp.py | 27 |
2 files changed, 27 insertions, 1 deletions
diff --git a/searx/templates/base.html b/searx/templates/base.html index b1b051fad..58a278a29 100644 --- a/searx/templates/base.html +++ b/searx/templates/base.html @@ -5,6 +5,7 @@ <meta http-equiv="content-language" content="en" /> <meta name="description" content="" /> <meta name="keywords" content="" /> + <link title="searx" type="application/opensearchdescription+xml" rel="search" href="/opensearch.xml"/> <title>searx {% block title %}{% endblock %}</title> <link rel="stylesheet" href="/static/css/style.css" type="text/css" media="screen" charset="utf-8" /> {% block styles %} diff --git a/searx/webapp.py b/searx/webapp.py index 38084714a..afd7d19ca 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -22,7 +22,7 @@ if __name__ == "__main__": from os.path import realpath, dirname path.append(realpath(dirname(realpath(__file__))+'/../')) -from flask import Flask, request, flash, render_template +from flask import Flask, request, flash, render_template, url_for, Response import ConfigParser from os import getenv from searx.engines import search, engines @@ -37,6 +37,18 @@ cfg.read('searx.conf') app = Flask(__name__) app.secret_key = cfg.get('app', 'secret_key') +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="post" template="{host}"> + <Param name="q" value="{{searchTerms}}" /> + </Url> +</OpenSearchDescription> +''' + def render(template_name, **kwargs): kwargs['engines'] = engines.keys() return render_template(template_name, **kwargs) @@ -58,6 +70,19 @@ def index(): return render('results.html', results=results, q=query.decode('utf-8')) return render('index.html') +@app.route('/favicon.ico', methods=['GET']) +def fav(): + return '' + +@app.route('/opensearch.xml', methods=['GET']) +def opensearch(): + global opensearch_xml + ret = opensearch_xml.format(host=url_for('index', _external=True)) + resp = Response(response=ret, + status=200, + mimetype="application/xml") + return resp + if __name__ == "__main__": from gevent import monkey monkey.patch_all() |