Commit Graph

  • 420d53387c [JSInterp] Improve tests * from yt-dlp/yt-dlp#12313 * also fix d7c2708 master dirkf 2025-03-10 11:44:06 +00:00
  • 32f89de92b [YouTube] Update TVHTML5 client parameters * resolves #33078 dirkf 2025-03-07 21:03:54 +00:00
  • 283dca56fe [YouTube] Initially support tce-style player JS * resolves #33079 dirkf 2025-03-07 21:02:28 +00:00
  • 422b1b31cf [YouTube] Temporarily redirect from tce-style player JS dirkf 2025-03-07 20:00:58 +00:00
  • 1dc27e1c3b [JSInterp] Make indexing error handling more conformant * by default TypeError -> undefined, else raise * set allow_undefined=True/False to override dirkf 2025-03-07 19:40:53 +00:00
  • af049e309b [JSInterp] Handle undefined, etc, passed to JS_RegExp and Exception dirkf 2025-03-07 19:37:56 +00:00
  • 94849bc997 [JSInterp] Improve Date processing * add JS_Date class implementing JS Date * support constructor args other than date string * support static methods of Date * Date objects are still automatically coerced to timestamp before using in JS. dirkf 2025-03-07 19:32:56 +00:00
  • 974c7d7f34 [compat] Fix inheriting from compat_collections_chain_map * see ytdl-org/youtube-dl#33079#issuecomment-2704038049 dirkf 2025-03-07 19:17:18 +00:00
  • 8738407d77 [compat] Support zstd Content-Encoding * see RFC 8878 7.2 dirkf 2025-03-02 13:36:05 +00:00
  • cecaa18b80 [compat] Clean-up * make workaround_optparse_bug9161 private * add comments * avoid leaving test objects behind dirkf 2025-03-07 23:03:17 +00:00
  • 673277e510
    [YouTube] Fix 91b1569 dirkf 2025-02-28 01:02:20 +00:00
  • 91b1569f68
    [YouTube] Fix channel playlist extraction (#33074) dirkf 2025-02-28 00:02:10 +00:00
  • 711e72c292 [JSInterp] Fix bit-shift coercion for player 9c6dfc4a dirkf 2025-02-06 21:09:00 +00:00
  • 26b6f15d14 [compat] Make casefold private * if required, not supported: from youtube_dl.casefold import _casefold as casefold dirkf 2025-02-03 18:10:15 +00:00
  • 5975d7bb96 [YouTube] Use X-Goog-Visitor-Id * required with tv player client * resolves #33030 dirkf 2025-01-22 06:52:40 +00:00
  • 63fb0fc415 [YouTube] Retain .videoDetails members from all player responses dirkf 2025-01-20 13:23:54 +00:00
  • b09442a2f4 [YouTube] Also use ios client when is_live dirkf 2025-01-19 01:18:34 +00:00
  • 55ad8a24ca [YouTube] Support ... /feeds/videos.xml?playlist_id={pl_id} dirkf 2025-01-15 03:22:56 +00:00
  • 21fff05121 [YouTube] Switch to TV API client * thx yt-dlp/yt-dlp#12059 dirkf 2025-01-15 03:19:15 +00:00
  • 1036478d13 [YouTube] Endure subtitle URLs are complete * WEB URLs are, MWEB not * resolves #33017 dirkf 2025-01-06 01:39:04 +00:00
  • 00ad2b8ca1 [YouTube] Refactor subtitle processing * move to internal function * use traverse-obj() dirkf 2025-01-06 01:24:30 +00:00
  • ab7c61ca29 [YouTube] Apply code style changes, trailing commas, etc dirkf 2025-01-06 01:22:16 +00:00
  • 176fc2cb00 [YouTube] Avoid early crash if webpage can't be read * see issue #33013 dirkf 2024-12-31 14:51:29 +00:00
  • d55d1f423d [YouTube] Always extract using MWEB API client * temporary fix-up for 403 on download * MWEB parameters from yt-dlp 2024-12-06 dirkf 2024-12-14 11:18:34 +00:00
  • eeafbbc3e5 [YouTube] Fix signature function extraction for 2f1832d2 * _ was omitted from patterns * thx yt-dlp/yt-dlp#11801 dirkf 2024-12-13 12:16:31 +00:00
  • cd7c7b5edb [YouTube] Simplify pattern for nsig function name extraction dirkf 2024-12-13 03:09:29 +00:00
  • eed784e15f [YouTube] Pass nsig value as return hook, fixes player 3bb1f723 dirkf 2024-12-12 04:38:23 +00:00
  • b4469a0f65 [YouTube] Handle player 3bb1f723 * fix signature code extraction * raise if n function returns input value * add new tests from yt-dlp dirkf 2024-12-07 03:39:44 +00:00
  • ce1e556b8f [jsinterp] Add return hook for player 3bb1f723 * set var _ytdl_do_not_return to a specific value in the scope of a function * if an expression to be returned has that value, return becomes void dirkf 2024-12-12 04:29:13 +00:00
  • f487b4a02a [jsinterp] Strip /* comments */ when parsing * NB: _separate() is looking creaky dirkf 2024-12-12 04:21:53 +00:00
  • 60835ca16c [jsinterp] Fix and improve "methods" * push, unshift return new length * impove edge cases for push/pop, shift/unshift, forEach, indexOf, charCodeAt * increase test coverage dirkf 2024-12-12 04:16:07 +00:00
  • 94fd774608 [jsinterp] Fix and improve split/join * improve split/join edge cases * correctly implement regex split (not like re.split) dirkf 2024-12-12 04:13:06 +00:00
  • 5dee6213ed [jsinterp] Fix and improve arithmetic operations * addition becomes concat with a string operand * improve handling of edgier cases * arithmetic in float like JS (more places need cast to int?) * increase test coverage dirkf 2024-12-12 00:26:00 +00:00
  • 81e64cacf2 [jsinterp] Support multiple indexing (eg a[1][2]) * extend single indexing with improved RE (should probably use/have used _separate_at_paren()) * fix some cases that should have given undefined, not throwing * standardise RE group names * support length of objects, like {1: 2, 3: 4, length: 42} dirkf 2024-12-12 00:15:31 +00:00
  • c1a03b1ac3 [jsinterp] Fix and improve loose and strict equality operations * reimplement loose equality according to MDN (eg, 1 == "1") * improve strict equality (eg, "abc" === "abc" but 'abc' is not 'abc') * add tests for above dirkf 2024-12-12 00:00:32 +00:00
  • 118c6d7a17 [jsinterp] Implement typeof operator dirkf 2024-12-07 03:37:39 +00:00
  • f28d7178e4 [InfoExtractor] Use kwarg maxsplit for re.split * May become kw-only in future Pythons dirkf 2024-12-12 04:46:33 +00:00
  • e5bfed6c77
    [PornHub] Remove extraneous modelhub login code pull/30733/head dirkf 2024-10-15 21:11:28 +01:00
  • 38fce984f4
    [PornHub] Fix typo in path regex dirkf 2024-10-14 14:23:46 +01:00
  • 49093c09c0
    Merge pull request #32950 from ytdl-org/master dirkf 2024-10-14 14:09:51 +01:00
  • f3cf092584
    Integrate changes from yt-dlp and PR 31432 dirkf 2024-10-14 12:39:50 +01:00
  • c5098961b0 [Youtube] Rework n function extraction pattern Now also succeeds with player b12cc44b dirkf 2024-08-06 20:59:09 +01:00
  • dbc08fba83 [jsinterp] Improve slice implementation for player b12cc44b dirkf 2024-08-06 20:44:30 +01:00
  • 71223bff39
    [Youtube] Fix nsig extraction for player 20dfca59 (#32891) Aiur Adept 2024-08-01 14:18:34 -04:00
  • e1b3fa242c [Youtube] Find n function name in player 3400486c dirkf 2024-07-24 14:45:52 +01:00
  • 451046d62a [Youtube] Make n-sig throttling diagnostic up-to-date dirkf 2024-07-24 14:33:34 +01:00
  • 16f5bbc464 [YouTube] Fix nsig processing for player b22ef6e7 * improve extraction of function name (like yt-dlp/yt-dlp#10390) * always use JSInterp to extract function code (yt-dlp/yt-dlp#10396, thx seproDev, pukkandan) 2024.07.11-nightly dirkf 2024-07-10 18:20:59 +01:00
  • d35ce6ce95 [jsinterp] Support functionality for player b22ef6e7 * support prototype for call() and apply() (yt-dlp/yt-dlp#10392, thx Grub4k) * map JS Array to list dirkf 2024-07-10 18:07:20 +01:00
  • 76ac69917e [jsinterp] Further improve expression parsing (fix fd8242e) Passes tests from yt-dlp dirkf 2024-07-10 18:02:11 +01:00
  • 756f6b45c7 [jsinterp] Re-align JSInterp and tests (esp.) with yt-dlp Thx: various yt-dlp authors dirkf 2024-07-10 17:58:38 +01:00
  • 43a74c5fa5 [core] Address gaps in allowed extensions bashonly 2024-07-05 13:41:30 -05:00
  • a452f9437c [core] Fix PR #32830 for fixed extensionless output template dirkf 2024-07-07 20:43:10 +01:00
  • 36801c62df
    [YandexMusic] Save track version in the title field unkernet 2024-07-07 21:18:33 +02:00
  • f4b47754d9
    [YandexMusic] Download music in High Quality (320 Kbit/s) Sergey Musatov 2024-07-06 13:04:36 +03:00
  • 37cea84f77 [core,utils] Support unpublicised --no-check-extensions dirkf 2024-07-02 14:54:25 +01:00
  • 4652109643 [core,utils] Implement unsafe file extension mitigation * from https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-79w7-vh3h-8g4, thx grub4k dirkf 2024-06-30 18:37:25 +01:00
  • 3c466186a8 [utils] Back-port Namespace and MEDIA_EXTENSIONS from yt-dlp Thx pukkandan * Namespace: https://github.com/yt-dlp/yt-dlp/commit/591bb9d355 * MEDIA_EXTENSIONS: https://github.com/yt-dlp/yt-dlp/commit/8dc5930511 dirkf 2024-06-30 12:34:19 +01:00
  • 4d05f84325 [PalcoMP3] Conform to new linter rule * no space after @ in decorator dirkf 2024-06-20 03:22:02 +01:00
  • e0094e63c3 [jsinterp] Various tweaks * treat Infinity like NaN * cache operator list dirkf 2024-06-20 02:57:52 +01:00
  • fd8242e3ef [jsinterp] Fix and improve expression parsing * improve BODMAS (fixes https://github.com/ytdl-org/youtube-dl/issues/32815) * support more weird expressions with multiple unary ops dirkf 2024-06-20 02:36:54 +01:00
  • ad01fa6cca [jsinterp] Add Debugger from yt-dlp * https://github.com/yt-dlp/yt-dlp/commit/8f53dc4 * thx pukkandan dirkf 2024-06-19 21:44:27 +01:00
  • 2eac0fa379 [utils] Save orig_msg in ExtractorError dirkf 2024-06-19 19:04:47 +01:00
  • 0153b387e5
    [VidLii] Add 720p support (#30924) Paper 2024-06-11 08:21:39 -04:00
  • a48fe7491d [ORF] Skip tests with limited availability dirkf 2024-06-11 12:32:07 +01:00
  • e20ca543f0 [ORF] Re-factor and updateORFFM4StoryIE * fix getting media via DASH instead of inaccessible mp4 * also get in-page YT media dirkf 2024-06-01 13:43:37 +01:00
  • e39466051f [ORF] Support sound.orf.at, updating ORFRadioIE * maintain support for xx.orf.at/player/... URLs * add ORFRadioCollectionIE to support playlists in ORF Sound * back-port and re-work ORFPodcastIE from https://github.com/yt-dlp/yt-dlp/pull/8486, thx Esokrates dirkf 2024-06-01 13:29:26 +01:00
  • d95c0d203f [ORF] Support on.orf.at, replacing ORFTVthekIE * add ORFONIE, back-porting yt-dlp PR https://github.com/yt-dlp/yt-dlp/pull/9113 and friends: thx HobbyistDev, TuxCoder, seproDev * re-factor to support livestreams via new ORFONliveIE dirkf 2024-06-01 12:56:41 +01:00
  • 3bde6a5752 [test] Improve download test * skip reason can't be unicode in Py2 * remove duplicate assert...Equal functions dirkf 2024-06-11 01:20:42 +01:00
  • 50f6c5668a [core] Re-factor with _fill_common_fields() as used in yt-dlp dirkf 2024-06-01 03:25:06 +01:00
  • b4ff08bd2d [core] Safer handling of nested playlist data dirkf 2024-06-01 03:23:37 +01:00
  • 88bd8b9f87
    [mixcloud] updated mixcloud API server address (#32557) kmnx 2024-06-11 13:38:24 +02:00
  • 21924742f7 [InfoExtractor] Misc yt-dlp back-ports, etc * add _yes_playlist() method * avoid crash using _NETRC_MACHINE * use _search_json() in _search_nextjs_data() * _search_nextjs_data() default is JSON, not text * test for above dirkf 2024-04-26 18:57:44 +01:00
  • 768ccccd9b [compat] Avoid type comparison in compat_ord NB This isn't actually a compat fn; it should be utils.int_from_int_or_char dirkf 2024-05-28 15:59:34 +01:00
  • eee9a247eb [utils] Split out traversal.py dummy and traversal tests dirkf 2024-05-28 17:16:58 +01:00
  • 34484e49f5 [compat] Improve compat_etree_iterfind for Py2.6 Adapted from https://raw.githubusercontent.com/python/cpython/2.7/Lib/xml/etree/ElementPath.py dirkf 2024-05-28 16:38:20 +01:00
  • 06da64ee51 [utils] Update traverse_obj() from yt-dlp * remove is_user_input option per https://github.com/yt-dlp/yt-dlp/pull/8673 * support traversal of compat_xml_etree_ElementTree_Element per https://github.com/yt-dlp/yt-dlp/pull/8911 * allow un/branching using all and any per https://github.com/yt-dlp/yt-dlp/pull/9571 * support traversal of compat_cookies.Morsel and multiple types in set() keys per https://github.com/yt-dlp/yt-dlp/pull/9577 thx Grub4k for these * also, move traversal tests to a separate class * allow for unordered dicts in tests for Py<3.7 dirkf 2024-04-21 23:42:08 +01:00
  • a08f2b7e45
    [workflows/ci.yml] Temporary workaround for Python 3.5 _pip_ failures dirkf 2024-05-15 16:57:59 +01:00
  • 668332b973 [YouPorn] Add playlist extractors * YouPornCategoryIE * YouPornChannelIE * YouPornCollectionIE * YouPornStarIE * YouPornTagIE * YouPornVideosIE, dirkf 2024-04-11 13:06:25 +01:00
  • 0b2ce3685e [YouPorn] Improve extraction * detect unwatchable videos * improve duration extraction * fix count extraction and support large values * detect and remove SEO spam boilerplate description dirkf 2024-03-01 15:07:30 +00:00
  • c2766cb80e [test/test_download] Support 'playlist_maxcount:count' expected value * parallel to `playlist_mincount' * specify both for a range of playlist lengths * if max < min the test will always fail! dirkf 2024-04-11 12:47:05 +01:00
  • eb38665438 [YouPorn] Incorporate yt-dlp PR 8827 * from https://github.com/yt-dlp/yt-dlp/pull/8827 * extract from webpage instead of broken API URL * thx The-MAGI dirkf 2024-03-01 14:48:30 +00:00
  • e0727e4ab6 [postprocessor/ffmpeg] Fix finding ffprobe (bug in 21792b8) Fixes 21792b88b7 (commitcomment-140705274), thx: vonProteus dirkf 2024-04-07 15:26:12 +01:00
  • 4ea59c6107
    [utils] Fix crash in _report_ignoring_subs from c58b655 (#32762) Ori Avtalion 2024-04-05 17:25:29 +03:00
  • 21792b88b7 [external/FFmpeg] Fix and improve --ffmpeg-location handling * pass YoutubeDL (FileDownloader) to FFmpegPostProcessor constructor * consolidate path search in FFmpegPostProcessor * make availability of FFmpegFD depend on existence of FFmpegPostProcessor * detect ffmpeg executable on instantiation of FFmpegFD * resolves #32735 dirkf 2024-03-03 12:38:00 +00:00
  • d8f134a664 [downloader/external] Fix "Resource Warning" in downloader test * add compat_subprocess_Popen context manager * apply context manager in FFmpegFD._call_downloader() dirkf 2024-03-02 15:17:09 +00:00
  • 31a15a7c8d [compat] Simplify/fix compat_html_parser_HTMLParseError dirkf 2024-03-10 19:06:57 +00:00
  • 19dc10b986 [utils] Apply compat_contextlib_suppress dirkf 2024-03-01 19:53:58 +00:00
  • 182f63e82a [compat] Add compat_contextlib_suppress dirkf 2024-03-01 15:25:44 +00:00
  • 71211e7db7
    [Youtube] Fix unwanted private method __ie_msg in f8b0135850 gy-chen 2024-03-23 23:30:13 +08:00
  • a96a45b2cd
    [Vimeo] Improve config extraction (#32742) Zizheng Guo 2024-03-12 19:44:13 +08:00
  • 820fae3b3a [Videa] Fix extraction * update API URL * from https://github.com/yt-dlp/yt-dlp/pull/8003 * thanks to the authors! hatsomatt 2023-09-16 16:02:37 +02:00
  • aef24d97e9 [Videa] Align with yt-dlp dirkf 2024-02-29 14:12:37 +00:00
  • f7b30e3f73 [XFileShare] Update extractor for 2024 * simplify aa_decode() * review and update supported sites and tests * in above, include FileMoon.sx, and remove separate module * incorporate changes from yt-dlp * allow for decoding multiple scripts (eg, FileMoon) * use new JWPlayer extraction dirkf 2024-02-21 00:18:17 +00:00
  • f66372403f [InfoExtractor] Rework and improve JWPlayer extraction * use traverse_obj() and _search_json() * support playlist .load({**video1},{**video2}, ...) * support transform_source=... for _extract_jwplayer_data() dirkf 2024-02-21 00:09:48 +00:00
  • 7216fa2ac4 [InfoExtractor] Add _search_json() * uses the error diagnostic to truncate the JSON string * may be confused by non-C-Pythons dirkf 2024-02-21 00:03:17 +00:00
  • acc383b9e3 [utils] Let int_or_none() accept a base, like int() dirkf 2024-03-04 20:52:58 +00:00
  • f0812d7848
    [utils] Handle user:pass in URLs (#28801) Hubert Hirtz 2024-03-04 01:27:55 +00:00
  • 40bd5c1815
    [caffeine.tv] Add new extractor (#32514) Aaron Tan 2024-02-22 23:54:07 +11:00
  • 70f230f9cf
    [GBNews]Add new extractor for GB News TV channel (#29432) dirkf 2024-02-22 12:44:00 +00:00
  • 48ddab1f3a
    [downloader/external] Fix WgetFD proxy (rev 2) dirkf 2024-02-21 16:29:08 +00:00