dirkf
211cbfd5d4
[jsinterp] Minimally handle arithmetic operator precedence
...
Resolves #32066
2 years ago
dirkf
26035bde46
[DashSegmentsFD] Correctly detect errors when `fragment_retries` == 0
...
* use the success flag instead of the retry count
* establish the fragment_url outside the retry loop
* only report skipping a fragment once.
* resolves #32033
2 years ago
dirkf
2da3fa04a6
[YouTube] Simplify signature patterns
2 years ago
Gabriel Nagy
735e87adfc
[core] Sanitize info dict before dumping JSON (fixes fe7e130
) ( #32032 )
...
* follow up to fe7e130
which didn't fix everything.
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
dirkf
fe7e13066c
[core] Add and use sanitize_info() method from yt-dlp
2 years ago
dirkf
213d1d91bf
[core] No longer importing copy
2 years ago
dirkf
f8253a5289
[core] Avoid deepcopy of ctx dict (fix f35b757
) (Pt 2)
2 years ago
dirkf
d6ae3b77cd
[core] Avoid deepcopy of ctx dict (fix f35b757
)
...
* may now contain `LazyList`s
* resolves #31999
2 years ago
dirkf
9f4d83ff42
[options] Add --mtime option, unsets default --no-mtime
...
* resolves #1709 (!)
2 years ago
dirkf
25124bd640
[devscripts] Improve hack to convert command-line options to API options
...
* define equality for DateRange
* don't show default DateRange
2 years ago
dirkf
78da22489b
[compat] Add and use `compat_open()` like Py3 `open()`
...
* resolves FIXME: ytdl-org/youtube-dl/commit/dfe5fa4
2 years ago
dirkf
557dbac173
[FragmentFD] Fix iteration with infinite limit
...
* fixes ytdl-org/youtube-dl/baa6c5e
* resolves #31885
2 years ago
pukkandan
3f6d2bd76f
[extractor/youtube] Bypass throttling for `-f17`
...
and related cleanup
Thanks @AudricV for the finding
Ref: yt-dlp/yt-dlp/commit/c9abebb
2 years ago
pukkandan
88f28f620b
[extractor/youtube] Construct fragment list lazily
...
Ref: yt-dlp/yt-dlp/commit/e389d17
See: yt-dlp/yt-dlp#6517
2 years ago
dirkf
f35b757c82
[utils] Ensure `allow_types` for `variadic()` is a tuple
2 years ago
dirkf
45495228b7
[downloader/http] Only check for resumability when actually resuming
2 years ago
dirkf
6fece0a96b
[AENetworksBaseIE] Report missing show data instead of crash
2 years ago
dirkf
e8de54bce5
[core] Handle `/../` sequences in HTTP URLs
...
* use Python's RFC implementation for embedded sequences
* hack: strip unbalanced leading `../` from path, like eg Firefox
See https://github.com/yt-dlp/yt-dlp/issues/3355
2 years ago
dirkf
baa6c5e95c
[FragmentFD] Respect `--no-continue`
...
* discard partial fragment on `--no-continue`
* continue with correct progress display otherwise
Resolves #21467
2 years ago
dirkf
5c985d4f81
[downloader] Let _ffmpeg_ handle DASH segments
...
Fixes https://github.com/ytdl-org/youtube-dl/issues/31792 after 3da1783
.
2 years ago
dirkf
0402710227
[jsinterp] Fix regexp parsing and .replace[All] method
...
* For performance, make regexp object instantiation lazy
* Other small performance improvements
2 years ago
pukkandan
3e92c60fcd
[jsinterp] Handle `Date` at epoch 0
...
See yt-dlp/yt_dlp#6400
2 years ago
pukkandan
3da17834a4
[Youtube] Construct dash formats with `range` query
...
See yt-dlp/yt_dlp#6369
2 years ago
dirkf
f7ce98a21e
[YouTube] Support @owner format in uploader_id etc
...
* implement https://github.com/ytdl-org/youtube-dl/issues/31530#issuecomment-1435734719
* update affected tests
* misc clean-ups
2 years ago
pukkandan
1d3751c3fe
Escape URLs in `sanitized_Request`, not `sanitize_url` d2558234cf5dd12d6896eed5427b7dcdb3ab7b5a added escaping of URLs while sanitizing. However, `sanitize_url` may not always receive an actual URL. Eg: When using `youtube-dl "search query" --default-search ytsearch`, `search query` gets escaped to `search%20query` before being prefixed with `ytsearch:` which is not the intended behavior. So the escaping is moved to `sanitized_Request` instead.
2 years ago
df
6067451e43
[Vimeo] Fix e19ec52
for tween-age Pythons
...
* a check in older Pythons in the 2.7 and earlier, 3.3, 3.4 series caused "sre_constants.error: nothing to repeat"
* satisfy the check by avoiding nested qualifiers that can match empty string
Resolves #31597
2 years ago
dirkf
57802e632f
[jsinterp] Fix dict comprehension for Py2.6
...
Resolves #31600
2 years ago
dirkf
2dd6c6edd8
[YouTube] Avoid crash if uploader_id extraction fails
...
See #31530 .
2 years ago
dirkf
42b098dd79
[InfoExtractor] Handle unquoted values in OpenGraph searches
2 years ago
fonkap
6f8c2635a5
[StreamsbIE] Add extractor for streamsb.com (viewsb.com) ( #31517 )
...
* Add extractor for streamsb.com (viewsb.com)
* make data url using app.js version
---------
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
fonkap
de48105dd8
[KommunetvIE] Add extractor for kommunetv.no ( #31516 )
...
* Add extractor for kommunetv.no
* Using utils.update_url instead of regex
---------
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
fonkap
822f19f05d
[FileMoonIE] Add extractor for filemoon.sx ( #31515 )
...
---------
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
teddy171
33db85c571
[feat]: Add support to external downloader aria2p ( #31500 )
...
* feat: add class Aria2pFD
* feat: create call_downloader function
* feat: a colorful download interface to aria2pFD
* feat: change value name
* Apply suggestions from code review
Co-authored-by: dirkf <fieldhouse@gmx.net>
* Typo in suggestion
* fix: remove unused value
* fix: add not function to return value(0 is normal); add total_seconds to download.eta(timedelta object); add waiting status when hook progress
* fix: remove unuse method ..utils.format_bytes
* fix: be up to flake8
* fix: be up to flake8
* Apply suggestions from code review
* [feat] test external downloader aria2p
* [feat] test external downloader aria2p
* [fix] test_external_downloader.py
* Apply suggestions from code review
Co-authored-by: dirkf <fieldhouse@gmx.net>
* Apply suggestions from code review
Co-authored-by: dirkf <fieldhouse@gmx.net>
* Update test/test_external_downloader.py
Co-authored-by: dirkf <fieldhouse@gmx.net>
* Update test/test_external_downloader.py
Co-authored-by: dirkf <fieldhouse@gmx.net>
* Update youtube_dl/downloader/external.py
Co-authored-by: dirkf <fieldhouse@gmx.net>
* refactoring code and fix bugs
* Apply suggestions from code review
* Rename test_external_downloader.py to test_downloader_external.py
---------
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
Valentin Metz
f33923cba7
[rbgtum] Add new extractor ( #31305 )
...
* [rbgtum] Add new extractor
* Small update, force CI
---------
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
dirkf
e8198c517b
[YouTube] Fix tests
2 years ago
dirkf
bafb6dec72
[YouTube] Refresh compat/utils usage
...
* import parse_qs()
* import parse_qs in lazy_extractors (clears old TODO)
* clean up old compiled lazy_extractors for Py2
* use update_url()
2 years ago
dirkf
90c9f789d9
[utils] Add parse_qs, update_url
...
[skip ci]
2 years ago
dirkf
249f2b6316
[compat] Systematise compat_ naming
...
[skip ci]
2 years ago
dirkf
30e986b834
[YouTube] Add `signatureTimestamp` for age-gate bypass
2 years ago
dirkf
58988c1421
[YouTube] Bypass age-gating for certain restricted videos
...
* Use TVHTML5_SIMPLY_EMBEDDED_PLAYER client
* Also add and fix tests
* Introduce and use new utility function `update_url()`
2 years ago
dirkf
e19ec52322
[Vimeo] Support /user{video_id}/{slug} URL format
2 years ago
dirkf
f2f90887ca
[Vimeo] Fix `Unable to extract info section` redux
...
* as reported in yt-dlp/yt-dlp#6149
* also allow newline in target JSON object
2 years ago
dirkf
cd987e6fca
[jsinterp] Nits
2 years ago
dirkf
d947ffe8e3
[IGN] Overhaul extractor to avoid URL redirection loop
...
Consequently/also:
* centralise video data extraction
* detect 404 and 503 expected errors
* handle the test video in IGNVideo
* handle two additional page formats for the tests in IGNArticle
2 years ago
dirkf
384f632e8a
[ITV] Overhaul ITV extractor ( #30266 )
...
* support ITVX URLs (thanks Vangelis66)
* support legacy ITV Hub URLs
* include extraction fix 4c57dd2
from sleaux-meaux 3 May 2021
* include extraction fix 6fbcc16, fix by staubichsauger & pukkandan
* work-around duration parsing pending fix to utils.parse_duration
* apply default vanilla UA for pages and media to avoid site blocking
* also detect and report `Episode not found` instead of generic 404
* rework ITVBTCCIE with geo-block detection, best effort geo-restriction handling, news article support
* fix tests
2 years ago
dirkf
9d17948b5a
[myvideoge] Add new extractor ( #31360 )
...
NB download tests on CI servers blocked
Co-authored-by: Alfonso Solbes <fonk666@gmail.com>
2 years ago
afterdelight
f316f5d4e3
[xhamster] add support for new domain xhvid.com ( #31370 )
2 years ago
dirkf
bc6f94e459
[FIFA] Back-port extractor from yt-dlp ( #31385 )
2 years ago
Epsilonator
be3392a0d4
[Blerp] Add new extractor ( #31398 )
...
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
zhangeric-15
6d829d8119
[YouTube] Fix not finding videos listed under a channel's "shorts" subpage. ( #31409 )
...
Resolves #31336
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
Ruowang Sun
98b0cf1cd0
[Callin] Add new extractor ( #31414 )
...
Co-authored-by: dirkf <fieldhouse@gmx.net>
2 years ago
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