logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 58f8c42b1c678687d2ed9baf7ed16f45c0188a40
parent 2ecee433b9673128ad4796988a1767989ef343b1
Author: Michael Forney <mforney@mforney.org>
Date:   Thu, 21 Jul 2022 13:29:38 -0700

yt-dlp: Update to 2022.07.18

Diffstat:

Mpkg/yt-dlp/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch205++++++++++++++-----------------------------------------------------------------
Mpkg/yt-dlp/pylibs.txt96++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
Mpkg/yt-dlp/sha2562+-
Mpkg/yt-dlp/url2+-
Mpkg/yt-dlp/ver2+-
5 files changed, 112 insertions(+), 195 deletions(-)

diff --git a/pkg/yt-dlp/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch b/pkg/yt-dlp/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch @@ -1,67 +1,35 @@ -From 80d23f5b00895685d4ab1535757dbd3ee88ad72d Mon Sep 17 00:00:00 2001 +From b5f26e6d73a01270c0bdb84843d5ff57438e3a2c Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Mon, 4 Jul 2016 16:14:18 -0700 Subject: [PATCH] Disable use of ctypes and dynamic loading --- - yt_dlp/compat.py | 8 --- - yt_dlp/cookies.py | 76 ---------------------- - yt_dlp/utils.py | 160 +--------------------------------------------- - 3 files changed, 1 insertion(+), 243 deletions(-) + yt_dlp/cookies.py | 73 ----------------------------------------- + yt_dlp/utils.py | 82 +---------------------------------------------- + 2 files changed, 1 insertion(+), 154 deletions(-) -diff --git a/yt_dlp/compat.py b/yt_dlp/compat.py -index b97d4512e..f02b8900b 100644 ---- a/yt_dlp/compat.py -+++ b/yt_dlp/compat.py -@@ -3,7 +3,6 @@ - import asyncio - import base64 - import collections --import ctypes - import getpass - import html - import html.parser -@@ -35,12 +34,6 @@ class compat_HTMLParseError(Exception): - pass - - --# compat_ctypes_WINFUNCTYPE = ctypes.WINFUNCTYPE --# will not work since ctypes.WINFUNCTYPE does not exist in UNIX machines --def compat_ctypes_WINFUNCTYPE(*args, **kwargs): -- return ctypes.WINFUNCTYPE(*args, **kwargs) -- -- - class _TreeBuilder(etree.TreeBuilder): - def doctype(self, name, pubid, system): - pass -@@ -254,7 +247,6 @@ __all__ = [ - 'compat_cookiejar_Cookie', - 'compat_cookies', - 'compat_cookies_SimpleCookie', -- 'compat_ctypes_WINFUNCTYPE', - 'compat_etree_Element', - 'compat_etree_fromstring', - 'compat_etree_register_namespace', diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py -index fc033a8ae..7ccf9b19e 100644 +index df8f97b44..7c4fb932f 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py -@@ -1,5 +1,4 @@ +@@ -1,7 +1,5 @@ + import base64 import contextlib -import ctypes +-import http.cookiejar import json import os import shutil -@@ -323,8 +322,6 @@ def get_cookie_decryptor(browser_root, browser_keyring_name, logger, *, keyring= - return LinuxChromeCookieDecryptor(browser_keyring_name, logger, keyring=keyring) - elif sys.platform == 'darwin': +@@ -340,8 +338,6 @@ def decrypt(self, encrypted_value): + def get_cookie_decryptor(browser_root, browser_keyring_name, logger, *, keyring=None): + if sys.platform == 'darwin': return MacChromeCookieDecryptor(browser_keyring_name, logger) -- elif sys.platform == 'win32': +- elif sys.platform in ('win32', 'cygwin'): - return WindowsChromeCookieDecryptor(browser_root, logger) - else: - raise NotImplementedError('Chrome cookie decryption is not supported ' - 'on this platform: {}'.format(sys.platform)) -@@ -404,47 +401,6 @@ class MacChromeCookieDecryptor(ChromeCookieDecryptor): + return LinuxChromeCookieDecryptor(browser_keyring_name, logger, keyring=keyring) + + +@@ -411,43 +407,6 @@ def decrypt(self, encrypted_value): return encrypted_value @@ -71,10 +39,6 @@ index fc033a8ae..7ccf9b19e 100644 - self._v10_key = _get_windows_v10_key(browser_root, logger) - self._cookie_counts = {'v10': 0, 'other': 0} - -- @property -- def cookie_counts(self): -- return self._cookie_counts -- - def decrypt(self, encrypted_value): - version = encrypted_value[:3] - ciphertext = encrypted_value[3:] @@ -103,13 +67,13 @@ index fc033a8ae..7ccf9b19e 100644 - self._cookie_counts['other'] += 1 - # any other prefix means the data is DPAPI encrypted - # https://chromium.googlesource.com/chromium/src/+/refs/heads/main/components/os_crypt/os_crypt_win.cc -- return _decrypt_windows_dpapi(encrypted_value, self._logger).decode('utf-8') +- return _decrypt_windows_dpapi(encrypted_value, self._logger).decode() - - def _extract_safari_cookies(profile, logger): if profile is not None: logger.error('safari does not support profiles') -@@ -872,38 +828,6 @@ def _decrypt_aes_gcm(ciphertext, key, nonce, authentication_tag, logger): +@@ -871,38 +830,6 @@ def _decrypt_aes_gcm(ciphertext, key, nonce, authentication_tag, logger): return None @@ -149,117 +113,19 @@ index fc033a8ae..7ccf9b19e 100644 return os.environ.get('XDG_CONFIG_HOME', os.path.expanduser('~/.config')) diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py -index fe1096168..4f8e75642 100644 +index 7648b6fce..21110dc33 100644 --- a/yt_dlp/utils.py +++ b/yt_dlp/utils.py -@@ -9,7 +9,6 @@ import calendar +@@ -5,7 +5,6 @@ import codecs import collections import contextlib -import ctypes import datetime - import email.utils import email.header -@@ -47,7 +46,6 @@ from .compat import ( - compat_basestring, - compat_chr, - compat_cookiejar, -- compat_ctypes_WINFUNCTYPE, - compat_etree_fromstring, - compat_expanduser, - compat_html_entities, -@@ -1967,89 +1965,11 @@ def get_windows_version(): - return None - - --def _windows_write_string(s, out): -- """ Returns True if the string was written using special methods, -- False if it has yet to be written out.""" -- # Adapted from http://stackoverflow.com/a/3259271/35070 -- -- import ctypes.wintypes -- -- WIN_OUTPUT_IDS = { -- 1: -11, -- 2: -12, -- } -- -- try: -- fileno = out.fileno() -- except AttributeError: -- # If the output stream doesn't have a fileno, it's virtual -- return False -- except io.UnsupportedOperation: -- # Some strange Windows pseudo files? -- return False -- if fileno not in WIN_OUTPUT_IDS: -- return False -- -- GetStdHandle = compat_ctypes_WINFUNCTYPE( -- ctypes.wintypes.HANDLE, ctypes.wintypes.DWORD)( -- ('GetStdHandle', ctypes.windll.kernel32)) -- h = GetStdHandle(WIN_OUTPUT_IDS[fileno]) -- -- WriteConsoleW = compat_ctypes_WINFUNCTYPE( -- ctypes.wintypes.BOOL, ctypes.wintypes.HANDLE, ctypes.wintypes.LPWSTR, -- ctypes.wintypes.DWORD, ctypes.POINTER(ctypes.wintypes.DWORD), -- ctypes.wintypes.LPVOID)(('WriteConsoleW', ctypes.windll.kernel32)) -- written = ctypes.wintypes.DWORD(0) -- -- GetFileType = compat_ctypes_WINFUNCTYPE(ctypes.wintypes.DWORD, ctypes.wintypes.DWORD)(('GetFileType', ctypes.windll.kernel32)) -- FILE_TYPE_CHAR = 0x0002 -- FILE_TYPE_REMOTE = 0x8000 -- GetConsoleMode = compat_ctypes_WINFUNCTYPE( -- ctypes.wintypes.BOOL, ctypes.wintypes.HANDLE, -- ctypes.POINTER(ctypes.wintypes.DWORD))( -- ('GetConsoleMode', ctypes.windll.kernel32)) -- INVALID_HANDLE_VALUE = ctypes.wintypes.DWORD(-1).value -- -- def not_a_console(handle): -- if handle == INVALID_HANDLE_VALUE or handle is None: -- return True -- return ((GetFileType(handle) & ~FILE_TYPE_REMOTE) != FILE_TYPE_CHAR -- or GetConsoleMode(handle, ctypes.byref(ctypes.wintypes.DWORD())) == 0) -- -- if not_a_console(h): -- return False -- -- def next_nonbmp_pos(s): -- try: -- return next(i for i, c in enumerate(s) if ord(c) > 0xffff) -- except StopIteration: -- return len(s) -- -- while s: -- count = min(next_nonbmp_pos(s), 1024) -- -- ret = WriteConsoleW( -- h, s, count if count else 2, ctypes.byref(written), None) -- if ret == 0: -- raise OSError('Failed to write string') -- if not count: # We just wrote a non-BMP character -- assert written.value == 2 -- s = s[1:] -- else: -- assert written.value > 0 -- s = s[written.value:] -- return True -- -- - def write_string(s, out=None, encoding=None): - if out is None: - out = sys.stderr - assert type(s) == compat_str - -- if sys.platform == 'win32' and encoding is None and hasattr(out, 'fileno'): -- if _windows_write_string(s, out): -- return -- - if ('b' in getattr(out, 'mode', '') - or sys.version_info[0] < 3): # Python 2 lies about mode of sys.stderr - byt = s.encode(encoding or preferredencoding(), 'ignore') -@@ -2078,62 +1998,6 @@ def intlist_to_bytes(xs): - return compat_struct_pack('%dB' % len(xs), *xs) + import email.utils +@@ -1983,63 +1982,6 @@ def __init__(self): + super().__init__(self.msg) -# Cross-platform file locking @@ -299,33 +165,34 @@ index fe1096168..4f8e75642 100644 - whole_low = 0xffffffff - whole_high = 0x7fffffff - -- def _lock_file(f, exclusive): +- def _lock_file(f, exclusive, block): - overlapped = OVERLAPPED() - overlapped.Offset = 0 - overlapped.OffsetHigh = 0 - overlapped.hEvent = 0 - f._lock_file_overlapped_p = ctypes.pointer(overlapped) -- handle = msvcrt.get_osfhandle(f.fileno()) -- if not LockFileEx(handle, 0x2 if exclusive else 0x0, 0, -- whole_low, whole_high, f._lock_file_overlapped_p): -- raise OSError('Locking file failed: %r' % ctypes.FormatError()) +- +- if not LockFileEx(msvcrt.get_osfhandle(f.fileno()), +- (0x2 if exclusive else 0x0) | (0x0 if block else 0x1), +- 0, whole_low, whole_high, f._lock_file_overlapped_p): +- # NB: No argument form of "ctypes.FormatError" does not work on PyPy +- raise BlockingIOError(f'Locking file failed: {ctypes.FormatError(ctypes.GetLastError())!r}') - - def _unlock_file(f): - assert f._lock_file_overlapped_p - handle = msvcrt.get_osfhandle(f.fileno()) -- if not UnlockFileEx(handle, 0, -- whole_low, whole_high, f._lock_file_overlapped_p): +- if not UnlockFileEx(handle, 0, whole_low, whole_high, f._lock_file_overlapped_p): - raise OSError('Unlocking file failed: %r' % ctypes.FormatError()) - -else: - # Some platforms, such as Jython, is missing fcntl try: import fcntl -@@ -2407,29 +2271,7 @@ def fix_xml_ampersands(xml_str): + +@@ -2362,29 +2304,7 @@ def fix_xml_ampersands(xml_str): def setproctitle(title): -- assert isinstance(title, compat_str) +- assert isinstance(title, str) - - # ctypes in Jython is not complete - # http://bugs.jython.org/issue2148 @@ -341,7 +208,7 @@ index fe1096168..4f8e75642 100644 - # a bytestring, but since unicode_literals turns - # every string into a unicode string, it fails. - return -- title_bytes = title.encode('utf-8') +- title_bytes = title.encode() - buf = ctypes.create_string_buffer(len(title_bytes)) - buf.value = title_bytes - try: @@ -353,5 +220,5 @@ index fe1096168..4f8e75642 100644 def remove_start(s, start): -- -2.34.1 +2.35.1 diff --git a/pkg/yt-dlp/pylibs.txt b/pkg/yt-dlp/pylibs.txt @@ -4,13 +4,22 @@ yt_dlp/__init__.py yt_dlp/__main__.py yt_dlp/aes.py yt_dlp/cache.py -yt_dlp/compat.py +yt_dlp/compat/__init__.py +yt_dlp/compat/_deprecated.py +yt_dlp/compat/_legacy.py +yt_dlp/compat/asyncio.py +yt_dlp/compat/compat_utils.py +yt_dlp/compat/functools.py +yt_dlp/compat/imghdr.py +yt_dlp/compat/re.py yt_dlp/cookies.py +yt_dlp/dependencies.py yt_dlp/downloader/__init__.py yt_dlp/downloader/common.py yt_dlp/downloader/dash.py yt_dlp/downloader/external.py yt_dlp/downloader/f4m.py +yt_dlp/downloader/fc2.py yt_dlp/downloader/fragment.py yt_dlp/downloader/hls.py yt_dlp/downloader/http.py @@ -22,11 +31,14 @@ yt_dlp/downloader/rtsp.py yt_dlp/downloader/websocket.py yt_dlp/downloader/youtube_live_chat.py yt_dlp/extractor/__init__.py +yt_dlp/extractor/_extractors.py yt_dlp/extractor/abc.py yt_dlp/extractor/abcnews.py yt_dlp/extractor/abcotvs.py +yt_dlp/extractor/abematv.py yt_dlp/extractor/academicearth.py yt_dlp/extractor/acast.py +yt_dlp/extractor/acfun.py yt_dlp/extractor/adn.py yt_dlp/extractor/adobeconnect.py yt_dlp/extractor/adobepass.py @@ -39,14 +51,15 @@ yt_dlp/extractor/aliexpress.py yt_dlp/extractor/aljazeera.py yt_dlp/extractor/allocine.py yt_dlp/extractor/alphaporno.py +yt_dlp/extractor/alsace20tv.py yt_dlp/extractor/alura.py yt_dlp/extractor/amara.py yt_dlp/extractor/amazon.py yt_dlp/extractor/amcnetworks.py yt_dlp/extractor/americastestkitchen.py yt_dlp/extractor/amp.py -yt_dlp/extractor/animelab.py yt_dlp/extractor/animeondemand.py +yt_dlp/extractor/ant1newsgr.py yt_dlp/extractor/anvato.py yt_dlp/extractor/anvato_token_generator/__init__.py yt_dlp/extractor/anvato_token_generator/common.py @@ -65,16 +78,19 @@ yt_dlp/extractor/arnes.py yt_dlp/extractor/arte.py yt_dlp/extractor/asiancrush.py yt_dlp/extractor/atresplayer.py +yt_dlp/extractor/atscaleconf.py yt_dlp/extractor/atttechchannel.py yt_dlp/extractor/atvat.py yt_dlp/extractor/audimedia.py yt_dlp/extractor/audioboom.py +yt_dlp/extractor/audiodraft.py yt_dlp/extractor/audiomack.py yt_dlp/extractor/audius.py yt_dlp/extractor/awaan.py yt_dlp/extractor/aws.py yt_dlp/extractor/azmedien.py yt_dlp/extractor/baidu.py +yt_dlp/extractor/banbye.py yt_dlp/extractor/bandaichannel.py yt_dlp/extractor/bandcamp.py yt_dlp/extractor/bannedvideo.py @@ -88,6 +104,7 @@ yt_dlp/extractor/bfi.py yt_dlp/extractor/bfmtv.py yt_dlp/extractor/bibeltv.py yt_dlp/extractor/bigflix.py +yt_dlp/extractor/bigo.py yt_dlp/extractor/bild.py yt_dlp/extractor/bilibili.py yt_dlp/extractor/biobiochiletv.py @@ -96,7 +113,6 @@ yt_dlp/extractor/bitchute.py yt_dlp/extractor/bitwave.py yt_dlp/extractor/blackboardcollaborate.py yt_dlp/extractor/bleacherreport.py -yt_dlp/extractor/blinkx.py yt_dlp/extractor/blogger.py yt_dlp/extractor/bloomberg.py yt_dlp/extractor/bokecc.py @@ -115,6 +131,7 @@ yt_dlp/extractor/byutv.py yt_dlp/extractor/c56.py yt_dlp/extractor/cableav.py yt_dlp/extractor/callin.py +yt_dlp/extractor/caltrans.py yt_dlp/extractor/cam4.py yt_dlp/extractor/camdemy.py yt_dlp/extractor/cammodels.py @@ -135,6 +152,7 @@ yt_dlp/extractor/ccc.py yt_dlp/extractor/ccma.py yt_dlp/extractor/cctv.py yt_dlp/extractor/cda.py +yt_dlp/extractor/cellebrite.py yt_dlp/extractor/ceskatelevize.py yt_dlp/extractor/cgtn.py yt_dlp/extractor/channel9.py @@ -169,8 +187,10 @@ yt_dlp/extractor/contv.py yt_dlp/extractor/corus.py yt_dlp/extractor/coub.py yt_dlp/extractor/cozytv.py +yt_dlp/extractor/cpac.py yt_dlp/extractor/cracked.py yt_dlp/extractor/crackle.py +yt_dlp/extractor/craftsy.py yt_dlp/extractor/crooksandliars.py yt_dlp/extractor/crowdbunker.py yt_dlp/extractor/crunchyroll.py @@ -181,16 +201,20 @@ yt_dlp/extractor/ctvnews.py yt_dlp/extractor/cultureunplugged.py yt_dlp/extractor/curiositystream.py yt_dlp/extractor/cwtv.py +yt_dlp/extractor/cybrary.py yt_dlp/extractor/daftsex.py yt_dlp/extractor/dailymail.py yt_dlp/extractor/dailymotion.py +yt_dlp/extractor/dailywire.py yt_dlp/extractor/damtomo.py yt_dlp/extractor/daum.py +yt_dlp/extractor/daystar.py yt_dlp/extractor/dbtv.py yt_dlp/extractor/dctp.py yt_dlp/extractor/deezer.py yt_dlp/extractor/defense.py yt_dlp/extractor/democracynow.py +yt_dlp/extractor/detik.py yt_dlp/extractor/dfb.py yt_dlp/extractor/dhm.py yt_dlp/extractor/digg.py @@ -198,7 +222,6 @@ yt_dlp/extractor/digitalconcerthall.py yt_dlp/extractor/digiteka.py yt_dlp/extractor/discovery.py yt_dlp/extractor/discoverygo.py -yt_dlp/extractor/discoveryvr.py yt_dlp/extractor/disney.py yt_dlp/extractor/dispeak.py yt_dlp/extractor/dlive.py @@ -241,7 +264,6 @@ yt_dlp/extractor/esri.py yt_dlp/extractor/europa.py yt_dlp/extractor/europeantour.py yt_dlp/extractor/euscreen.py -yt_dlp/extractor/everyonesmixtape.py yt_dlp/extractor/expotv.py yt_dlp/extractor/expressen.py yt_dlp/extractor/extractors.py @@ -252,34 +274,35 @@ yt_dlp/extractor/fancode.py yt_dlp/extractor/faz.py yt_dlp/extractor/fc2.py yt_dlp/extractor/fczenit.py +yt_dlp/extractor/fifa.py yt_dlp/extractor/filmmodu.py yt_dlp/extractor/filmon.py yt_dlp/extractor/filmweb.py yt_dlp/extractor/firsttv.py -yt_dlp/extractor/fivemin.py yt_dlp/extractor/fivetv.py yt_dlp/extractor/flickr.py yt_dlp/extractor/folketinget.py yt_dlp/extractor/footyroom.py yt_dlp/extractor/formula1.py yt_dlp/extractor/fourtube.py +yt_dlp/extractor/fourzerostudio.py yt_dlp/extractor/fox.py yt_dlp/extractor/fox9.py yt_dlp/extractor/foxgay.py yt_dlp/extractor/foxnews.py yt_dlp/extractor/foxsports.py -yt_dlp/extractor/franceculture.py +yt_dlp/extractor/fptplay.py yt_dlp/extractor/franceinter.py yt_dlp/extractor/francetv.py yt_dlp/extractor/freesound.py yt_dlp/extractor/freespeech.py -yt_dlp/extractor/freshlive.py +yt_dlp/extractor/freetv.py yt_dlp/extractor/frontendmasters.py yt_dlp/extractor/fujitv.py yt_dlp/extractor/funimation.py yt_dlp/extractor/funk.py yt_dlp/extractor/fusion.py -yt_dlp/extractor/fxnetworks.py +yt_dlp/extractor/fuyintv.py yt_dlp/extractor/gab.py yt_dlp/extractor/gaia.py yt_dlp/extractor/gameinformer.py @@ -303,6 +326,7 @@ yt_dlp/extractor/go.py yt_dlp/extractor/godtube.py yt_dlp/extractor/gofile.py yt_dlp/extractor/golem.py +yt_dlp/extractor/goodgame.py yt_dlp/extractor/googledrive.py yt_dlp/extractor/googlepodcasts.py yt_dlp/extractor/googlesearch.py @@ -324,7 +348,6 @@ yt_dlp/extractor/historicfilms.py yt_dlp/extractor/hitbox.py yt_dlp/extractor/hitrecord.py yt_dlp/extractor/hketv.py -yt_dlp/extractor/hornbunny.py yt_dlp/extractor/hotnewhiphop.py yt_dlp/extractor/hotstar.py yt_dlp/extractor/howcast.py @@ -335,7 +358,10 @@ yt_dlp/extractor/hse.py yt_dlp/extractor/huajiao.py yt_dlp/extractor/huffpost.py yt_dlp/extractor/hungama.py +yt_dlp/extractor/huya.py yt_dlp/extractor/hypem.py +yt_dlp/extractor/hytale.py +yt_dlp/extractor/icareus.py yt_dlp/extractor/ichinanalive.py yt_dlp/extractor/ign.py yt_dlp/extractor/iheart.py @@ -351,12 +377,14 @@ yt_dlp/extractor/internazionale.py yt_dlp/extractor/internetvideoarchive.py yt_dlp/extractor/iprima.py yt_dlp/extractor/iqiyi.py -yt_dlp/extractor/ir90tv.py +yt_dlp/extractor/itprotv.py yt_dlp/extractor/itv.py yt_dlp/extractor/ivi.py yt_dlp/extractor/ivideon.py yt_dlp/extractor/iwara.py +yt_dlp/extractor/ixigua.py yt_dlp/extractor/izlesene.py +yt_dlp/extractor/jable.py yt_dlp/extractor/jamendo.py yt_dlp/extractor/jeuxvideo.py yt_dlp/extractor/joj.py @@ -364,25 +392,26 @@ yt_dlp/extractor/jove.py yt_dlp/extractor/jwplatform.py yt_dlp/extractor/kakao.py yt_dlp/extractor/kaltura.py -yt_dlp/extractor/kanalplay.py -yt_dlp/extractor/kankan.py yt_dlp/extractor/karaoketv.py yt_dlp/extractor/karrierevideos.py yt_dlp/extractor/keezmovies.py yt_dlp/extractor/kelbyone.py yt_dlp/extractor/ketnet.py yt_dlp/extractor/khanacademy.py +yt_dlp/extractor/kicker.py yt_dlp/extractor/kickstarter.py yt_dlp/extractor/kinja.py yt_dlp/extractor/kinopoisk.py yt_dlp/extractor/konserthusetplay.py yt_dlp/extractor/koo.py yt_dlp/extractor/krasview.py +yt_dlp/extractor/kth.py yt_dlp/extractor/ku6.py yt_dlp/extractor/kusi.py yt_dlp/extractor/kuwo.py yt_dlp/extractor/la7.py yt_dlp/extractor/laola1tv.py +yt_dlp/extractor/lastfm.py yt_dlp/extractor/lazy_extractors.py yt_dlp/extractor/lbry.py yt_dlp/extractor/lci.py @@ -396,13 +425,16 @@ yt_dlp/extractor/lenta.py yt_dlp/extractor/libraryofcongress.py yt_dlp/extractor/libsyn.py yt_dlp/extractor/lifenews.py +yt_dlp/extractor/likee.py yt_dlp/extractor/limelight.py yt_dlp/extractor/line.py yt_dlp/extractor/linkedin.py yt_dlp/extractor/linuxacademy.py +yt_dlp/extractor/liputan6.py yt_dlp/extractor/litv.py yt_dlp/extractor/livejournal.py yt_dlp/extractor/livestream.py +yt_dlp/extractor/livestreamfails.py yt_dlp/extractor/lnkgo.py yt_dlp/extractor/localnews8.py yt_dlp/extractor/lovehomeporn.py @@ -419,6 +451,7 @@ yt_dlp/extractor/manyvids.py yt_dlp/extractor/maoritv.py yt_dlp/extractor/markiza.py yt_dlp/extractor/massengeschmacktv.py +yt_dlp/extractor/masters.py yt_dlp/extractor/matchtv.py yt_dlp/extractor/mdr.py yt_dlp/extractor/medaltv.py @@ -446,6 +479,7 @@ yt_dlp/extractor/ministrygrid.py yt_dlp/extractor/minoto.py yt_dlp/extractor/miomio.py yt_dlp/extractor/mirrativ.py +yt_dlp/extractor/mirrorcouk.py yt_dlp/extractor/mit.py yt_dlp/extractor/mitele.py yt_dlp/extractor/mixch.py @@ -453,6 +487,7 @@ yt_dlp/extractor/mixcloud.py yt_dlp/extractor/mlb.py yt_dlp/extractor/mlssoccer.py yt_dlp/extractor/mnet.py +yt_dlp/extractor/mocha.py yt_dlp/extractor/moevideo.py yt_dlp/extractor/mofosex.py yt_dlp/extractor/mojvideo.py @@ -460,11 +495,13 @@ yt_dlp/extractor/morningstar.py yt_dlp/extractor/motherless.py yt_dlp/extractor/motorsport.py yt_dlp/extractor/movieclips.py +yt_dlp/extractor/moviepilot.py yt_dlp/extractor/moviezine.py yt_dlp/extractor/movingimage.py yt_dlp/extractor/msn.py yt_dlp/extractor/mtv.py yt_dlp/extractor/muenchentv.py +yt_dlp/extractor/murrtube.py yt_dlp/extractor/musescore.py yt_dlp/extractor/musicdex.py yt_dlp/extractor/mwave.py @@ -486,12 +523,14 @@ yt_dlp/extractor/ndtv.py yt_dlp/extractor/nebula.py yt_dlp/extractor/nerdcubed.py yt_dlp/extractor/neteasemusic.py +yt_dlp/extractor/netverse.py yt_dlp/extractor/netzkino.py yt_dlp/extractor/newgrounds.py yt_dlp/extractor/newstube.py yt_dlp/extractor/newsy.py yt_dlp/extractor/nextmedia.py yt_dlp/extractor/nexx.py +yt_dlp/extractor/nfb.py yt_dlp/extractor/nfhsnetwork.py yt_dlp/extractor/nfl.py yt_dlp/extractor/nhk.py @@ -505,7 +544,6 @@ yt_dlp/extractor/nintendo.py yt_dlp/extractor/nitter.py yt_dlp/extractor/njpwworld.py yt_dlp/extractor/nobelprize.py -yt_dlp/extractor/noco.py yt_dlp/extractor/nonktube.py yt_dlp/extractor/noodlemagazine.py yt_dlp/extractor/noovo.py @@ -547,12 +585,14 @@ yt_dlp/extractor/outsidetv.py yt_dlp/extractor/packtpub.py yt_dlp/extractor/palcomp3.py yt_dlp/extractor/pandoratv.py +yt_dlp/extractor/panopto.py yt_dlp/extractor/paramountplus.py yt_dlp/extractor/parliamentliveuk.py yt_dlp/extractor/parlview.py yt_dlp/extractor/patreon.py yt_dlp/extractor/pbs.py yt_dlp/extractor/pearvideo.py +yt_dlp/extractor/peekvids.py yt_dlp/extractor/peertube.py yt_dlp/extractor/peertv.py yt_dlp/extractor/peloton.py @@ -562,6 +602,7 @@ yt_dlp/extractor/periscope.py yt_dlp/extractor/philharmoniedeparis.py yt_dlp/extractor/phoenix.py yt_dlp/extractor/photobucket.py +yt_dlp/extractor/piapro.py yt_dlp/extractor/picarto.py yt_dlp/extractor/piksel.py yt_dlp/extractor/pinkbike.py @@ -574,11 +615,13 @@ yt_dlp/extractor/playfm.py yt_dlp/extractor/playplustv.py yt_dlp/extractor/plays.py yt_dlp/extractor/playstuff.py +yt_dlp/extractor/playsuisse.py yt_dlp/extractor/playtvak.py yt_dlp/extractor/playvid.py yt_dlp/extractor/playwire.py yt_dlp/extractor/pluralsight.py yt_dlp/extractor/plutotv.py +yt_dlp/extractor/podchaser.py yt_dlp/extractor/podomatic.py yt_dlp/extractor/pokemon.py yt_dlp/extractor/pokergo.py @@ -595,6 +638,7 @@ yt_dlp/extractor/pornhub.py yt_dlp/extractor/pornotube.py yt_dlp/extractor/pornovoisines.py yt_dlp/extractor/pornoxo.py +yt_dlp/extractor/premiershiprugby.py yt_dlp/extractor/presstv.py yt_dlp/extractor/projectveritas.py yt_dlp/extractor/prosiebensat1.py @@ -630,11 +674,10 @@ yt_dlp/extractor/reuters.py yt_dlp/extractor/reverbnation.py yt_dlp/extractor/rice.py yt_dlp/extractor/rmcdecouverte.py -yt_dlp/extractor/ro220.py yt_dlp/extractor/rockstargames.py +yt_dlp/extractor/rokfin.py yt_dlp/extractor/roosterteeth.py yt_dlp/extractor/rottentomatoes.py -yt_dlp/extractor/roxwel.py yt_dlp/extractor/rozhlas.py yt_dlp/extractor/rtbf.py yt_dlp/extractor/rte.py @@ -647,6 +690,7 @@ yt_dlp/extractor/rts.py yt_dlp/extractor/rtve.py yt_dlp/extractor/rtvnh.py yt_dlp/extractor/rtvs.py +yt_dlp/extractor/rtvslo.py yt_dlp/extractor/ruhd.py yt_dlp/extractor/rule34video.py yt_dlp/extractor/rumble.py @@ -663,6 +707,7 @@ yt_dlp/extractor/sbs.py yt_dlp/extractor/screencast.py yt_dlp/extractor/screencastomatic.py yt_dlp/extractor/scrippsnetworks.py +yt_dlp/extractor/scrolller.py yt_dlp/extractor/scte.py yt_dlp/extractor/seeker.py yt_dlp/extractor/senategov.py @@ -697,7 +742,6 @@ yt_dlp/extractor/sovietscloset.py yt_dlp/extractor/spankbang.py yt_dlp/extractor/spankwire.py yt_dlp/extractor/spiegel.py -yt_dlp/extractor/spiegeltv.py yt_dlp/extractor/spike.py yt_dlp/extractor/sport5.py yt_dlp/extractor/sportbox.py @@ -709,6 +753,7 @@ yt_dlp/extractor/sprout.py yt_dlp/extractor/srgssr.py yt_dlp/extractor/srmediathek.py yt_dlp/extractor/stanfordoc.py +yt_dlp/extractor/startrek.py yt_dlp/extractor/startv.py yt_dlp/extractor/steam.py yt_dlp/extractor/stitcher.py @@ -722,15 +767,16 @@ yt_dlp/extractor/streetvoice.py yt_dlp/extractor/stretchinternet.py yt_dlp/extractor/stripchat.py yt_dlp/extractor/stv.py +yt_dlp/extractor/substack.py yt_dlp/extractor/sunporno.py yt_dlp/extractor/sverigesradio.py yt_dlp/extractor/svt.py yt_dlp/extractor/swrmediathek.py yt_dlp/extractor/syfy.py +yt_dlp/extractor/syvdk.py yt_dlp/extractor/sztvhu.py yt_dlp/extractor/tagesschau.py yt_dlp/extractor/tass.py -yt_dlp/extractor/tastytrade.py yt_dlp/extractor/tbs.py yt_dlp/extractor/tdslifeway.py yt_dlp/extractor/teachable.py @@ -745,6 +791,7 @@ yt_dlp/extractor/tele5.py yt_dlp/extractor/telebruxelles.py yt_dlp/extractor/telecinco.py yt_dlp/extractor/telegraaf.py +yt_dlp/extractor/telegram.py yt_dlp/extractor/telemb.py yt_dlp/extractor/telemundo.py yt_dlp/extractor/telequebec.py @@ -755,9 +802,9 @@ yt_dlp/extractor/tenplay.py yt_dlp/extractor/testurl.py yt_dlp/extractor/tf1.py yt_dlp/extractor/tfo.py +yt_dlp/extractor/theholetv.py yt_dlp/extractor/theintercept.py yt_dlp/extractor/theplatform.py -yt_dlp/extractor/thescene.py yt_dlp/extractor/thestar.py yt_dlp/extractor/thesun.py yt_dlp/extractor/theta.py @@ -785,8 +832,8 @@ yt_dlp/extractor/trueid.py yt_dlp/extractor/trunews.py yt_dlp/extractor/trutv.py yt_dlp/extractor/tube8.py +yt_dlp/extractor/tubetugraz.py yt_dlp/extractor/tubitv.py -yt_dlp/extractor/tudou.py yt_dlp/extractor/tumblr.py yt_dlp/extractor/tunein.py yt_dlp/extractor/tunepk.py @@ -803,6 +850,7 @@ yt_dlp/extractor/tvanouvelles.py yt_dlp/extractor/tvc.py yt_dlp/extractor/tver.py yt_dlp/extractor/tvigle.py +yt_dlp/extractor/tviplayer.py yt_dlp/extractor/tvland.py yt_dlp/extractor/tvn24.py yt_dlp/extractor/tvnet.py @@ -849,13 +897,13 @@ yt_dlp/extractor/vice.py yt_dlp/extractor/vidbit.py yt_dlp/extractor/viddler.py yt_dlp/extractor/videa.py +yt_dlp/extractor/videocampus_sachsen.py yt_dlp/extractor/videodetective.py yt_dlp/extractor/videofyme.py yt_dlp/extractor/videomore.py yt_dlp/extractor/videopress.py yt_dlp/extractor/vidio.py yt_dlp/extractor/vidlii.py -yt_dlp/extractor/vidzi.py yt_dlp/extractor/vier.py yt_dlp/extractor/viewlift.py yt_dlp/extractor/viidea.py @@ -880,7 +928,6 @@ yt_dlp/extractor/vrt.py yt_dlp/extractor/vrv.py yt_dlp/extractor/vshare.py yt_dlp/extractor/vtm.py -yt_dlp/extractor/vube.py yt_dlp/extractor/vuclip.py yt_dlp/extractor/vupload.py yt_dlp/extractor/vvvvid.py @@ -888,6 +935,7 @@ yt_dlp/extractor/vyborymos.py yt_dlp/extractor/vzaar.py yt_dlp/extractor/wakanim.py yt_dlp/extractor/walla.py +yt_dlp/extractor/wasdtv.py yt_dlp/extractor/washingtonpost.py yt_dlp/extractor/wat.py yt_dlp/extractor/watchbox.py @@ -897,7 +945,9 @@ yt_dlp/extractor/webcaster.py yt_dlp/extractor/webofstories.py yt_dlp/extractor/weibo.py yt_dlp/extractor/weiqitv.py +yt_dlp/extractor/wetv.py yt_dlp/extractor/whowatch.py +yt_dlp/extractor/wikimedia.py yt_dlp/extractor/willow.py yt_dlp/extractor/wimtv.py yt_dlp/extractor/wistia.py @@ -911,6 +961,7 @@ yt_dlp/extractor/xfileshare.py yt_dlp/extractor/xhamster.py yt_dlp/extractor/xiami.py yt_dlp/extractor/ximalaya.py +yt_dlp/extractor/xinpianchang.py yt_dlp/extractor/xminus.py yt_dlp/extractor/xnxx.py yt_dlp/extractor/xstream.py @@ -934,7 +985,6 @@ yt_dlp/extractor/yourporn.py yt_dlp/extractor/yourupload.py yt_dlp/extractor/youtube.py yt_dlp/extractor/zapiks.py -yt_dlp/extractor/zaq1.py yt_dlp/extractor/zattoo.py yt_dlp/extractor/zdf.py yt_dlp/extractor/zee5.py diff --git a/pkg/yt-dlp/sha256 b/pkg/yt-dlp/sha256 @@ -1 +1 @@ -c8dd119c28a5d256322ddb3a2fff72bc02ace43fc5880c0065d97f7a48d7a8e3 yt-dlp.tar.gz +d2531dc0d17b78209ac21cbf4e228c5a41b5aca97b46a256c33574ed2176bff2 yt-dlp.tar.gz diff --git a/pkg/yt-dlp/url b/pkg/yt-dlp/url @@ -1 +1 @@ -url = "https://github.com/yt-dlp/yt-dlp/releases/download/2022.02.04/yt-dlp.tar.gz" +url = "https://github.com/yt-dlp/yt-dlp/releases/download/2022.07.18/yt-dlp.tar.gz" diff --git a/pkg/yt-dlp/ver b/pkg/yt-dlp/ver @@ -1 +1 @@ -2022.02.04 r0 +2022.07.18 r0