Leon Etienne
e9611a2a36
[pr0gramm] implement InfoExtractor, Resolves #31433 ( #31434 )
...
* [pr0gramm] implement infoextractor
* [pr0gramm] remove misplaced comment, uncapture regex-group
* [pr0gramm]: specify utf-8 coding
* [pr0gramm]: add trailing comma to lists for maintainability
* [pr0gramm]: ie only sets upload_date attribute
* [pr0gramm]: add video_id to title
* [pr0gramm]: more forgiving _valid_url regex
* [pr0gramm]: add uploader to title, if set
* Discriminate URL pattern
---------
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
JChris246
807e593a32
[cammodels] fix and improve extractor ( #31453 )
...
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
Brian Marks
37cbdfa0e7
[americastestkitchen] Add support for downloading entire series ( #31493 )
...
Also
* support new sites and URL patterns
* back-port from yt-dlp
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
dirkf
295736c9cb
[jsinterp] Improve parsing
...
* support subset `... else if ...`
* support `while`
* add `RegExp` class
* generalise `new` support
* limited more debug strings
* matching test changes
2 years ago
pukkandan
14ef89a8da
Support `if` statements
...
Fix for yt-dlp/yt_dlp#6131
Closes #31509
2 years ago
dirkf
195f22f679
[generic] Improve KVS (etc) extraction
2 years ago
dirkf
fc2beab0e7
[generic] Improve KVS (etc) extraction
...
* detect kt_player('kt_player', 'https://.../kt_player.swf?v=5 ...
* detect age limit if 18 USC 2257 is mentioned
* test with shooshtime.com
Partially resolves #31332 .
2 years ago
FraFraFra-LongD
1a4fbe8462
Added ThisVid.com support ( #29187 )
...
* add ThisVidIE, ThisVidMemberIE, ThisVidPlaylistIE
* redirect embed to main page for more metadata
* use KVS extraction newly added to GenericIE and remove duplicate tests
* also add MrDeepFake etc compat to GenericIE
(closes #22390 )
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
dirkf
c2f9be3e63
[generic] Add KVS player extraction
2 years ago
dirkf
604762a9f8
[common:jwplayer] Improve jwplayer extraction and parsing ( #31000 )
...
* don't crash parser if jwplayer_data is invalid (empty, or no formats)
* use `label` in `sources[n]` as `format_id`
* relax `jwplayer().setup(...)` RE (also rework PR #27274 enhancement)
* detect more manifest formats in _parse_jwplayer_formats() (from PR #29596 )
* improve metadata extraction (from PR #25433 )
* remember URLs in a set
* use parse_resolution() in format
* extract filesize in format (from yt-dlp)
Co-authored-by: kikuyan <kikuyan@users.noreply.github.com>
Co-authored-by: martin54 <martin54@users.noreply.github.com>
2 years ago
Moises Lima
47e70fff8b
[PeekVids, PlayVids] Add new extractor ( #29765 )
...
* Merge back-port from yt-dlp
* Merge features from PR #29798
* Improve metadata extraction
Co-authored-by: dirkf <fieldhouse@gmx.net>
Co-authored by: AXDOOMER
2 years ago
dirkf
de39d1281c
[extractor/ceskatelevize] Back-port extractor from yt-dlp, etc ( #30713 )
...
* back-port extractor, removing CeskaTelevizePoradyIE
* follow redirect URL
* support liveBroadcast and videobonusDetail in __NEXT__ data
* return single video for singleton playlist
* fix/add tests
2 years ago
Andrei Lebedev
27ed77aabb
[utils] Backport traverse_obj (etc) from yt-dlp ( #31156 )
...
* Backport traverse_obj and closely related function from yt-dlp (code by pukkandan)
* Backport LazyList, variadic(), try_call (code by pukkandan)
* Recast using yt-dlp's newer traverse_obj() implementation and tests (code by grub4k)
* Add tests for Unicode case folding support matching Py3.5+ (requires f102e3d
)
* Improve/add tests for variadic, try_call, join_nonempty
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
dirkf
c4b19a8816
[compat] Work around in case folding for narrow Python build
...
Resolves #31324 .
2 years ago
dirkf
a874871801
[compat] Reformat casefold.py for easier updating
2 years ago
dirkf
b7c25959f0
[compat] Unify unicode/str compat and move up
2 years ago
dirkf
f102e3dc4e
[compat] Add compat_casefold and compat_re_Match, for traverse_obj() port
2 years ago
dirkf
a19855f0f5
[compat] Add Python 2 Unicode casefold using a trivial wrapper around icu/CaseFolding.txt
2 years ago
Xie Yanbo
ce5d36486e
[netease] Support urls shared from mobile app ( #31304 )
...
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
Xie Yanbo
d25cf62086
[netease] Impove error handling ( #31303 )
...
* add warnings for users outside of China
* skip empty song urls
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
dirkf
502cefa41f
[Vimeo] Update variable name in hydration JSON pattern
...
Fixes #31311
2 years ago
dirkf
0faa45d6c0
[BongaCams] Support new .net domain
...
Resolves #31262 .
2 years ago
ache
447edc48e6
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>
2 years ago
dirkf
ee8560d01e
[ManyVids] Support new single-page app structure
2 years ago
dirkf
7135277fec
[ManyVids] Support new single-page app structure
...
See https://github.com/yt-dlp/yt-dlp/issues/5210#issuecomment-1276919962 .
2 years ago
dirkf
7bbd5b13d4
[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
2 years ago
Xie Yanbo
c91cbf6072
[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
2 years ago
dirkf
11b284c81f
[Common:JWPlayer] Fix x1000 scaling error
...
See https://github.com/yt-dlp/yt-dlp/issues/5106#issuecomment-1264625161
2 years ago
dirkf
c94a459a24
[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.
2 years ago
dirkf
6e2626f092
[JSInterp] Improve separation logic
...
Based on 0468a3b325
2 years ago
dirkf
c282e5f8d7
[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 )
2 years ago
Xiyue
82e4eca711
[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>
2 years ago
dirkf
1b1442887e
[manyvids] Improve extraction ( #31172 )
...
* extract all formats from page
* extract description, uploader, views, likes
* downrate previews
* fix tests
* use txt_or_none()
2 years ago
dirkf
22127b271c
[NRK] Remove explicit Accept-Encoding header that invites Brotli
...
Fixes #31285
2 years ago
coletdjnz
d35557a75d
[Telegraaf] Use mobile GraphQL API endpoint
...
Workaround for Cloudflare 403
Fixes https://github.com/yt-dlp/yt-dlp/issues/5000
Authored by: coletdjnz
2 years ago
pukkandan
7009bb9f31
[jsinterp] Workaround operator associativity issue
...
* temporary fix for player 5a3b6271 [1]
1. https://github.com/yt-dlp/yt-dlp/issues/4635#issuecomment-1235384480
2 years ago
dirkf
218c423bc0
[cache] Add cache validation by program version, based on yt-dlp
2 years ago
dirkf
55c823634d
[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
2 years ago
dirkf
4050e10a4c
[options] Document that postprocessing is not forced by --postprocessor-args
...
Resolves #30307
2 years ago
dirkf
ed5c44e7b7
[compat] Replace deficient ChainMap class in Py3.3 and earlier
...
* fix version check
2 years ago
dirkf
0f6422590e
[compat] Replace deficient ChainMap class in Py3.3 and earlier
2 years ago
dirkf
4c6fba3765
[jsinterp] Improve try/catch/finally support
2 years ago
dirkf
d619dd712f
[jsinterp] Fix bug in operator precedence
...
* from 164b03c486
* added tests
2 years ago
dirkf
573b13410e
[YouTube] Improve error check for n-sig processing
2 years ago
dirkf
66e58dccc2
[core] Avoid processing empty format list after removing bad formats
...
* also ensure compat encoding of error strings
2 years ago
dirkf
556862bc91
[utils] Ensure RFC3986 encoding result is unicode
2 years ago
gudata
a8d5316aaf
[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>
2 years ago
dirkf
fd3f3bebd0
[uktvplay] Support domain without .uktv
2 years ago
dirkf
46b8ae2f52
[jsinterp] Clean up and pull yt-dlp style
...
* add compat_re_Pattern
* improve compat_collections_chain_map
* use class JS_Undefined
* remove unused code
2 years ago
dirkf
538ec65ba7
[jsinterp] Handle regexp literals and throw/catch execution ( #31182 )
...
* based on f6ca640b12
, thanks pukkandan
* adds parse support for regexp flags
2 years ago
dirkf
b0a60ce203
[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 .
2 years ago
dirkf
e52e8b8111
[postprocessor] Don't replace existing value with null metadata parsed from title
2 years ago
dirkf
d231b56717
[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
2 years ago
dirkf
e6a836d54c
[core] Make `--max-downloads ...` stop immediately on reaching the limit
...
Based on and closes #26638 .
2 years ago
dirkf
deee741fb1
[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
2 years ago
Wes
adb5294177
[aenetworks] Update _THEPLATFORM_KEY and _THEPLATFORM_SECRET ( #29749 )
...
Fixes ytdl-org/youtube-dl#29300
2 years ago
Kyraminol Endyeran
5f5c127ece
[VVVVID] Support video/dash types ( #31060 )
...
Resolves #31030 .
3 years ago
dirkf
090acd58c1
[options] Improve be35e53
(--match-/reject-title parameter value)
...
Resolves #31064 .
3 years ago
dirkf
a03b9775d5
[Mediaset] Support player version number in URL pattern
...
Ref: https://github.com/yt-dlp/yt-dlp/issues/4141
3 years ago
dirkf
8a158a936c
[NHK] Use new API URL
3 years ago
dirkf
cc179df346
[XHamster] Support xhday.com alias, extract `uploader_id`
...
* support xhday.com alias for xhamster.com (resolves #31023 )
Authored by: dirkf
* extract `uploader_id`:
from 908b56eaf7
(PR https://github.com/yt-dlp/yt-dlp/pull/844 )
Authored by: octotherp
3 years ago
pukkandan
0700fde640
[utils, etc] Kill child processes when yt-dl is killed
...
* derived from PR #26592 , closes #26592
Authored by: Unrud
3 years ago
dirkf
811c480f7b
[YouTube] Support JSON3 subtitle format
...
* subtitle tests updated to match
3 years ago
dirkf
530f4582d0
[HRFernsehen] Back-port new extractor from yt-dlp
...
Closes #26445 , where this was originally proposed.
3 years ago
pukkandan
1baa0f5f66
[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
3 years ago
dirkf
04fd3289d3
[YouPorn] Improve `upload_date` extraction
...
See https://github.com/yt-dlp/yt-dlp/issues/2701#issuecomment-1034341883
3 years ago
dirkf
52c3751df7
[utils] Enable ALPN in HTTPS to satisfy broken servers
...
See https://github.com/yt-dlp/yt-dlp/issues/3878
3 years ago
dirkf
187a48aee2
[YouTube] Handle player c5a4daa1 with indirect n-function definition
...
* resolves #30976
3 years ago
Jacob Chapman
be35e5343a
Update options.py
3 years ago
dirkf
c3deca86ae
[wat.tv] Add version `pver` to metadata API call
...
Resolves #30959 .
3 years ago
dirkf
c7965b9fc2
[NHK] Support alphabetic characters in 7-char NhkVod IDs ( #29682 )
3 years ago
dirkf
e27d8d819f
[streamcz] Remove empty `'{}'.format()` for Py2.6
...
Use `'-join()'` here, or `{0}`, ..., in general.
3 years ago
Árni Dagur
ebc627847c
[KTH] Add new extractor for KTH play ( #30885 )
...
* Implement extractor for KTH play
* Make KTH Play url regex more relaxed
3 years ago
dirkf
a0068bd6be
[Youtube] Fix "n" descrambling for player fae06c11
...
Resolves #30856 .
3 years ago
nixxo
871645a4a4
[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
3 years ago
nixxo
1f50a07771
[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
3 years ago
nixxo
9e5ca66f16
[RAI] Added checks for DRM protected content (PR #27657 )
...
reviewed by pukkandan (https://github.com/yt-dlp/yt-dlp/pull/150 )
3 years ago
lihan7
17d295a1ec
[extractor/bilibili] Fix path "/audio/auxxxxx" download return 403
3 years ago
dirkf
49c5293014
Ignore --external-downloader-args if --external-downloader was rejected
...
... and generate warning
3 years ago
df
6508688e88
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.
3 years ago
dirkf
4194d253c0
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
3 years ago
dirkf
f8e543c906
[Alsace20TV] Add new extractors Alsace20TVIE, Alsace20TVEmbedIE
3 years ago
dirkf
c4d1738316
[CPAC] Add extractor for Canadian Parliament
...
CPACIE: single episode
CPACPlaylistIE: playlists and searches
3 years ago
dirkf
1f13ccfd7f
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>
3 years ago
marieell
923292ba64
[aliexpress] Fix test case
3 years ago
Lesmiscore (Naoya Ozaki)
782bfd26db
[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
3 years ago
Vladimir Stavrinov
3472227074
[rutv] fix vbr for empty string value ( #30623 )
...
* [rutv] use str_to_int() (thx dirkf)
3 years ago
Petr Vaněk
bf23bc0489
add missing __future__ import unicode_literals
3 years ago
Petr Vaněk
85bf26c1d0
resolve problem with unpacking operator for <py3.5
3 years ago
Petr Vaněk
d8adca1b66
[streamcz] test fixes and one additional test
3 years ago
Petr Vaněk
d02064218b
do not use f-strings
3 years ago
Petr Vaněk
b1297308fb
avoid traverse_obj function
3 years ago
Petr Vaněk
8088ce036a
revert: use _match_valid_url function
3 years ago
Petr Vaněk
29f7bfc4d7
[streamcz] cherry-pick from yt-dlp
...
Cherry-picked-from: 7d449fff5346 ("[streamcz] Fix extractor (#1616 )")
3 years ago
dirkf
74f8cc48af
[extractor/videa] Back-port from yt-dlp PRs 463+1028
...
Authored by: nyuszika7h
3 years ago
kikuyan
8ff961d10f
[extractor/videa] fix extraction in Py2
...
Fixes #30416
3 years ago
dirkf
266b6ef185
[BBC] Also allow PID with leading 'l' (live?)
3 years ago
dirkf
825d3426c5
[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
3 years ago
dirkf
47b0c8697a
[ARD] Back-port subtitle extraction from yt-dlp PR 2409
...
Authored by: fstirlitz
Fixes #30543
Closes #17766 (thanks ngdio)
3 years ago
Seonghyeon Cho
734dfbb4e3
Remove redundant assigning `format_id`
3 years ago