youtube-dl
8 months ago[utils] Let int_or_none() accept a base, like int()
dirkf [Mon, 4 Mar 2024 20:52:58 +0000 (20:52 +0000)]
[utils] Let int_or_none() accept a base, like int()

8 months ago[utils] Handle user:pass in URLs (#28801)
Hubert Hirtz [Mon, 4 Mar 2024 01:27:55 +0000 (01:27 +0000)]
[utils] Handle user:pass in URLs (#28801)

* Handle user:pass in URLs

Fixes "nonnumeric port" errors when youtube-dl is given URLs with
usernames and passwords such as:

    http://username:password@example.com/myvideo.mp4

Refs:
- https://en.wikipedia.org/wiki/Basic_access_authentication
- https://tools.ietf.org/html/rfc1738#section-3.1
- https://docs.python.org/3.8/library/urllib.parse.html#urllib.parse.urlsplit

Fixes #18276 (point 4)
Fixes #20258
Fixes #26211 (see comment)

* Align code with yt-dlp

---------

Co-authored-by: dirkf <fieldhouse@gmx.net>
8 months ago[caffeine.tv] Add new extractor (#32514)
Aaron Tan [Thu, 22 Feb 2024 12:54:07 +0000 (23:54 +1100)]
[caffeine.tv] Add new extractor (#32514)

* Add CaffeineTVIE info extractor to support site caffeine.tv

---------

Co-authored-by: dirkf <fieldhouse@gmx.net>
8 months ago[GBNews]Add new extractor for GB News TV channel (#29432)
dirkf [Thu, 22 Feb 2024 12:44:00 +0000 (12:44 +0000)]
[GBNews]Add new extractor for GB News TV channel (#29432)

* Add extractor for GB News TV channel

* Support more GBNews URL formats
Allow alphanumeric and _ in place of `shows`, which redirect to site's preferred URL

* Update for 2024

9 months ago[downloader/external] Fix WgetFD proxy (rev 2)
dirkf [Wed, 21 Feb 2024 16:29:08 +0000 (16:29 +0000)]
[downloader/external] Fix WgetFD proxy (rev 2)

From PR (defunct source), closes #29343.
Matches https://github.com/yt-dlp/yt-dlp/pull/3152
Thx former user kikuyan.

9 months ago[Vbox7] Improve extraction, adding features from yt-dlp PR #9100
dirkf [Sun, 18 Feb 2024 20:55:01 +0000 (20:55 +0000)]
[Vbox7] Improve extraction, adding features from yt-dlp PR #9100

* changes from https://github.com/yt-dlp/yt-dlp/pull/9100 (thx
seproDev):
  - attempt HLS extraction
  - re-enable XFF
  - test `view_count`, `duration` extraction
* improve commenting, error checks

9 months ago[Vbox7IE] Sanitise ld+json containing unexpected characters
dirkf [Sat, 27 Jan 2024 18:17:09 +0000 (18:17 +0000)]
[Vbox7IE] Sanitise ld+json containing unexpected characters
* based on PR #29680
* added hack to force invoking `transform_source`
* fixes #26218

9 months ago[Vbox7IE] Improve extraction
dirkf [Sat, 27 Jan 2024 15:57:25 +0000 (15:57 +0000)]
[Vbox7IE] Improve extraction
* DASH extraction no longer fails with new range support
* but always find combined formats if available
* suppress ineffective XFF geo-bypass (causes time-outs)
* adapted from https://github.com/ytdl-org/youtube-dl/pull/29680
* thx former GH user kikuyan

9 months ago[InfoExtractor] Correctly resolve BaseURL in DASH manifest
dirkf [Sat, 27 Jan 2024 15:45:43 +0000 (15:45 +0000)]
[InfoExtractor] Correctly resolve BaseURL in DASH manifest
Specs:
* ISO/IEC 23009-1:2012 section 5.6
* RFC 3986 section 5.

9 months ago[InfoExtractor] Support byte range for DASH
dirkf [Sat, 27 Jan 2024 15:37:08 +0000 (15:37 +0000)]
[InfoExtractor] Support byte range for DASH
* adapted from https://github.com/ytdl-org/youtube-dl/pull/30279
* thx former GH user kikuyan

9 months ago[downloader/dash] Support `range` in fragment (format f'{start}-{end}')
dirkf [Sat, 27 Jan 2024 00:07:14 +0000 (00:07 +0000)]
[downloader/dash] Support `range` in fragment (format f'{start}-{end}')
 * adapted from https://github.com/ytdl-org/youtube-dl/pull/30279
 * thx former GH user kikuyan

9 months ago[InfoExtractor] Support DASH subtitle extraction (yt-dlp back-port)
dirkf [Sat, 27 Jan 2024 15:29:25 +0000 (15:29 +0000)]
[InfoExtractor] Support DASH subtitle extraction (yt-dlp back-port)

9 months ago[YouTube] Fix `like_count` extraction using `likeButtonViewModel`
dirkf [Mon, 15 Jan 2024 18:38:43 +0000 (18:38 +0000)]
[YouTube] Fix `like_count` extraction using `likeButtonViewModel`
* also fix various tests
* TODO: check against yt-dlp tests

9 months ago[YouTube] Rework n-sig processing, realigning with yt-dlp
dirkf [Mon, 15 Jan 2024 18:34:21 +0000 (18:34 +0000)]
[YouTube] Rework n-sig processing, realigning with yt-dlp
* apply n-sig before chunked fragments, fixes #32692

9 months ago[InfoExtractor] Support some warning and `._downloader` shortcut methods from yt-dlp
dirkf [Mon, 15 Jan 2024 18:32:06 +0000 (18:32 +0000)]
[InfoExtractor] Support some warning and `._downloader` shortcut methods from yt-dlp

9 months ago[compat] Rework compat for `method` parameter of `compat_urllib_request.Request`...
dirkf [Sat, 20 Jan 2024 18:28:52 +0000 (18:28 +0000)]
[compat] Rework compat for `method` parameter of `compat_urllib_request.Request` constructor
* fixes #32573
* does not break `utils.HEADrequest` (eg)

11 months ago[core] Fix format string injection for metadata JSON filename message.
mk-pmb [Wed, 13 Sep 2023 18:57:05 +0000 (20:57 +0200)]
[core] Fix format string injection for metadata JSON filename message.

11 months ago[Epidemic Sound] Add new extractor (#32628)
Robotix [Wed, 6 Dec 2023 01:17:57 +0000 (02:17 +0100)]
[Epidemic Sound] Add new extractor (#32628)

* Add simple extractor
* Support separate tracks
* Use index as id instead of slug

---------

Co-authored-by: dirkf <fieldhouse@gmx.net>
11 months ago[Imgur] Overhaul extractor module (#32612)
dirkf [Tue, 5 Dec 2023 20:02:30 +0000 (20:02 +0000)]
[Imgur] Overhaul extractor module (#32612)

Revise extractors for new API and page formats

11 months ago[telewebion] Fix extraction (#32634)
mimvahedi [Sat, 2 Dec 2023 15:25:09 +0000 (18:55 +0330)]
[telewebion] Fix extraction (#32634)

* [telewebion] fix extraction

Resolves https://github.com/ytdl-org/youtube-dl/issues/5135#issuecomment-932952119

---------

Co-authored-by: dirkf <fieldhouse@gmx.net>
11 months ago[utils] Make restricted filenames ignore characters in Unicode categories Mark, Other
dirkf [Tue, 28 Nov 2023 17:26:37 +0000 (17:26 +0000)]
[utils] Make restricted filenames ignore characters in Unicode categories Mark, Other

Resolves #32629

11 months ago[workflows/ci.yml] Use setup-python for now released Python 3.12
dirkf [Tue, 28 Nov 2023 18:06:40 +0000 (18:06 +0000)]
[workflows/ci.yml] Use setup-python for now released Python 3.12

11 months ago[workflows/ci.yml] Actually use default values for push and pull_request
dirkf [Tue, 28 Nov 2023 16:17:07 +0000 (16:17 +0000)]
[workflows/ci.yml] Actually use default values for push and pull_request

11 months ago[workflows/ci.yml] Run apt-get update before installing
dirkf [Wed, 18 Oct 2023 13:28:10 +0000 (14:28 +0100)]
[workflows/ci.yml] Run apt-get update before installing

11 months ago[Youtube] Update consent cookie handling to match site
ReenigneArcher [Wed, 15 Nov 2023 23:54:31 +0000 (18:54 -0500)]
[Youtube] Update consent cookie handling to match site

Apologies for force push!
[skip ci]

13 months ago[downloader] Fix baa6c5e: show ETA of http download as ETA instead of total d/l time
dirkf [Sun, 24 Sep 2023 21:00:13 +0000 (22:00 +0100)]
[downloader] Fix baa6c5e: show ETA of http download as ETA instead of total d/l time

14 months ago[utils] Revert bbd3e7e, updating docstring, test instead
dirkf [Sun, 3 Sep 2023 22:15:19 +0000 (23:15 +0100)]
[utils] Revert bbd3e7e, updating docstring, test instead

14 months ago[utils] Properly handle list values in update_url()
dirkf [Sun, 3 Sep 2023 00:18:22 +0000 (01:18 +0100)]
[utils] Properly handle list values in update_url()

An actual list value in a query update could have been treated
as a list of values because of the key:list parse_qs format.

14 months ago[test] Remove redundancy from lambda expected value regex
dirkf [Sun, 3 Sep 2023 00:13:40 +0000 (01:13 +0100)]
[test] Remove redundancy from lambda expected value regex

14 months ago[S4C] Add thumbnail extraction, extract series as playlist
dirkf [Sun, 27 Aug 2023 18:08:28 +0000 (19:08 +0100)]
[S4C] Add thumbnail extraction, extract series as playlist

Based on https://github.com/yt-dlp/yt-dlp/pull/7776: thx ifan-t, bashonly

14 months ago[ci.yml] Improve conditions for nosetest installations
dirkf [Thu, 31 Aug 2023 16:16:47 +0000 (17:16 +0100)]
[ci.yml] Improve conditions for nosetest installations

15 months ago[S4C] Add extractor for Sianel Pedwar Cymru
dirkf [Fri, 4 Aug 2023 21:54:12 +0000 (22:54 +0100)]
[S4C] Add extractor for Sianel Pedwar Cymru

* from https://github.com/yt-dlp/yt-dlp/pull/7730, thx ifan-t, bashonly

15 months ago[utils] Advertise optional supported `Content-Encoding`s
dirkf [Sun, 30 Jul 2023 20:50:52 +0000 (21:50 +0100)]
[utils] Advertise optional supported `Content-Encoding`s

15 months ago[utils] Add and use `filter_dict()` from yt-dlp
dirkf [Sun, 30 Jul 2023 20:49:58 +0000 (21:49 +0100)]
[utils] Add and use `filter_dict()` from yt-dlp

15 months ago[utils] Revise `isinstance()` tests (especially for str/unicode/bytes) to complete...
dirkf [Sun, 30 Jul 2023 20:47:48 +0000 (21:47 +0100)]
[utils] Revise `isinstance()` tests (especially for str/unicode/bytes) to complete Linter fix

15 months ago[utils] Avoid comparing `type(var)`, etc, to pass new Linter rules
dirkf [Sun, 30 Jul 2023 20:45:57 +0000 (21:45 +0100)]
[utils] Avoid comparing `type(var)`, etc, to pass new Linter rules

15 months ago[utils] Rework URL path munging for ., .. components
dirkf [Fri, 28 Jul 2023 05:19:15 +0000 (06:19 +0100)]
[utils] Rework URL path munging for ., .. components

* move processing to YoutubeDLHandler
* also process `Location` header for redirect
* use tests from https://github.com/yt-dlp/yt-dlp/pull/7662

15 months ago[utils] Rework decoding of `Content-Encoding`s
dirkf [Fri, 28 Jul 2023 05:03:14 +0000 (06:03 +0100)]
[utils] Rework decoding of `Content-Encoding`s

* support nested encodings
* support optional `br` encoding, if brotli package is installed
* support optional 'compress' encoding, if ncompress package is installed
* response `Content-Encoding` has only unprocessed encodings, or removed
* response `Content-Length` is decoded length (usable for filesize metadata)
* use zlib for both deflate and gzip decompression
* some elements taken from yt-dlp: thx especially coletdjnz

15 months ago[workflows/ci.yml] Update to setup-java@v3
dirkf [Fri, 28 Jul 2023 09:52:04 +0000 (10:52 +0100)]
[workflows/ci.yml] Update to setup-java@v3

* avoid Node 12 deprecation

15 months ago[build] Fix typo in `devscripts/fish-completion.py` (fix 2285605)
dirkf [Tue, 25 Jul 2023 14:11:15 +0000 (15:11 +0100)]
[build] Fix typo in `devscripts/fish-completion.py` (fix 2285605)

15 months ago[build] Extend use of `devscripts/utils`
dirkf [Mon, 24 Jul 2023 23:22:54 +0000 (00:22 +0100)]
[build] Extend use of `devscripts/utils`

15 months ago[compat] Use `compat_open()`
dirkf [Mon, 24 Jul 2023 23:17:15 +0000 (00:17 +0100)]
[compat] Use `compat_open()`

15 months ago[build] Add and use `devscripts/utils`
dirkf [Mon, 24 Jul 2023 22:43:36 +0000 (23:43 +0100)]
[build] Add and use `devscripts/utils`

15 months ago[utils] Fix update_Request() with empty data (not None)
dirkf [Mon, 24 Jul 2023 02:30:28 +0000 (03:30 +0100)]
[utils] Fix update_Request() with empty data (not None)

15 months ago[test/test_execution.py] Use `compat_subprocess_get_DEVNULL()`
dirkf [Thu, 20 Jul 2023 18:32:29 +0000 (19:32 +0100)]
[test/test_execution.py] Use `compat_subprocess_get_DEVNULL()`

15 months ago[build] Fix various Jython CI and test issues
dirkf [Thu, 20 Jul 2023 17:49:48 +0000 (18:49 +0100)]
[build] Fix various Jython CI and test issues

15 months ago[workflows/ci.yml] Build 3.12 with pyenv
dirkf [Thu, 20 Jul 2023 15:36:54 +0000 (16:36 +0100)]
[workflows/ci.yml] Build 3.12 with pyenv

15 months ago[doc] Update developer guidance
dirkf [Thu, 20 Jul 2023 14:49:46 +0000 (15:49 +0100)]
[doc] Update developer guidance
* mention pynose
* mention traverse_obj and add/revise examples

[skip ci]

15 months ago[workflows/ci.yml] Extend Python versions
dirkf [Thu, 20 Jul 2023 11:42:46 +0000 (12:42 +0100)]
[workflows/ci.yml] Extend Python versions
* add 3.10 - 3.12
* use https://pypi.org/project/pynose/ for Py >= 3.9
* test Windows with 3.4
* set defaults (main, both) except push: (all, core)

16 months ago[utils] Remove stray undocumented Host header in redirect (fix 46fde7c)
dirkf [Thu, 20 Jul 2023 04:29:59 +0000 (05:29 +0100)]
[utils] Remove stray undocumented Host header in redirect (fix 46fde7c)

16 months ago[InfoExtractor] Add `_match_valid_url()` class method and refactor
dirkf [Wed, 19 Jul 2023 13:14:50 +0000 (14:14 +0100)]
[InfoExtractor] Add `_match_valid_url()` class method and refactor

* API compatible with yt-dlp
* also support Sequence of patterns in _VALID_URL
* one place to compile _VALID_URL
* TODO: remove existing extractor shims

16 months ago[utils] Fix broken Py 3.11+ compat in `traverse_obj()`
dirkf [Wed, 19 Jul 2023 12:01:02 +0000 (13:01 +0100)]
[utils] Fix broken Py 3.11+ compat in `traverse_obj()`

* inspect.getargspec is missing despite doc claiming backward compat
* replace with emulation of `Signature.bind()`

16 months ago[InfoExtractor] Add search methods for Next/Nuxt.js from yt-dlp
dirkf [Fri, 5 May 2023 18:25:42 +0000 (19:25 +0100)]
[InfoExtractor] Add search methods for Next/Nuxt.js from yt-dlp
* add _search_nextjs_data(), from https://github.com/yt-dlp/yt-dlp/pull/1386
  thanks selfisekai
* add _search_nuxt_data(), from https://github.com/yt-dlp/yt-dlp/pull/1921,
  thanks Lesmiscore, pukkandan
* add tests for the above
* also fix HTML5 type recognition and tests, from
  https://github.com/yt-dlp/yt-dlp/commit/222a230871fe4fe63f35c49590379c9a77116819,
  thanks Lesmiscore
* update extractors in PR using above, fix tests.

16 months ago[Clipchamp] Add new extractor back-ported from yt-dlp
dirkf [Wed, 3 May 2023 23:08:26 +0000 (00:08 +0100)]
[Clipchamp] Add new extractor back-ported from yt-dlp

16 months ago[DLF] Add site extractors back-ported from yt-dlp
dirkf [Wed, 3 May 2023 09:07:35 +0000 (10:07 +0100)]
[DLF] Add site extractors back-ported from yt-dlp

* from https://github.com/yt-dlp/yt-dlp/pull/6697, thanks nick-cd

16 months ago[Whyp] Add extractor back-ported from yt-dlp
dirkf [Wed, 3 May 2023 09:04:46 +0000 (10:04 +0100)]
[Whyp] Add extractor back-ported from yt-dlp

* from https://github.com/yt-dlp/yt-dlp/pull/6803, thanks CoryTibbettsDev

16 months ago[GlobalPlayer] Add site extractors back-ported from yt-dlp
dirkf [Wed, 3 May 2023 09:02:25 +0000 (10:02 +0100)]
[GlobalPlayer] Add site extractors back-ported from yt-dlp

* from https://github.com/yt-dlp/yt-dlp/pull/6903, thanks garret1317

16 months ago[InfoExtractor] Support groups in _`search_regex()`, etc
dirkf [Wed, 3 May 2023 12:08:58 +0000 (13:08 +0100)]
[InfoExtractor] Support groups in _`search_regex()`, etc

16 months ago[utils] Minor updates (merge_dicts, T)
dirkf [Wed, 3 May 2023 09:54:52 +0000 (10:54 +0100)]
[utils] Minor updates (merge_dicts, T)

A couple of mods to ease yt-dlp back-ports:
* add kwargs to merge_dicts:
  `unblank=True` (disallow empty string), `rev=False` (reverse the merge list)
* add `T(x)` shortcut for `{x}`, unsupported in Py2.6

16 months ago[utils] Improve js_to_json, align with yt-dlp
dirkf [Wed, 3 May 2023 11:06:34 +0000 (12:06 +0100)]
[utils] Improve js_to_json, align with yt-dlp
* support variable substitution, from https://github.com/yt-dlp/yt-dlp/pull/#521 etc,
  thanks ChillingPepper, Grub4k, pukkandan
* improve escape handling, from https://github.com/yt-dlp/yt-dlp/pull/#521
  thanks Grub4k
* support template strings from https://github.com/yt-dlp/yt-dlp/pull/6623
  thanks Grub4k
* add limited `!` evaluation (eg, !!0 -> false, see tests)

16 months ago[utils] Align traverse_obj() with yt-dlp
dirkf [Wed, 3 May 2023 11:40:09 +0000 (12:40 +0100)]
[utils] Align traverse_obj() with yt-dlp

Thanks Grub4k for these:
* traverse `Iterable`s, from https://github.com/yt-dlp/yt-dlp/pull/6902, etc
* traverse `set` key for transformations/filters, `re.Match` group names, from
  https://github.com/yt-dlp/yt-dlp/commit/776995bc109c5cd1aa56b684fada2ce718a386ec, etc
* traverse `re.Match`es, from https://github.com/yt-dlp/yt-dlp/pull/5174
* always return list when branching, from https://github.com/yt-dlp/yt-dlp/pull/5170

16 months ago[compat] Fix old Pythons broken loading of valueless cookie attributes
dirkf [Mon, 17 Jul 2023 19:39:11 +0000 (20:39 +0100)]
[compat] Fix old Pythons broken loading of valueless cookie attributes

Cookie string parsing in Py 2.6.9, probably earlier, requires `=`.
Also 3.2, though the CPython code appears to be OK: 3.1 was also wrong.

16 months ago[test] Fixes for old Pythons
dirkf [Thu, 13 Jul 2023 19:14:50 +0000 (20:14 +0100)]
[test] Fixes for old Pythons

16 months ago[doc] Warn against setting cookies with --add-header
dirkf [Tue, 11 Jul 2023 20:51:32 +0000 (21:51 +0100)]
[doc] Warn against setting cookies with --add-header

16 months ago[downloader/external] Fix cookie support
bashonly [Tue, 4 Jul 2023 21:40:56 +0000 (16:40 -0500)]
[downloader/external] Fix cookie support

16 months ago[core] Process header cookies on loading
Simon Sawicki [Tue, 4 Jul 2023 19:41:04 +0000 (21:41 +0200)]
[core] Process header cookies on loading

16 months ago[utils] `YoutubeDLCookieJar`: Add `get_cookie_header` and `get_cookies_for_url` methods
bashonly [Tue, 4 Jul 2023 19:03:39 +0000 (14:03 -0500)]
[utils] `YoutubeDLCookieJar`: Add `get_cookie_header` and `get_cookies_for_url` methods

16 months ago[core] Remove `Cookie` header on redirect to prevent leaks
dirkf [Wed, 7 Jun 2023 18:38:54 +0000 (19:38 +0100)]
[core] Remove `Cookie` header on redirect to prevent leaks

Adated from yt-dlp/yt-dlp-ghsa-v8mc-9377-rwjj/pull/1/commits/101caac
Thx coletdjnz

16 months ago[core] Update redirect handling from yt-dlp
dirkf [Wed, 7 Jun 2023 13:51:50 +0000 (14:51 +0100)]
[core] Update redirect handling from yt-dlp

* Thx coletdjnz: https://github.com/yt-dlp/yt-dlp/pull/7094
* add test that redirected `POST` loses its `Content-Type`

16 months ago[compat] Add Request and HTTPClient compat for redirect
dirkf [Fri, 7 Jul 2023 17:51:38 +0000 (18:51 +0100)]
[compat] Add Request and HTTPClient compat for redirect

* support `method` parameter of `Request.__init__`  (Py 2 and old Py 3)
* support `getcode` method of compat_http_client.HTTPResponse (Py 2)

16 months ago[test] Make skipped tests in test_execution work with Py 2.6
dirkf [Mon, 17 Jul 2023 19:47:58 +0000 (20:47 +0100)]
[test] Make skipped tests in test_execution work with Py 2.6

16 months ago[core] Align error reporting methods with yt-dlp
dirkf [Fri, 7 Jul 2023 17:45:31 +0000 (18:45 +0100)]
[core] Align error reporting methods with yt-dlp

16 months ago[utils] Add {expected_type} and Iterable support to traverse_obj()
dirkf [Thu, 6 Jul 2023 14:46:22 +0000 (15:46 +0100)]
[utils] Add {expected_type} and Iterable support to traverse_obj()

16 months ago[core] Revert version display from b8a86dc
dirkf [Fri, 7 Jul 2023 17:41:32 +0000 (18:41 +0100)]
[core] Revert version display from b8a86dc

16 months ago[Misc] Fixes for 2.6 compatibility
dirkf [Tue, 4 Jul 2023 15:06:21 +0000 (16:06 +0100)]
[Misc] Fixes for 2.6 compatibility

16 months ago[workflows/ci.yml] Fix test support for Py 2.6
dirkf [Fri, 30 Jun 2023 02:52:39 +0000 (03:52 +0100)]
[workflows/ci.yml] Fix test support for Py 2.6

16 months ago[workflows/ci.yml] Restore test support for Py 3.2
dirkf [Thu, 29 Jun 2023 14:27:12 +0000 (15:27 +0100)]
[workflows/ci.yml] Restore test support for Py 3.2

17 months ago[workflows/ci.yml] Restore test support for Py 3.3, 3.4, and add 2.6
dirkf [Thu, 22 Jun 2023 23:15:06 +0000 (00:15 +0100)]
[workflows/ci.yml] Restore test support for Py 3.3, 3.4, and add 2.6

17 months ago[YouTube] Avoid crash in author extraction
dirkf [Thu, 22 Jun 2023 22:10:04 +0000 (23:10 +0100)]
[YouTube] Avoid crash in author extraction

17 months ago[workflows/ci.yml] Replace actions/setup-python for legacy Pythons
dirkf [Thu, 22 Jun 2023 16:24:48 +0000 (17:24 +0100)]
[workflows/ci.yml] Replace actions/setup-python for legacy Pythons

Thanks MatteoH2O1999: https://github.com/MatteoH2O1999/setup-python

17 months ago[YouTube] Improve nsig function name extraction
pukkandan [Thu, 22 Jun 2023 07:53:31 +0000 (13:23 +0530)]
[YouTube] Improve nsig function name extraction

Fixes player b7910ca8, using `,` vs `;`
See https://github.com/ytdl-org/youtube-dl/issues/32292#issuecomment-1602231170

Co-authored-by: dirkf
17 months ago[YouTube] Improve fix for ae8ba2c
dirkf [Sat, 17 Jun 2023 23:52:18 +0000 (00:52 +0100)]
[YouTube] Improve fix for ae8ba2c
Thx: https://github.com/yt-dlp/yt-dlp/commit/01aba25

17 months ago[YouTube] Fix `KeyError QV` in signature extraction failed
dirkf [Sat, 17 Jun 2023 14:36:39 +0000 (15:36 +0100)]
[YouTube] Fix `KeyError QV` in signature extraction failed
* temporarily force missing global definition into sig JS
* improve test: thanks https://github.com/yt-dlp/yt-dlp/issues/7327#issuecomment-1595274615
* resolves #32314

17 months ago[jsinterp] Don't find unrelated objects
dirkf [Sat, 17 Jun 2023 14:43:10 +0000 (15:43 +0100)]
[jsinterp] Don't find unrelated objects

17 months ago[jsinterp] Fix test for failed match in extract_object()
dirkf [Sat, 17 Jun 2023 14:34:11 +0000 (15:34 +0100)]
[jsinterp] Fix test for failed match in extract_object()

17 months ago[jsinterp] Fix div bug breaking player 8c7583ff
dirkf [Sun, 11 Jun 2023 12:33:50 +0000 (13:33 +0100)]
[jsinterp] Fix div bug breaking player 8c7583ff

Thx bashonly: https://github.com/ytdl-org/youtube-dl/issues/32292#issuecomment-1585639223
Fixes #32292

17 months ago[core] Revise 1f7c6f8 to help downstream merger (possibly)
dirkf [Fri, 26 May 2023 19:25:25 +0000 (20:25 +0100)]
[core] Revise 1f7c6f8 to help downstream merger (possibly)

18 months ago[compat] Fix casefold import __all__ syntax in a19855f
dirkf [Tue, 23 May 2023 16:11:22 +0000 (17:11 +0100)]
[compat] Fix casefold import __all__ syntax in a19855f

18 months ago[ITV] Fix UA capitalisation in 384f632
dirkf [Tue, 23 May 2023 15:19:55 +0000 (16:19 +0100)]
[ITV] Fix UA capitalisation in 384f632

18 months ago[core] Further improve platform debug log
dirkf [Fri, 19 May 2023 12:12:59 +0000 (13:12 +0100)]
[core] Further improve platform debug log
* see d1c6c5c

18 months ago[jsinterp] Small updates for a85a875
dirkf [Fri, 19 May 2023 12:09:18 +0000 (13:09 +0100)]
[jsinterp] Small updates for a85a875
* update signature tests
* clarify NaN handling

18 months ago[core] Improve platform debug log, based on yt-dlp
dirkf [Thu, 11 May 2023 20:17:31 +0000 (21:17 +0100)]
[core] Improve platform debug log, based on yt-dlp

18 months ago[jsinterp] Add short-cut evaluation for common expression
dirkf [Thu, 11 May 2023 20:02:01 +0000 (21:02 +0100)]
[jsinterp] Add short-cut evaluation for common expression
* special handling for (d%e.length+e.length)%e.length speeds up ~6%

18 months ago[jsinterp] Handle NaN in bitwise operators
dirkf [Thu, 11 May 2023 19:59:30 +0000 (20:59 +0100)]
[jsinterp] Handle NaN in bitwise operators
* also add _NaN
* also pull function naming from yt-dlp

18 months ago[utils] Fix `compiled_regex_type` in 249f2b6
dirkf [Thu, 11 May 2023 19:53:07 +0000 (20:53 +0100)]
[utils] Fix `compiled_regex_type` in 249f2b6

18 months ago[YouTube] Support Releases tab
dirkf [Sun, 23 Apr 2023 21:58:35 +0000 (22:58 +0100)]
[YouTube] Support Releases tab

19 months ago[jsinterp] Minimally handle arithmetic operator precedence
dirkf [Fri, 21 Apr 2023 13:04:30 +0000 (14:04 +0100)]
[jsinterp] Minimally handle arithmetic operator precedence

Resolves #32066

19 months ago[DashSegmentsFD] Correctly detect errors when `fragment_retries` == 0
dirkf [Wed, 12 Apr 2023 23:15:07 +0000 (00:15 +0100)]
[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

19 months ago[YouTube] Simplify signature patterns
dirkf [Tue, 11 Apr 2023 16:36:27 +0000 (17:36 +0100)]
[YouTube] Simplify signature patterns

19 months ago[core] Sanitize info dict before dumping JSON (fixes fe7e130) (#32032)
Gabriel Nagy [Wed, 12 Apr 2023 22:40:38 +0000 (01:40 +0300)]
[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>