dirkf [Tue, 1 Nov 2022 21:33:39 +0000 (21:33 +0000)]
[compat] Add test for compat_casefold()
dirkf [Tue, 1 Nov 2022 19:25:59 +0000 (19:25 +0000)]
[compat] Reformat casefold.py for easier updating
dirkf [Tue, 1 Nov 2022 12:40:23 +0000 (12:40 +0000)]
[compat] Unify unicode/str compat and move up
dirkf [Mon, 31 Oct 2022 21:27:14 +0000 (21:27 +0000)]
[compat] Add compat_casefold and compat_re_Match, for traverse_obj() port
dirkf [Mon, 31 Oct 2022 21:18:36 +0000 (21:18 +0000)]
[compat] Add Python 2 Unicode casefold using a trivial wrapper around icu/CaseFolding.txt
Xie Yanbo [Sun, 30 Oct 2022 11:48:44 +0000 (19:48 +0800)]
[netease] Support urls shared from mobile app (#31304)
Co-authored-by: dirkf <fieldhouse@gmx.net>
Xie Yanbo [Sun, 30 Oct 2022 11:46:46 +0000 (19:46 +0800)]
[netease] Impove error handling (#31303)
* add warnings for users outside of China
* skip empty song urls
Co-authored-by: dirkf <fieldhouse@gmx.net>
dirkf [Thu, 27 Oct 2022 14:33:00 +0000 (14:33 +0000)]
[Vimeo] Update variable name in hydration JSON pattern
Fixes #31311
dirkf [Thu, 20 Oct 2022 11:06:44 +0000 (11:06 +0000)]
[BongaCams] Support new .net domain
Resolves #31262.
ache [Tue, 18 Oct 2022 15:06:27 +0000 (15:06 +0000)]
Fix ADN extractor (#31275)
* Rename Anime Digital Network to Animation Digital Network, animationdigitalnetwork.fr
* Update the test to an available video
* Update the decoding key of subtitles
* Keep the support of old URLs
* Add a test to match the old URL
* Reduce redundancy of the URL name
* Fix md5 ^^"
* Fix undefined _BASE
* Process HTTP error text (eg geo-block) correctly and uniformly in Py3, Py2
* Skip test for CI since geo-blocked
Signed-off-by: ache <ache@ache.one>
Co-authored-by: dirkf <fieldhouse@gmx.net>
dirkf [Thu, 13 Oct 2022 02:42:49 +0000 (02:42 +0000)]
[ManyVids] Support new single-page app structure
dirkf [Thu, 13 Oct 2022 01:59:01 +0000 (01:59 +0000)]
[ManyVids] Support new single-page app structure
See https://github.com/yt-dlp/yt-dlp/issues/5210#issuecomment-
1276919962.
dirkf [Wed, 12 Oct 2022 00:09:55 +0000 (01:09 +0100)]
[Motherless] Pull from yt-dlp, etc
* use username field
* loosen regexes
* warn on page count 0 in group
* avoid reloading group page 1
Closes #29626
Xie Yanbo [Tue, 11 Oct 2022 12:55:09 +0000 (20:55 +0800)]
[netease] Get netease music download url through player api (#31235)
* remove unplayable song from test
* compatible with python 2
* using standard User_Agent, fix imports
* use hash instead of long description
* fix lint
* fix hash
dirkf [Tue, 11 Oct 2022 12:36:44 +0000 (12:36 +0000)]
[Common:JWPlayer] Fix x1000 scaling error
See https://github.com/yt-dlp/yt-dlp/issues/5106#issuecomment-
1264625161
dirkf [Tue, 11 Oct 2022 12:18:12 +0000 (12:18 +0000)]
[utils] Sanitize look-alike Unicode glyphs in non-ID filename fields when --restrict-filenames
Implements https://github.com/ytdl-org/youtube-dl/issues/31216#issuecomment-
1236102822, which has a test.
dirkf [Tue, 11 Oct 2022 04:58:10 +0000 (05:58 +0100)]
[JSInterp] Improve separation logic
Based on https://github.com/yt-dlp/yt-dlp/commit/
0468a3b3253957bfbeb98b4a7c71542ff80e9e06
dirkf [Tue, 9 Aug 2022 18:37:58 +0000 (19:37 +0100)]
[ZDF] Overhaul ZDF extractors
* pull some yt-dlp changes into ZDFBaseIE._extract_format()
* add test cases from yt-dlp to ZDFIE
* fix crash in ZDFIE._extract_mobile() when object had no `formitaeten`
* improve title extraction in ZDFChannelIE (remove trailing station ident)
* avoid extracting non-video playlist items (fixes #31149)
dirkf [Tue, 9 Aug 2022 18:34:34 +0000 (19:34 +0100)]
[test] Implement string "lambda x: condition(x)" as an expected value
Semantics equivalent to `assert condition(got)`
Xiyue [Mon, 10 Oct 2022 22:52:48 +0000 (09:52 +1100)]
[motherless] Fixed the broken uploader_id in the extractor (#31243)
* Fixed the broken uploader_id in the extractor.
* Make uploader_id RE looser
* Fix uploader_id in test Motherless_3
* Fix group pagination
* # coding: utf-8
Co-authored-by: Andy Xuming <xuminic@gmail.com>
Co-authored-by: dirkf <fieldhouse@gmx.net>
dirkf [Mon, 10 Oct 2022 18:26:32 +0000 (19:26 +0100)]
[manyvids] Improve extraction (#31172)
* extract all formats from page
* extract description, uploader, views, likes
* downrate previews
* fix tests
* use txt_or_none()
dirkf [Mon, 10 Oct 2022 17:41:40 +0000 (17:41 +0000)]
[NRK] Remove explicit Accept-Encoding header that invites Brotli
Fixes #31285
coletdjnz [Fri, 23 Sep 2022 00:10:35 +0000 (12:10 +1200)]
[Telegraaf] Use mobile GraphQL API endpoint
Workaround for Cloudflare 403
Fixes https://github.com/yt-dlp/yt-dlp/issues/5000
Authored by: coletdjnz
dirkf [Mon, 3 Oct 2022 23:42:15 +0000 (00:42 +0100)]
[test] Use windows-2019 for tests
(At least for now) resolves #31249
pukkandan [Fri, 2 Sep 2022 15:11:39 +0000 (20:41 +0530)]
[jsinterp] Workaround operator associativity issue
* temporary fix for player
5a3b6271 [1]
1. https://github.com/yt-dlp/yt-dlp/issues/4635#issuecomment-
1235384480
dirkf [Thu, 1 Sep 2022 12:28:30 +0000 (13:28 +0100)]
[cache] Add cache validation by program version, based on yt-dlp
dirkf [Wed, 31 Aug 2022 22:22:48 +0000 (23:22 +0100)]
[jsinterp] Handle new YT players
113ca41c,
c57c113c
* add NaN
* allow any white-space character for `after_op`
* align with yt-dlp
f26af78a8ac11d9d617ed31ea5282cfaa5bcbcfa (charcodeAt and bitwise overflow)
* allow escaping in regex, fixing player
c57c113c
dirkf [Mon, 29 Aug 2022 12:02:17 +0000 (13:02 +0100)]
[options] Document that postprocessing is not forced by --postprocessor-args
Resolves #30307
dirkf [Fri, 26 Aug 2022 11:22:01 +0000 (12:22 +0100)]
[compat] Replace deficient ChainMap class in Py3.3 and earlier
* fix version check
dirkf [Fri, 26 Aug 2022 09:17:56 +0000 (10:17 +0100)]
[compat] Replace deficient ChainMap class in Py3.3 and earlier
dirkf [Fri, 26 Aug 2022 07:17:54 +0000 (08:17 +0100)]
[jsinterp] Improve try/catch/finally support
dirkf [Thu, 25 Aug 2022 11:16:10 +0000 (12:16 +0100)]
[jsinterp] Fix bug in operator precedence
* from https://github.com/yt-dlp/yt-dlp/commit/
164b03c4864b0d44cfee5e7702f7c2317164a6cf
* added tests
dirkf [Thu, 25 Aug 2022 11:14:59 +0000 (12:14 +0100)]
[YouTube] Improve error check for n-sig processing
dirkf [Sat, 20 Aug 2022 23:21:02 +0000 (00:21 +0100)]
[core] Avoid processing empty format list after removing bad formats
* also ensure compat encoding of error strings
dirkf [Sat, 20 Aug 2022 23:19:19 +0000 (00:19 +0100)]
[utils] Ensure RFC3986 encoding result is unicode
gudata [Fri, 19 Aug 2022 20:00:21 +0000 (23:00 +0300)]
[infoq] Avoid crash if the page has no `mp3Form`
* proposed fix for issue #31131, aligns with yt-dlp
Co-authored-by: dirkf <fieldhouse@gmx.net>
dirkf [Fri, 19 Aug 2022 18:11:08 +0000 (19:11 +0100)]
[uktvplay] Support domain without .uktv
dirkf [Fri, 19 Aug 2022 14:34:33 +0000 (15:34 +0100)]
[jsinterp] Clean up and pull yt-dlp style
* add compat_re_Pattern
* improve compat_collections_chain_map
* use class JS_Undefined
* remove unused code
dirkf [Fri, 19 Aug 2022 10:45:04 +0000 (11:45 +0100)]
[jsinterp] Handle regexp literals and throw/catch execution (#31182)
* based on https://github.com/yt-dlp/yt-dlp/commit/
f6ca640b122239d5ab215f8c2564efb7ac3e8c65, thanks pukkandan
* adds parse support for regexp flags
dirkf [Wed, 17 Aug 2022 13:22:02 +0000 (14:22 +0100)]
[jsinterp] Improve JS language support (#31175)
* operator ??
* operator ?.
* operator **
* accurate operator functions
* `undefined` handling
* object literals {a: 1, "b": expr}
* more tests for weird JS comparisons: see https://github.com/ytdl-org/youtube-dl/issues/31173#issuecomment-
1217854397.
dirkf [Mon, 15 Aug 2022 15:45:04 +0000 (16:45 +0100)]
[postprocessor] Don't replace existing value with null metadata parsed from title
dirkf [Sun, 14 Aug 2022 17:45:45 +0000 (18:45 +0100)]
[jsinterp] Overhaul JSInterp to handle new YT players
4c3f79c5,
324f67b9 (#31170)
* back-port from yt-dlp
8f53dc44a0cc1c2d98c35740b9293462c080f5d0, thanks pukkandan
* also support void, improve <</>> precedence, improve expressions in comma-list
* add more tests
dirkf [Wed, 10 Aug 2022 14:37:59 +0000 (15:37 +0100)]
[core] Make `--max-downloads ...` stop immediately on reaching the limit
Based on and closes #26638.
dirkf [Tue, 9 Aug 2022 20:05:00 +0000 (21:05 +0100)]
[test, etc] Improve download test logs; also clean up some new flake8 issues (#31153)
* [test] Identify testcase errors better
* [test] Identify download errors better
* [extractor/minds] Linter
* [extractor/aes] Linter
Wes [Sat, 30 Jul 2022 01:10:00 +0000 (20:10 -0500)]
[aenetworks] Update _THEPLATFORM_KEY and _THEPLATFORM_SECRET (#29749)
Fixes ytdl-org/youtube-dl#29300
Kyraminol Endyeran [Mon, 11 Jul 2022 23:35:40 +0000 (01:35 +0200)]
[VVVVID] Support video/dash types (#31060)
Resolves #31030.
dirkf [Sun, 3 Jul 2022 19:05:21 +0000 (20:05 +0100)]
[options] Improve
be35e53 (--match-/reject-title parameter value)
Resolves #31064.
dirkf [Sun, 26 Jun 2022 13:18:33 +0000 (14:18 +0100)]
[Mediaset] Support player version number in URL pattern
Ref: https://github.com/yt-dlp/yt-dlp/issues/4141
dirkf [Tue, 14 Jun 2022 18:45:34 +0000 (19:45 +0100)]
[NHK] Use new API URL
dirkf [Wed, 15 Jun 2022 17:26:54 +0000 (18:26 +0100)]
dirkf [Sun, 12 Jun 2022 13:10:38 +0000 (14:10 +0100)]
[XHamster] Support xhday.com alias, extract `uploader_id`
* support xhday.com alias for xhamster.com (resolves #31023)
Authored by: dirkf
* extract `uploader_id`:
from https://github.com/yt-dlp/yt-dlp/commit/
908b56eaf7872149706dbd7fa071f838d0c786b7
(PR https://github.com/yt-dlp/yt-dlp/pull/844)
Authored by: octotherp
pukkandan [Sat, 9 Jan 2021 12:26:12 +0000 (17:56 +0530)]
[utils, etc] Kill child processes when yt-dl is killed
* derived from PR #26592, closes #26592
Authored by: Unrud
dirkf [Thu, 9 Jun 2022 14:25:23 +0000 (15:25 +0100)]
[YouTube] Support JSON3 subtitle format
* subtitle tests updated to match
dirkf [Wed, 8 Jun 2022 22:11:33 +0000 (23:11 +0100)]
[test] Fix workable subtitle tests (except YT) and mark others as skip, broken
* broken tests need to be fixed when fixing the respective IE
dirkf [Wed, 8 Jun 2022 14:52:21 +0000 (15:52 +0100)]
[test] Skip not _WORKING IE in subtitle tests; use unittest.skipTest throughout
dirkf [Mon, 6 Jun 2022 18:29:48 +0000 (19:29 +0100)]
[HRFernsehen] Back-port new extractor from yt-dlp
Closes #26445, where this was originally proposed.
pukkandan [Wed, 28 Apr 2021 23:26:09 +0000 (04:56 +0530)]
[utils] Escape URL while sanitizing
Closes #31008, #yt-dlp/263
While this fixes the issue in question, it does not try to address the root-cause of the problem
Refer:
915f911e365736227e134ad654601443dbfd7ccb,
f5fa042c82300218a2d07b95dd6b9c0756745db3
LewdyCoder [Mon, 30 May 2022 01:50:50 +0000 (03:50 +0200)]
[Readme] Clarified extractor naming (#29799)
* Exported usable extractors must be named `xxxxIE`
Co-authored-by: dirkf <fieldhouse@gmx.net>
dirkf [Sat, 28 May 2022 12:54:32 +0000 (13:54 +0100)]
[YouPorn] Improve `upload_date` extraction
See https://github.com/yt-dlp/yt-dlp/issues/2701#issuecomment-
1034341883
dirkf [Sat, 28 May 2022 12:52:51 +0000 (13:52 +0100)]
[utils] Enable ALPN in HTTPS to satisfy broken servers
See https://github.com/yt-dlp/yt-dlp/issues/3878
dirkf [Tue, 24 May 2022 14:33:00 +0000 (15:33 +0100)]
[YouTube] Handle player
c5a4daa1 with indirect n-function definition
* resolves #30976
Jacob Chapman [Wed, 13 Apr 2022 12:21:23 +0000 (07:21 -0500)]
Update options.py
dirkf [Thu, 19 May 2022 17:41:48 +0000 (17:41 +0000)]
[wat.tv] Add version `pver` to metadata API call
Resolves #30959.
dirkf [Mon, 9 May 2022 17:54:41 +0000 (18:54 +0100)]
[NHK] Support alphabetic characters in 7-char NhkVod IDs (#29682)
dirkf [Thu, 28 Apr 2022 14:25:49 +0000 (15:25 +0100)]
[doc] Clarify test naming
dirkf [Fri, 29 Apr 2022 12:36:02 +0000 (13:36 +0100)]
[streamcz] Remove empty `'{}'.format()` for Py2.6
Use `'-join()'` here, or `{0}`, ..., in general.
Árni Dagur [Thu, 28 Apr 2022 09:18:10 +0000 (11:18 +0200)]
[KTH] Add new extractor for KTH play (#30885)
* Implement extractor for KTH play
* Make KTH Play url regex more relaxed
dirkf [Fri, 15 Apr 2022 15:07:09 +0000 (16:07 +0100)]
[Youtube] Fix "n" descrambling for player
fae06c11
Resolves #30856.
dirkf [Sun, 10 Apr 2022 04:49:09 +0000 (05:49 +0100)]
Disable blank issues
nixxo [Sat, 2 Apr 2022 05:57:56 +0000 (07:57 +0200)]
[RAI] Fix extraction of http formats
From https://github.com/yt-dlp/yt-dlp/pull/3272
Closes https://github.com/yt-dlp/yt-dlp/issues/3270
Authored by: nixxo
nixxo [Wed, 27 Jan 2021 11:24:50 +0000 (12:24 +0100)]
[RAI] Extend formats with direct http mp4 link (PR #27990)
* initial support for creating direct mp4 link
* improved regexes and info extraction
* added "connection: close" to request headers
* updated to https://github.com/yt-dlp/yt-dlp/pull/208
nixxo [Mon, 4 Jan 2021 14:11:47 +0000 (15:11 +0100)]
[RAI] Added checks for DRM protected content (PR #27657)
reviewed by pukkandan (https://github.com/yt-dlp/yt-dlp/pull/150)
lihan7 [Fri, 25 Mar 2022 07:46:28 +0000 (15:46 +0800)]
[extractor/bilibili] Fix path "/audio/auxxxxx" download return 403
dirkf [Tue, 22 Feb 2022 11:24:06 +0000 (11:24 +0000)]
Ignore --external-downloader-args if --external-downloader was rejected
... and generate warning
df [Sun, 1 Aug 2021 08:42:57 +0000 (09:42 +0100)]
Make default upload_/release_date a compat_str
Ensures download tests pass in Python 2 as well as 3; also
add YoutubeDL tests for timestamp -> upload_date etc.
dirkf [Fri, 30 Jul 2021 11:58:19 +0000 (12:58 +0100)]
Avoid skipping ID when unlisted_hash is numeric
Pattern needed a non-greedy match; also replaced a redundant test with one for this, issue 29690
dirkf [Mon, 7 Feb 2022 20:06:27 +0000 (20:06 +0000)]
[Alsace20TV] Add new extractors Alsace20TVIE, Alsace20TVEmbedIE
dirkf [Thu, 24 Feb 2022 09:16:16 +0000 (09:16 +0000)]
[CPAC] Add extractor for Canadian Parliament
CPACIE: single episode
CPACPlaylistIE: playlists and searches
dirkf [Thu, 24 Feb 2022 18:26:58 +0000 (18:26 +0000)]
Fixed groups() call on potentially empty regex search object (#30676)
* Fixed groups() call on potentially empty regex search object.
- https://github.com/ytdl-org/youtube-dl/issues/30521
* minimising lines changed
Co-authored-by: yayorbitgum <50963144+yayorbitgum@users.noreply.github.com>
marieell [Thu, 10 Feb 2022 09:36:24 +0000 (10:36 +0100)]
[aliexpress] Fix test case
Lesmiscore (Naoya Ozaki) [Thu, 24 Feb 2022 13:34:32 +0000 (22:34 +0900)]
[bigo] add support for bigo.tv (#30635)
* [bigo] add support for bigo.tv
* [bigo] prepend "Bigo says"
* title fallback
* add error for invalid json data
Vladimir Stavrinov [Mon, 14 Feb 2022 17:54:31 +0000 (20:54 +0300)]
[rutv] fix vbr for empty string value (#30623)
* [rutv] use str_to_int() (thx dirkf)
Petr Vaněk [Sat, 12 Feb 2022 14:27:10 +0000 (15:27 +0100)]
add missing __future__ import unicode_literals
Petr Vaněk [Sat, 12 Feb 2022 14:02:08 +0000 (15:02 +0100)]
resolve problem with unpacking operator for <py3.5
Petr Vaněk [Sat, 12 Feb 2022 12:13:20 +0000 (13:13 +0100)]
[streamcz] test fixes and one additional test
Petr Vaněk [Sat, 12 Feb 2022 11:30:29 +0000 (12:30 +0100)]
do not use f-strings
Petr Vaněk [Sat, 12 Feb 2022 11:28:30 +0000 (12:28 +0100)]
avoid traverse_obj function
Petr Vaněk [Sat, 12 Feb 2022 10:55:13 +0000 (11:55 +0100)]
revert: use _match_valid_url function
Petr Vaněk [Tue, 11 Jan 2022 16:56:18 +0000 (17:56 +0100)]
[streamcz] cherry-pick from yt-dlp
Cherry-picked-from:
7d449fff5346 ("[streamcz] Fix extractor (#1616)")
dirkf [Wed, 9 Feb 2022 04:37:28 +0000 (04:37 +0000)]
[extractor/videa] Back-port from yt-dlp PRs 463+1028
Authored by: nyuszika7h
kikuyan [Thu, 23 Dec 2021 02:40:45 +0000 (11:40 +0900)]
[extractor/videa] fix extraction in Py2
Fixes #30416
dirkf [Wed, 9 Feb 2022 21:21:59 +0000 (21:21 +0000)]
[BBC] Also allow PID with leading 'l' (live?)
dirkf [Wed, 9 Feb 2022 02:40:34 +0000 (02:40 +0000)]
[Nuvid] Use site JSON for video details (#29332)
Back-port yt-dlp PR 1022 onto PR #17890 and update
Video details aren't in the original HTML now but populated by async JS
Co-authored by: u-spec-png
Co-authored by: vidaritos
dirkf [Mon, 7 Feb 2022 13:28:21 +0000 (13:28 +0000)]
[ARD] Back-port subtitle extraction from yt-dlp PR 2409
Authored by: fstirlitz
Fixes #30543
Closes #17766 (thanks ngdio)
Seonghyeon Cho [Wed, 13 Oct 2021 11:27:40 +0000 (20:27 +0900)]
Remove redundant assigning `format_id`
df [Mon, 18 Oct 2021 14:54:26 +0000 (15:54 +0100)]
Add ArteTVCategoryIE to support category playlists
Abdullah Ibn Fulan [Tue, 17 Aug 2021 19:56:39 +0000 (19:56 +0000)]
Updated Album URL regex
Mistakenly forgot to edit a line in last commit.
Co-authored-by: dirkf <fieldhouse@gmx.net>
Abdullah Ibn Fulan [Tue, 17 Aug 2021 12:22:07 +0000 (18:22 +0600)]
[extractor/audiomack] Updated URL regex, corrected invalid testcases, fixed bug
Co-authored-by: dirkf <fieldhouse@gmx.net>
dirkf [Tue, 30 Nov 2021 05:15:33 +0000 (05:15 +0000)]
Support __INITIAL_DATA__ with stringified JSON
Add test and fix test for bbcthreeConfig
df [Sun, 18 Apr 2021 00:46:40 +0000 (01:46 +0100)]
Try for timestamp, description from window.__INITIAL_DATA__ pages