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

Unverified Commit 4496ad12 authored by Markus Heiser's avatar Markus Heiser Committed by GitHub
Browse files

Merge branch 'master' into filtron

parents 28181ba3 aa7c043f
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -10,7 +10,9 @@
 @parse       url, title
"""

import re
from json import loads
from flask_babel import gettext

# engine dependent config
categories = ['map']
@@ -21,10 +23,15 @@ base_url = 'https://nominatim.openstreetmap.org/'
search_string = 'search/{query}?format=json&polygon_geojson=1&addressdetails=1'
result_base_url = 'https://openstreetmap.org/{osm_type}/{osm_id}'

route_url = 'https://graphhopper.com/maps/?point={}&point={}&locale=en-US&vehicle=car&weighting=fastest&turn_costs=true&use_miles=false&layer=Omniscale'  # noqa
route_re = re.compile('(?:from )?(.+) to (.+)')


# do search-request
def request(query, params):

    params['url'] = base_url + search_string.format(query=query.decode('utf-8'))
    params['route'] = route_re.match(query.decode('utf-8'))

    return params

@@ -34,6 +41,12 @@ def response(resp):
    results = []
    json = loads(resp.text)

    if resp.search_params['route']:
        results.append({
            'answer': gettext('Get directions'),
            'url': route_url.format(*resp.search_params['route'].groups()),
        })

    # parse results
    for r in json:
        if 'display_name' not in r:
+6 −4
Original line number Diff line number Diff line
@@ -414,11 +414,13 @@ def add_url(urls, result, id_cache, property_id=None, default_label=None, url_pr
    # append urls
    for url in links:
        if url is not None:
            urls.append({'title': default_label or label,
                         'url': url})
            u = {'title': default_label or label, 'url': url}
            if property_id == 'P856':
                u['official'] = True
                u['domain'] = url.split('/')[2]
            urls.append(u)
            if results is not None:
                results.append({'title': default_label or label,
                                'url': url})
                results.append(u)


def get_imdblink(result, url_prefix):
+4 −0
Original line number Diff line number Diff line
@@ -70,11 +70,15 @@ def response(resp):
                title = get_text_from_json(video.get('title', {}))
                content = get_text_from_json(video.get('descriptionSnippet', {}))
                embedded = embedded_url.format(videoid=videoid)
                author = get_text_from_json(video.get('ownerText', {}))
                length = get_text_from_json(video.get('lengthText', {}))

                # append result
                results.append({'url': url,
                                'title': title,
                                'content': content,
                                'author': author,
                                'length': length,
                                'template': 'videos.html',
                                'embedded': embedded,
                                'thumbnail': thumbnail})
+2 −4
Original line number Diff line number Diff line
@@ -37,10 +37,8 @@ def post_search(request, search):
            ip = x_forwarded_for[0]
        else:
            ip = request.remote_addr
        search.result_container.answers.clear()
        search.result_container.answers.add(ip)
        search.result_container.answers['ip'] = {'answer': ip}
    elif p.match(search.search_query.query):
        ua = request.user_agent
        search.result_container.answers.clear()
        search.result_container.answers.add(ua)
        search.result_container.answers['user-agent'] = {'answer': ua}
    return True
+2 −2
Original line number Diff line number Diff line
@@ -131,7 +131,7 @@ class ResultContainer(object):
        self._merged_results = []
        self.infoboxes = []
        self.suggestions = set()
        self.answers = set()
        self.answers = {}
        self.corrections = set()
        self._number_of_results = []
        self._ordered = False
@@ -146,7 +146,7 @@ class ResultContainer(object):
                self.suggestions.add(result['suggestion'])
                results.remove(result)
            elif 'answer' in result:
                self.answers.add(result['answer'])
                self.answers[result['answer']] = result
                results.remove(result)
            elif 'correction' in result:
                self.corrections.add(result['correction'])
Loading