Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 67df3c51 authored by Adam Tauber's avatar Adam Tauber
Browse files

Merge pull request #220 from pointhi/safesearch

Safesearch
parents 5f801d7e 7ac6361b
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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

+12 −0
Original line number Diff line number Diff line
@@ -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


+9 −2
Original line number Diff line number Diff line
@@ -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

+5 −0
Original line number Diff line number Diff line
@@ -457,6 +457,11 @@ class Search(object):
            request_params['started'] = time()
            request_params['pageno'] = self.pageno
            request_params['language'] = self.lang
            try:
                # 0 = None, 1 = Moderate, 2 = Strict
                request_params['safesearch'] = int(request.cookies.get('safesearch', 1))
            except ValueError:
                request_params['safesearch'] = 1

            # update request parameters dependent on
            # search-engine (contained in engines folder)
+10 −0
Original line number Diff line number Diff line
@@ -59,6 +59,16 @@
            </select>
        </p>
    </fieldset>
    <fieldset>
        <legend>{{ _('SafeSearch') }}</legend>
        <p>
            <select name='safesearch'>
                <option value="2" {% if safesearch == '2' %}selected="selected"{% endif %}>{{ _('Strict') }}</option>
                <option value="1" {% if safesearch == '1' %}selected="selected"{% endif %}>{{ _('Moderate') }}</option>
                <option value="0" {% if safesearch == '0' %}selected="selected"{% endif %}>{{ _('None') }}</option>
            </select>
        </p>
    </fieldset>
    <fieldset>
        <legend>{{ _('Themes') }}</legend>
        <p>
Loading