Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Dec 2023 10:59:00 +0900
From:      Koichiro Iwao <meta@freebsd.org>
To:        Yuri Victorovich <yuri@freebsd.org>
Cc:        ports-committers@freebsd.org, dev-commits-ports-all@freebsd.org,  dev-commits-ports-main@freebsd.org
Subject:   Re: git: 9854c15ac396 - main - www/py-yt-dlp-devel: New port: Program for downloading videos from various platforms (devel files)
Message-ID:  <n4vpoi4pbsuqp5ekgnsrqlc72y45eo5uv27o3yzdxx3v7ygndh@v5v5va2ythjy>
In-Reply-To: <haoug6cednu72x4iony3yfeevliukns4p3diewrpojvtdhyq7e@wvrkzgv5c7s6>
References:  <202312210602.3BL62xj2008372@gitrepo.freebsd.org> <haoug6cednu72x4iony3yfeevliukns4p3diewrpojvtdhyq7e@wvrkzgv5c7s6>

next in thread | previous in thread | raw e-mail | index | archive | help
Mentioned in bugzilla, sorry for the noise.

On Fri, Dec 22, 2023 at 10:56:46AM +0900, Koichiro Iwao wrote:
> Hi,
> 
> Just curious, is there any reason not using consistent name with www/yt-dlp?
> 
> On Thu, Dec 21, 2023 at 06:02:59AM +0000, Yuri Victorovich wrote:
> > The branch main has been updated by yuri:
> > 
> > URL: https://cgit.FreeBSD.org/ports/commit/?id=9854c15ac39641f99d498dd5c5b876a8987b5e28
> > 
> > commit 9854c15ac39641f99d498dd5c5b876a8987b5e28
> > Author:     Yuri Victorovich <yuri@FreeBSD.org>
> > AuthorDate: 2023-12-21 06:01:16 +0000
> > Commit:     Yuri Victorovich <yuri@FreeBSD.org>
> > CommitDate: 2023-12-21 06:02:55 +0000
> > 
> >     www/py-yt-dlp-devel: New port: Program for downloading videos from various platforms (devel files)
> >     
> >     PR:             275325
> > ---
> >  www/Makefile                                      |    1 +
> >  www/py-yt-dlp-devel/Makefile                      |   56 +
> >  www/py-yt-dlp-devel/distinfo                      |    3 +
> >  www/py-yt-dlp-devel/files/patch-Makefile          |   16 +
> >  www/py-yt-dlp-devel/files/patch-yt__dlp_update.py |   22 +
> >  www/py-yt-dlp-devel/pkg-descr                     |    4 +
> >  www/py-yt-dlp-devel/pkg-plist                     | 1150 +++++++++++++++++++++
> >  7 files changed, 1252 insertions(+)
> > 
> > diff --git a/www/Makefile b/www/Makefile
> > index fa26921d973b..8e1f9bb3c925 100644
> > --- a/www/Makefile
> > +++ b/www/Makefile
> > @@ -1881,6 +1881,7 @@
> >      SUBDIR += py-xandikos
> >      SUBDIR += py-xyzservices
> >      SUBDIR += py-yarl
> > +    SUBDIR += py-yt-dlp-devel
> >      SUBDIR += pydio-cells
> >      SUBDIR += qdecoder
> >      SUBDIR += qhttpengine
> > diff --git a/www/py-yt-dlp-devel/Makefile b/www/py-yt-dlp-devel/Makefile
> > new file mode 100644
> > index 000000000000..eecbb3d66606
> > --- /dev/null
> > +++ b/www/py-yt-dlp-devel/Makefile
> > @@ -0,0 +1,56 @@
> > +PORTNAME=	yt-dlp
> > +DISTVERSION=	2023.11.16
> > +CATEGORIES=	www
> > +MASTER_SITES=	https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
> > +PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
> > +PKGNAMESUFFIX=	-devel
> > +DISTNAME=	${PORTNAME}
> > +DIST_SUBDIR=	${PORTNAME}/${DISTVERSION}
> > +
> > +MAINTAINER=	yuri@FreeBSD.org
> > +COMMENT=	Program for downloading videos from various platforms (devel files)
> > +WWW=		https://github.com/yt-dlp/yt-dlp
> > +
> > +LICENSE=	UNLICENSE
> > +LICENSE_FILE=	${WRKSRC}/LICENSE
> > +
> > +RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}brotli>0:archivers/py-brotli@${PY_FLAVOR} \
> > +		${PYTHON_PKGNAMEPREFIX}certifi>0:security/py-certifi@${PY_FLAVOR} \
> > +		${PYTHON_PKGNAMEPREFIX}mutagen>0:audio/py-mutagen@${PY_FLAVOR} \
> > +		${PYTHON_PKGNAMEPREFIX}pycryptodomex>0:security/py-pycryptodomex@${PY_FLAVOR} \
> > +		${PYTHON_PKGNAMEPREFIX}requests>=2.31.0:www/py-requests@${PY_FLAVOR} \
> > +		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
> > +		${PYTHON_PKGNAMEPREFIX}urllib3>=1.26.17:net/py-urllib3@${PY_FLAVOR} \
> > +		${PYTHON_PKGNAMEPREFIX}websockets>0:devel/py-websockets@${PY_FLAVOR}
> > +
> > +USES=		gmake python shebangfix
> > +USE_PYTHON=	concurrent flavors
> > +
> > +SHEBANG_GLOB=	*.py
> > +
> > +NO_BUILD=	yes
> > +NO_ARCH=	yes
> > +
> > +OPTIONS_DEFINE=			FFMPEG RTMPDUMP SECRETSTORAGE
> > +OPTIONS_DEFAULT=		FFMPEG RTMPDUMP
> > +OPTIONS_SUB=			yes
> > +
> > +FFMPEG_RUN_DEPENDS=		ffprobe:multimedia/ffmpeg
> > +
> > +RTMPDUMP_DESC=			Use rtmpdump to download rtmp video streams
> > +RTMPDUMP_RUN_DEPENDS=		rtmpdump:multimedia/rtmpdump
> > +
> > +SECRETSTORAGE_DESC=		Build with ${PYTHON_PKGNAMEPREFIX}SecretStorage for secretstorage option
> > +SECRETSTORAGE_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}SecretStorage>0:security/py-SecretStorage@${PY_FLAVOR}
> > +SECRETSTORAGE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}SecretStorage>0:security/py-SecretStorage@${PY_FLAVOR}
> > +
> > +do-install:
> > +	# copy files
> > +	cd ${WRKSRC} && \
> > +		${GMAKE} PYTHON_SITELIBDIR=${STAGEDIR}${PYTHON_SITELIBDIR} freebsd-install-all-files
> > +	# make the main file executable
> > +	${CHMOD} +x ${STAGEDIR}${PYTHON_SITELIBDIR}/yt_dlp/__main__.py
> > +	# create the symlink
> > +	${RLN} ${STAGEDIR}${PYTHON_SITELIBDIR}/yt_dlp/__main__.py ${STAGEDIR}${PREFIX}/bin/yt-dlp-devel
> > +
> > +.include <bsd.port.mk>
> > diff --git a/www/py-yt-dlp-devel/distinfo b/www/py-yt-dlp-devel/distinfo
> > new file mode 100644
> > index 000000000000..352f1e9e9b65
> > --- /dev/null
> > +++ b/www/py-yt-dlp-devel/distinfo
> > @@ -0,0 +1,3 @@
> > +TIMESTAMP = 1700102733
> > +SHA256 (yt-dlp/2023.11.16/yt-dlp.tar.gz) = aa7fb7e49b57b1b5ac439a72568575e4df904ffc30417e19e644990e7239ac53
> > +SIZE (yt-dlp/2023.11.16/yt-dlp.tar.gz) = 5568397
> > diff --git a/www/py-yt-dlp-devel/files/patch-Makefile b/www/py-yt-dlp-devel/files/patch-Makefile
> > new file mode 100644
> > index 000000000000..92240dc11624
> > --- /dev/null
> > +++ b/www/py-yt-dlp-devel/files/patch-Makefile
> > @@ -0,0 +1,16 @@
> > +--- Makefile.orig	2023-12-21 05:27:41 UTC
> > ++++ Makefile
> > +@@ -90,6 +90,13 @@ yt-dlp: yt_dlp/*.py yt_dlp/*/*.py
> > + 	rm yt-dlp.zip
> > + 	chmod a+x yt-dlp
> > + 
> > ++freebsd-install-all-files:
> > ++	mkdir -p $(PYTHON_SITELIBDIR)
> > ++	for d in $(CODE_FOLDERS) ; do \
> > ++	  mkdir -p $(PYTHON_SITELIBDIR)/$$d ;\
> > ++	  cp -pPR $$d/*.py $(PYTHON_SITELIBDIR)/$$d/ ;\
> > ++	done
> > ++
> > + README.md: yt_dlp/*.py yt_dlp/*/*.py devscripts/make_readme.py
> > + 	COLUMNS=80 $(PYTHON) yt_dlp/__main__.py --ignore-config --help | $(PYTHON) devscripts/make_readme.py
> > + 
> > diff --git a/www/py-yt-dlp-devel/files/patch-yt__dlp_update.py b/www/py-yt-dlp-devel/files/patch-yt__dlp_update.py
> > new file mode 100644
> > index 000000000000..bc649dd50a7b
> > --- /dev/null
> > +++ b/www/py-yt-dlp-devel/files/patch-yt__dlp_update.py
> > @@ -0,0 +1,22 @@
> > +- this patch prevents -U from updating yt-dlp - it makes it "unrecognized"
> > +
> > +--- yt_dlp/update.py.orig	2023-11-16 00:02:06 UTC
> > ++++ yt_dlp/update.py
> > +@@ -73,7 +73,7 @@ def _get_variant_and_executable_path():
> > + 
> > +     path = os.path.dirname(__file__)
> > +     if isinstance(__loader__, zipimporter):
> > +-        return 'zip', os.path.join(path, '..')
> > ++        return 'unknown', os.path.join(path, '..')
> > +     elif (os.path.basename(sys.argv[0]) in ('__main__.py', '-m')
> > +           and os.path.exists(os.path.join(path, '../.git/HEAD'))):
> > +         return 'source', path
> > +@@ -114,7 +114,7 @@ _NON_UPDATEABLE_REASONS = {
> > +     **{variant: f'Auto-update is not supported for unpackaged {name} executable; Re-download the latest release'
> > +        for variant, name in {'win32_dir': 'Windows', 'darwin_dir': 'MacOS', 'linux_dir': 'Linux'}.items()},
> > +     'source': 'You cannot update when running from source code; Use git to pull the latest changes',
> > +-    'unknown': 'You installed yt-dlp with a package manager or setup.py; Use that to update',
> > ++    'unknown': 'Please use the command \'pkg upgrade yt-dlp\' to upgrade.',
> > +     'other': 'You are using an unofficial build of yt-dlp; Build the executable again',
> > + }
> > + 
> > diff --git a/www/py-yt-dlp-devel/pkg-descr b/www/py-yt-dlp-devel/pkg-descr
> > new file mode 100644
> > index 000000000000..38c96a7e6fb7
> > --- /dev/null
> > +++ b/www/py-yt-dlp-devel/pkg-descr
> > @@ -0,0 +1,4 @@
> > +A command-line program to download videos from youtube.com and many other video
> > +platforms.
> > +
> > +This is a fork of youtube-dlc which is inturn a fork of youtube-dl.
> > diff --git a/www/py-yt-dlp-devel/pkg-plist b/www/py-yt-dlp-devel/pkg-plist
> > new file mode 100644
> > index 000000000000..3cba1651f904
> > --- /dev/null
> > +++ b/www/py-yt-dlp-devel/pkg-plist
> > @@ -0,0 +1,1150 @@
> > +bin/yt-dlp-devel
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/YoutubeDL.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/__init__.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/__main__.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/aes.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/cache.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/casefold.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/compat/__init__.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/compat/_deprecated.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/compat/_legacy.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/compat/compat_utils.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/compat/functools.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/compat/imghdr.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/compat/shutil.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/compat/types.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/compat/urllib/__init__.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/compat/urllib/request.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/cookies.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/dependencies/Cryptodome.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/dependencies/__init__.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/__init__.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/common.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/dash.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/external.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/f4m.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/fc2.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/fragment.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/hls.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/http.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/ism.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/mhtml.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/niconico.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/rtmp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/rtsp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/websocket.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/downloader/youtube_live_chat.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/__init__.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/_extractors.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/abc.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/abcnews.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/abcotvs.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/abematv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/academicearth.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/acast.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/acfun.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/adn.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/adobeconnect.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/adobepass.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/adobetv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/adultswim.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/aenetworks.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/aeonco.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/afreecatv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/agora.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/airmozilla.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/airtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/aitube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/aliexpress.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/aljazeera.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/allocine.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/alphaporno.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/alsace20tv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/alura.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/amara.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/amazon.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/amazonminitv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/amcnetworks.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/americastestkitchen.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/amp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/anchorfm.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/angel.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/antenna.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/anvato.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/aol.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/apa.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/aparat.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/appleconnect.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/applepodcasts.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/appletrailers.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/archiveorg.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/arcpublishing.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ard.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/arkena.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/arnes.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/arte.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/atresplayer.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/atscaleconf.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/atttechchannel.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/atvat.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/audimedia.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/audioboom.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/audiodraft.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/audiomack.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/audius.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/awaan.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/aws.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/axs.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/azmedien.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/baidu.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/banbye.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bandaichannel.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bandcamp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bannedvideo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bbc.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/beatbump.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/beatport.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/beeg.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/behindkink.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bellmedia.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/berufetv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bet.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bfi.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bfmtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bibeltv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bigflix.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bigo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bild.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bilibili.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/biobiochiletv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/biqle.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bitchute.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bitwave.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/blackboardcollaborate.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bleacherreport.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/blerp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/blogger.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bloomberg.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bokecc.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bongacams.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bostonglobe.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/box.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/boxcast.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bpb.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/br.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/brainpop.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bravotv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/breakcom.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/breitbart.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/brightcove.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/brilliantpala.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/bundesliga.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/businessinsider.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/buzzfeed.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/byutv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/c56.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cableav.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/callin.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/caltrans.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cam4.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/camdemy.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/camfm.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cammodels.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/camsoda.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/camtasia.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/camwithher.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/canal1.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/canalalpha.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/canalc2.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/canalplus.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/caracoltv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/carambatv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cartoonnetwork.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cbc.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cbs.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cbsinteractive.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cbsnews.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cbssports.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ccc.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ccma.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cctv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cda.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cellebrite.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ceskatelevize.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cgtn.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/channel9.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/charlierose.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/chaturbate.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/chilloutzone.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/chingari.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/chirbit.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cinchcast.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cinemax.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cinetecamilano.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cineverse.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ciscolive.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ciscowebex.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cjsw.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/clipchamp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cliphunter.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/clippit.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cliprs.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/clipsyndicate.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/closertotruth.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cloudflarestream.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cloudy.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/clubic.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/clyp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cmt.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cnbc.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cnn.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/comedycentral.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/common.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/commonmistakes.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/commonprotocols.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/condenast.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/contv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/corus.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/coub.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cozytv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cpac.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cracked.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/crackle.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/craftsy.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/crooksandliars.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/crowdbunker.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/crtvg.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/crunchyroll.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cspan.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ctsnews.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ctv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ctvnews.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cultureunplugged.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/curiositystream.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cwtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/cybrary.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dacast.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/daftsex.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dailymail.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dailymotion.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dailywire.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/damtomo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/daum.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/daystar.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dbtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dctp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/deezer.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/defense.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/democracynow.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/detik.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/deuxm.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dfb.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dhm.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/digg.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/digitalconcerthall.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/digiteka.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/discogs.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/discovery.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/discoverygo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/disney.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dispeak.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dlf.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dlive.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dotsub.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/douyutv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dplay.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/drbonanza.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dreisat.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/drooble.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dropbox.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dropout.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/drtuber.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/drtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dtube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/duboku.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dumpert.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dvtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/dw.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/eagleplatform.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ebaumsworld.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ebay.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/echomsk.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/egghead.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ehow.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/eighttracks.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/einthusan.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/eitb.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/elevensports.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ellentube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/elonet.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/elpais.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/eltrecetv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/embedly.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/engadget.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/epicon.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/eplus.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/epoch.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/eporner.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/erocast.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/eroprofile.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ertgr.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/escapist.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/espn.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/esri.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ettutv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/europa.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/europeantour.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/eurosport.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/euscreen.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/expotv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/expressen.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/extractors.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/extremetube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/eyedotv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/facebook.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fancode.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/faz.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fc2.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fczenit.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fifa.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/filmmodu.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/filmon.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/filmweb.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/firsttv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fivetv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/flickr.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/folketinget.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/footyroom.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/formula1.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fourtube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fourzerostudio.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fox.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fox9.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/foxgay.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/foxnews.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/foxsports.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fptplay.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/franceinter.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/francetv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/freesound.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/freespeech.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/freetv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/frontendmasters.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fujitv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/funimation.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/funk.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/funker530.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fusion.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/fuyintv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gab.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gaia.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gameinformer.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gamejolt.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gamespot.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gamestar.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gaskrank.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gazeta.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gdcvault.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gedidigital.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/generic.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/genericembeds.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/genius.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gettr.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gfycat.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/giantbomb.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/giga.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gigya.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/glide.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/globalplayer.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/globo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/glomex.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gmanetwork.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/go.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/godtube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gofile.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/golem.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/goodgame.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/googledrive.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/googlepodcasts.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/googlesearch.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/goplay.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gopro.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/goshgay.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gotostage.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gputechconf.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/gronkh.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/groupon.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/harpodeon.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hbo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hearthisat.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/heise.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hellporno.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/helsinki.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hgtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hidive.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/historicfilms.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hitbox.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hitrecord.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hketv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hollywoodreporter.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/holodex.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hotnewhiphop.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hotstar.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/howcast.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/howstuffworks.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hrefli.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hrfensehen.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hrti.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hse.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/huajiao.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/huffpost.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hungama.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/huya.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hypem.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hypergryph.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/hytale.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/icareus.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ichinanalive.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/idolplus.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ign.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/iheart.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/iltalehti.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/imdb.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/imggaming.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/imgur.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ina.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/inc.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/indavideo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/infoq.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/instagram.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/internazionale.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/internetvideoarchive.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/iprima.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/iqiyi.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/islamchannel.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/israelnationalnews.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/itprotv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/itv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ivi.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ivideon.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/iwara.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ixigua.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/izlesene.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jable.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jamendo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/japandiet.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jeuxvideo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jiosaavn.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jixie.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/joj.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jove.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jstream.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jtbc.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/jwplatform.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kakao.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kaltura.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kanal2.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kankanews.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/karaoketv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/karrierevideos.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/keezmovies.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kelbyone.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/khanacademy.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kick.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kicker.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kickstarter.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kinja.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kinopoisk.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kommunetv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kompas.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/konserthusetplay.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/koo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/krasview.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kth.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ku6.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kusi.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/kuwo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/la7.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/laola1tv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lastfm.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/laxarxames.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lazy_extractors.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lbry.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lci.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lcp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lecture2go.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lecturio.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/leeco.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lefigaro.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lego.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lemonde.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lenta.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/libraryofcongress.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/libsyn.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lifenews.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/likee.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/limelight.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/linkedin.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/linuxacademy.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/liputan6.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/listennotes.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/litv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/livejournal.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/livestream.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/livestreamfails.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lnkgo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/localnews8.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lovehomeporn.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lrt.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lumni.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/lynda.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/m6.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/magellantv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/magentamusik360.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mailru.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mainstreaming.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/malltv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mangomolo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/manoto.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/manyvids.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/maoritv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/markiza.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/massengeschmacktv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/masters.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/matchtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mbn.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mdr.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/medaltv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mediaite.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mediaklikk.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/medialaan.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mediaset.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mediasite.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mediastream.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mediaworksnz.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/medici.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/megaphone.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/megatvcom.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/meipai.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/melonvod.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/meta.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/metacafe.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/metacritic.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mgoon.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mgtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/miaopai.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/microsoftembed.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/microsoftstream.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/microsoftvirtualacademy.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mildom.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/minds.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ministrygrid.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/minoto.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/miomio.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mirrativ.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mirrorcouk.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mit.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mitele.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mixch.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mixcloud.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mlb.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mlssoccer.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mnet.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mocha.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/moevideo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mofosex.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mojvideo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/monstercat.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/morningstar.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/motherless.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/motorsport.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/movieclips.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/moviepilot.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/moview.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/moviezine.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/movingimage.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/msn.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/muenchentv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/murrtube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/museai.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/musescore.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/musicdex.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mwave.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mxplayer.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mychannels.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/myspace.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/myspass.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/myvi.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/myvideoge.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/myvidster.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/mzaalo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/n1.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nate.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nationalgeographic.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/naver.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nba.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nbc.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ndr.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ndtv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nebula.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nekohacker.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nerdcubed.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/neteasemusic.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/netverse.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/netzkino.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/newgrounds.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/newspicks.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/newstube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/newsy.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nextmedia.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nexx.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nfb.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nfhsnetwork.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nfl.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nhk.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nhl.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nick.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/niconico.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/niconicochannelplus.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ninecninemedia.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ninegag.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ninenow.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nintendo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nitter.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nobelprize.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/noice.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nonktube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/noodlemagazine.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/noovo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/normalboots.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nosnl.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nosvideo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nova.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/novaplay.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nowness.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/noz.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/npo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/npr.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nrk.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nrl.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ntvcojp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ntvde.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ntvru.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nubilesporn.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nuevo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nuvid.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nytimes.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nzherald.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nzonscreen.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/nzz.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/odatv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/odkmedia.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/odnoklassniki.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/oftv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/oktoberfesttv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/olympics.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/on24.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/once.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ondemandkorea.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/onefootball.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/onenewsnz.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/oneplace.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/onet.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/onionstudios.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ooyala.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/opencast.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/openload.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/openrec.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ora.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/orf.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/outsidetv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/owncloud.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/packtpub.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/palcomp3.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pandoratv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/panopto.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/paramountplus.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/parler.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/parlview.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/patreon.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pbs.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pearvideo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/peekvids.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/peertube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/peertv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/peloton.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/people.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/performgroup.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/periscope.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pgatour.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/philharmoniedeparis.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/phoenix.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/photobucket.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/piapro.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/piaulizaportal.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/picarto.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/piksel.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pinkbike.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pinterest.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pixivsketch.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pladform.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/planetmarathi.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/platzi.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playfm.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playplustv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/plays.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playstuff.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playsuisse.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playtvak.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playvid.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/playwire.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pluralsight.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/plutotv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/podbayfm.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/podchaser.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/podomatic.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pokemon.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pokergo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/polsatgo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/polskieradio.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/popcorntimes.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/popcorntv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/porn91.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pornbox.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/porncom.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pornez.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pornflip.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pornhd.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pornhub.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pornotube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pornovoisines.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pornoxo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pr0gramm.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/prankcast.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/premiershiprugby.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/presstv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/projectveritas.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/prosiebensat1.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/prx.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/puhutv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/puls4.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/pyvideo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/qdance.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/qingting.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/qqmusic.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/r7.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/radiko.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/radiobremen.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/radiocanada.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/radiocomercial.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/radiode.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/radiofrance.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/radiojavan.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/radiokapital.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/radiozet.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/radlive.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rai.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/raywenderlich.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rbgtum.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rbmaradio.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rcs.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rcti.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rds.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/recurbate.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/redbee.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/redbulltv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/reddit.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/redgifs.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/redtube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/regiotv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rentv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/restudy.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/reuters.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/reverbnation.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rheinmaintv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rice.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rmcdecouverte.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rockstargames.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rokfin.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/roosterteeth.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rottentomatoes.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rozhlas.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rte.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rtl2.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rtlnl.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rtnews.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rtp.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rtrfm.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rts.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rtvcplay.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rtve.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rtvnh.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rtvs.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rtvslo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ruhd.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rule34video.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rumble.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rutube.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/rutv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ruutu.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/ruv.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/s4c.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/safari.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/saitosan.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/samplefocus.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sapo.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/savefrom.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sbs.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sbscokr.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/screen9.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/screencast.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/screencastify.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/screencastomatic.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/scrippsnetworks.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/scrolller.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/scte.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/seeker.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/senalcolombia.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/senategov.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sendtonews.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/servus.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sevenplus.py
> > +%%PYTHON_SITELIBDIR%%/yt_dlp/extractor/sexu.py
> > *** 337 LINES SKIPPED ***
> 
> -- 
> meta <meta@FreeBSD.org>

-- 
meta <meta@FreeBSD.org>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?n4vpoi4pbsuqp5ekgnsrqlc72y45eo5uv27o3yzdxx3v7ygndh>