summaryrefslogtreecommitdiff
path: root/searx
diff options
context:
space:
mode:
authorasciimoo <asciimoo@gmail.com>2013-10-16 00:01:08 +0200
committerasciimoo <asciimoo@gmail.com>2013-10-16 00:01:08 +0200
commit6bddaf57022dea1783cd08c4d18e6744d1048bea (patch)
tree1a4e4053f7472c85776424310627a1697bc05849 /searx
parenta346327c6fa96d6e79e0f1636547615b3a4a5a33 (diff)
downloadsearxng-6bddaf57022dea1783cd08c4d18e6744d1048bea.tar.gz
searxng-6bddaf57022dea1783cd08c4d18e6744d1048bea.zip
[enh] opensearch xml added
Diffstat (limited to 'searx')
-rw-r--r--searx/templates/base.html1
-rw-r--r--searx/webapp.py27
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()