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

Commit 9d5c1dd8 authored by Nivesh Krishna's avatar Nivesh Krishna
Browse files

Merge branch '707-fix-youtube-engine' into 'master'

add lang and region to youtube and onesearch request

Closes backlog#708 and backlog#707

See merge request !128
parents 03447c47 a441ceae
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -27,12 +27,16 @@ categories = ['general']
paging = True

# search-url
URL = 'https://www.onesearch.com/yhs/search;?p=%s&b=%d'
URL = 'https://www.onesearch.com/yhs/search;?p=%s&b=%d&intl=%s'


def request(query, params):
    try:
        region = params['language'].split('-')[-1]
    except:
        region = 'us'
    starting_from = (params['pageno'] * 10) - 9
    params['url'] = URL % (query, starting_from)
    params['url'] = URL % (query, starting_from, region.lower())
    return params


+8 −2
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ time_range_support = True

# search-url
base_url = 'https://www.youtube.com/results'
search_url = base_url + '?search_query={query}&page={page}'
search_url = base_url + '?search_query={query}&page={page}&gl={region}&hl={lang}'
time_range_url = '&sp=EgII{time_range}%253D%253D'
# the key seems to be constant
next_page_url = 'https://www.youtube.com/youtubei/v1/search?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8'
@@ -44,8 +44,12 @@ base_youtube_url = 'https://www.youtube.com/watch?v='

# do search-request
def request(query, params):
    try:
        lang, region = params['language'].split('-')
    except:
        region = 'us'
    if not params['engine_data'].get('next_page_token'):
        params['url'] = search_url.format(query=quote_plus(query), page=params['pageno'])
        params['url'] = search_url.format(query=quote_plus(query), page=params['pageno'], region=region, lang=lang)
        if params['time_range'] in time_range_dict:
            params['url'] += time_range_url.format(time_range=time_range_dict[params['time_range']])
    else:
@@ -58,6 +62,8 @@ def request(query, params):
        params['headers']['Content-Type'] = 'application/json'

    params['headers']['Cookie'] = "CONSENT=YES+cb.%s-17-p0.en+F+941;" % datetime.now().strftime("%Y%m%d")
    params['headers']['Cookie'] = f"PERF=gl={region}&hl={lang}"

    return params


+2 −0
Original line number Diff line number Diff line
@@ -1281,6 +1281,7 @@ engines:
  - name : dailymotion
    engine : dailymotion
    shortcut : dm
    disabled : True

  - name : vimeo
    engine : vimeo
@@ -1585,6 +1586,7 @@ engines:
  - name : mediathekviewweb
    engine : mediathekviewweb
    shortcut : mvw
    disabled : True

  - name : kaufland
    shortcut : kauf