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

Commit 87baa74a authored by Venca24's avatar Venca24 Committed by Alexandre Flament
Browse files

[fix] fixes google play engines and adds thumbnails to their results (#1612)

fix google play apps, google play apps, google play music engines

xpath engine: thumbnail_xpath can define an optional thumbnail
parent d0dd2964
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ search_url = None
url_xpath = None
content_xpath = None
title_xpath = None
thumbnail_xpath = False
paging = False
suggestion_xpath = ''
results_xpath = ''
@@ -40,7 +41,9 @@ def extract_text(xpath_results):
        return ''.join(xpath_results)
    else:
        # it's a element
        text = html.tostring(xpath_results, encoding='unicode', method='text', with_tail=False)
        text = html.tostring(
            xpath_results, encoding='unicode', method='text', with_tail=False
        )
        text = text.strip().replace('\n', ' ')
        return ' '.join(text.split())

@@ -105,7 +108,18 @@ def response(resp):
            url = extract_url(result.xpath(url_xpath), search_url)
            title = extract_text(result.xpath(title_xpath))
            content = extract_text(result.xpath(content_xpath))
            results.append({'url': url, 'title': title, 'content': content})
            tmp_result = {'url': url, 'title': title, 'content': content}

            # add thumbnail if available
            thumbnail = None
            if thumbnail_xpath:
                thumbnail = extract_url(
                    result.xpath(thumbnail_xpath), search_url
                )
            if thumbnail:
                tmp_result['img_src'] = thumbnail

            results.append(tmp_result)
    else:
        for url, title, content in zip(
            (extract_url(x, search_url) for
+21 −15
Original line number Diff line number Diff line
@@ -313,9 +313,11 @@ engines:
  - name : google play apps
    engine : xpath
    search_url : https://play.google.com/store/search?q={query}&c=apps
    url_xpath     : //a[@class="title"]/@href
    title_xpath   : //a[@class="title"]
    content_xpath : //a[@class="subtitle"]
    results_xpath : '//div[@class="WHE7ib mpg5gc"]'
    title_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a'
    url_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a/@href'
    content_xpath : './/div[@class="RZEgze"]//a[@class="mnKHRc"]'
    thumbnail_xpath : './/div[@class="uzcko"]/div/span[1]/img/@data-src'
    categories : files
    shortcut : gpa
    disabled : True
@@ -323,9 +325,11 @@ engines:
  - name : google play movies
    engine : xpath
    search_url : https://play.google.com/store/search?q={query}&c=movies
    url_xpath     : //a[@class="title"]/@href
    title_xpath   : //a[@class="title"]/@title
    content_xpath : //a[contains(@class, "subtitle")]
    results_xpath : '//div[@class="WHE7ib mpg5gc"]'
    title_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a'
    url_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a/@href'
    content_xpath : './/div[@class="RZEgze"]//a[@class="mnKHRc"]'
    thumbnail_xpath : './/div[@class="uzcko"]/div/span[1]/img/@data-src'
    categories : videos
    shortcut : gpm
    disabled : True
@@ -333,9 +337,11 @@ engines:
  - name : google play music
    engine : xpath
    search_url : https://play.google.com/store/search?q={query}&c=music
    url_xpath     : //a[@class="title"]/@href
    title_xpath   : //a[@class="title"]
    content_xpath : //a[@class="subtitle"]
    results_xpath : '//div[@class="WHE7ib mpg5gc"]'
    title_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a'
    url_xpath : './/div[@class="RZEgze"]//div[@title and not(@title="")]/a/@href'
    content_xpath : './/div[@class="RZEgze"]//a[@class="mnKHRc"]'
    thumbnail_xpath : './/div[@class="uzcko"]/div/span[1]/img/@data-src'
    categories : music
    shortcut : gps
    disabled : True