aboutsummaryrefslogtreecommitdiffstats
path: root/livie.py
blob: fcce309a57d8051b0c897962d77b214e43dcbb0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
"""This module does render video"""

import sys
import datetime
import json
import requests

URL = 'https://invidious.snopyta.org'
INPUT = sys.argv[1]
SEARCH = f'{URL}/api/v1/search?q={INPUT}'
REQUEST = requests.get(SEARCH)
UNSD = '&itag=18&local=true'
UNHD = '&itag=22&local=true'

FIRST = True  # skip line loop

VIDEOS = json.loads(REQUEST.content)

for video in VIDEOS:
    try:
        title = video.get('title', '')
        videoid = video.get('videoId', '')
        author = video.get('author', '')

        # Make URL
        sd = f'{URL}/latest_version?id={videoid}{UNSD}'
        hd = f'{URL}/latest_version?id={videoid}{UNHD}'

        timer = video.get('lengthSeconds', '')
        time = str(datetime.timedelta(seconds=timer))
        publish = video.get('publishedText', '')
    except TypeError:
        continue

    if FIRST:
        FIRST = False
    else:
        print()  # print skip line

    # prints
    print(f'    title: {title}')
    print(f'       SD: {sd}')
    print(f'       HD: {hd}')
    print(f'           HD ^ Only some videos available caused by DRM')
    print(f'  channel: {author}')
    print(f'     time: {time}')
    print(f'  publish: {publish}')