aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xinstall.sh1
-rw-r--r--src/khanindexer.py47
-rw-r--r--src/settings.yml4
3 files changed, 52 insertions, 0 deletions
diff --git a/install.sh b/install.sh
index 4793895..8202e6d 100755
--- a/install.sh
+++ b/install.sh
@@ -10,6 +10,7 @@ ln -s ../../../src/khaganatForum.py searx/searx/engines/khaganatForum.py
ln -s ../../../src/forgeryzom.py searx/searx/engines/forgeryzom.py
ln -s ../../../src/ryzomcoreConfluence.py searx/searx/engines/ryzomcoreConfluence.py
ln -s ../../../src/RyzomForum.py searx/searx/engines/RyzomForum.py
+ln -s ../../../src/khanindexer.py searx/searx/engines/khanindexer.py
cp src/settings.yml searx/searx/settings.yml
virtualenv venv -p python2.7
source venv/bin/activate
diff --git a/src/khanindexer.py b/src/khanindexer.py
new file mode 100644
index 0000000..dc020de
--- /dev/null
+++ b/src/khanindexer.py
@@ -0,0 +1,47 @@
+# khanindexer
+#
+# @website https://git.khaganat.net/neodarz/khanindexer
+#
+# @results JSON
+# @stable yes
+# @parse (general) url, title, content
+
+from urllib import urlencode
+import json
+
+# engine dependent config
+categories = ['general'] # TODO , 'images', 'music', 'videos', 'files'
+paging = False
+language_support = False
+number_of_results = 5
+
+# search-url
+base_url = 'http://127.0.0.1:5000'
+search_url = '/?{query}'
+
+
+# do search-request
+def request(query, params):
+
+ params['url'] = base_url +\
+ search_url.format(query=urlencode({'search': query}))
+
+ print(params['url'])
+ return params
+
+
+# get response from search-request
+def response(resp):
+ results = []
+
+ datas = json.loads(resp.text)
+
+ for el in datas:
+ results.append({
+ 'title': el['title'],
+ 'content': el['excerpts'][0],
+ 'url': el['url']
+ })
+
+ # return results
+ return results
diff --git a/src/settings.yml b/src/settings.yml
index db1cf22..de6a2c4 100644
--- a/src/settings.yml
+++ b/src/settings.yml
@@ -69,6 +69,10 @@ engines:
engine: RyzomForum
shortcut: rc
+ - name: khanindexer
+ engine: khanindexer
+ shortcut: kh
+
locales:
en : English