summaryrefslogtreecommitdiff
path: root/searx/engines
diff options
context:
space:
mode:
authorAdam Tauber <asciimoo@gmail.com>2015-02-09 10:47:40 +0100
committerAdam Tauber <asciimoo@gmail.com>2015-02-09 10:47:40 +0100
commit67df3c516fc380d000f32d43ecb90c0fc32ca46a (patch)
tree0eb983532ab1542a9c0e1efd681604aa7346cd33 /searx/engines
parent5f801d7ea0ee1e4b4bec7f52c45ca3f601fc5cdc (diff)
parent7ac6361b51199ce8b208dcd6e8ba62ec4f652186 (diff)
Merge pull request #220 from pointhi/safesearch
Safesearch
Diffstat (limited to 'searx/engines')
-rw-r--r--searx/engines/bing_images.py9
-rw-r--r--searx/engines/blekko_images.py12
-rw-r--r--searx/engines/google_images.py11
3 files changed, 29 insertions, 3 deletions
diff --git a/searx/engines/bing_images.py b/searx/engines/bing_images.py
index 9d1c22f5a..b8c61c151 100644
--- a/searx/engines/bing_images.py
+++ b/searx/engines/bing_images.py
@@ -21,12 +21,18 @@ import re
# engine dependent config
categories = ['images']
paging = True
+safesearch = True
# search-url
base_url = 'https://www.bing.com/'
search_string = 'images/search?{query}&count=10&first={offset}'
thumb_url = "http://ts1.mm.bing.net/th?id={ihk}"
+# safesearch definitions
+safesearch_types = {2: 'STRICT',
+ 1: 'DEMOTE',
+ 0: 'OFF'}
+
# do search-request
def request(query, params):
@@ -43,7 +49,8 @@ def request(query, params):
offset=offset)
params['cookies']['SRCHHPGUSR'] = \
- 'NEWWND=0&NRSLT=-1&SRCHLANG=' + language.split('-')[0]
+ 'NEWWND=0&NRSLT=-1&SRCHLANG=' + language.split('-')[0] +\
+ '&ADLT=' + safesearch_types.get(params['safesearch'], 'DEMOTE')
params['url'] = base_url + search_path
diff --git a/searx/engines/blekko_images.py b/searx/engines/blekko_images.py
index 2bae9c35e..2e7ec904f 100644
--- a/searx/engines/blekko_images.py
+++ b/searx/engines/blekko_images.py
@@ -14,11 +14,17 @@ from urllib import urlencode
# engine dependent config
categories = ['images']
paging = True
+safesearch = True
# search-url
base_url = 'https://blekko.com'
search_url = '/api/images?{query}&c={c}'
+# safesearch definitions
+safesearch_types = {2: '1',
+ 1: '',
+ 0: '0'}
+
# do search-request
def request(query, params):
@@ -31,6 +37,12 @@ def request(query, params):
if params['pageno'] != 1:
params['url'] += '&page={pageno}'.format(pageno=(params['pageno']-1))
+ # let Blekko know we wan't have profiling
+ params['cookies']['tag_lesslogging'] = '1'
+
+ # parse safesearch argument
+ params['cookies']['safesearch'] = safesearch_types.get(params['safesearch'], '')
+
return params
diff --git a/searx/engines/google_images.py b/searx/engines/google_images.py
index 092ae6639..1c0e62f5c 100644
--- a/searx/engines/google_images.py
+++ b/searx/engines/google_images.py
@@ -15,18 +15,25 @@ from json import loads
# engine dependent config
categories = ['images']
paging = True
+safesearch = True
# search-url
url = 'https://ajax.googleapis.com/'
-search_url = url + 'ajax/services/search/images?v=1.0&start={offset}&rsz=large&safe=off&filter=off&{query}'
+search_url = url + 'ajax/services/search/images?v=1.0&start={offset}&rsz=large&safe={safesearch}&filter=off&{query}'
# do search-request
def request(query, params):
offset = (params['pageno'] - 1) * 8
+ if params['safesearch'] == 0:
+ safesearch = 'off'
+ else:
+ safesearch = 'on'
+
params['url'] = search_url.format(query=urlencode({'q': query}),
- offset=offset)
+ offset=offset,
+ safesearch=safesearch)
return params