youtube-dl
3 months ago[Youtube] Rework n function extraction pattern master
dirkf [Tue, 6 Aug 2024 19:59:09 +0000 (20:59 +0100)]
[Youtube] Rework n function extraction pattern
Now also succeeds with player b12cc44b

3 months ago[jsinterp] Improve slice implementation for player b12cc44b
dirkf [Tue, 6 Aug 2024 19:44:30 +0000 (20:44 +0100)]
[jsinterp] Improve slice implementation for player b12cc44b

Partly taken from yt-dlp/yt-dlp#10664, thx seproDev
        Fixes #32896

3 months ago[Youtube] Fix nsig extraction for player 20dfca59 (#32891)
Aiur Adept [Thu, 1 Aug 2024 18:18:34 +0000 (14:18 -0400)]
[Youtube] Fix nsig extraction for player 20dfca59  (#32891)

* dirkf's patch for nsig extraction
* add generic search per  yt-dlp/yt-dlp/pull/10611 - thx bashonly

---------

Co-authored-by: dirkf <fieldhouse@gmx.net>
3 months ago[Youtube] Find `n` function name in player `3400486c`
dirkf [Wed, 24 Jul 2024 13:45:52 +0000 (14:45 +0100)]
[Youtube] Find `n` function name in player `3400486c`

Fixes #32877

3 months ago[Youtube] Make n-sig throttling diagnostic up-to-date
dirkf [Wed, 24 Jul 2024 13:33:34 +0000 (14:33 +0100)]
[Youtube] Make n-sig throttling diagnostic up-to-date

4 months ago[YouTube] Fix nsig processing for player `b22ef6e7`
dirkf [Wed, 10 Jul 2024 17:20:59 +0000 (18:20 +0100)]
[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)

4 months ago[jsinterp] Support functionality for player `b22ef6e7`
dirkf [Wed, 10 Jul 2024 17:07:20 +0000 (18:07 +0100)]
[jsinterp] Support functionality for player `b22ef6e7`
* support `prototype` for call() and apply() (yt-dlp/yt-dlp#10392, thx Grub4k)
* map JS `Array` to `list`

4 months ago[jsinterp] Further improve expression parsing (fix fd8242e)
dirkf [Wed, 10 Jul 2024 17:02:11 +0000 (18:02 +0100)]
[jsinterp] Further improve expression parsing (fix fd8242e)
Passes tests from yt-dlp

4 months ago[jsinterp] Re-align JSInterp and tests (esp.) with yt-dlp
dirkf [Wed, 10 Jul 2024 16:58:38 +0000 (17:58 +0100)]
[jsinterp] Re-align JSInterp and tests (esp.) with yt-dlp
Thx: various yt-dlp authors

4 months ago[core] Address gaps in allowed extensions
bashonly [Fri, 5 Jul 2024 18:41:30 +0000 (13:41 -0500)]
[core] Address gaps in allowed extensions

Adds some extensions missing in 46521096433aceaa41b4caa845bed22ca6f377ce
(from yt-dlp/yt-dlp#10362)

Authored by: bashonly
Co-authored by: dirkf

4 months ago[core] Fix PR #32830 for fixed extensionless output template
dirkf [Sun, 7 Jul 2024 19:43:10 +0000 (20:43 +0100)]
[core] Fix PR #32830 for fixed extensionless output template

4 months ago[YandexMusic] Save track version in the title field
unkernet [Sun, 7 Jul 2024 19:18:33 +0000 (21:18 +0200)]
[YandexMusic] Save track version in the title field

PR #32837
* Add track version to track title

4 months ago[YandexMusic] Download music in High Quality (320 Kbit/s)
Sergey Musatov [Sat, 6 Jul 2024 10:04:36 +0000 (13:04 +0300)]
[YandexMusic] Download music in High Quality (320 Kbit/s)

PR #31159

4 months ago[core,utils] Support unpublicised `--no-check-extensions`
dirkf [Tue, 2 Jul 2024 13:54:25 +0000 (14:54 +0100)]
[core,utils] Support unpublicised `--no-check-extensions`

4 months ago[core,utils] Implement unsafe file extension mitigation
dirkf [Sun, 30 Jun 2024 17:37:25 +0000 (18:37 +0100)]
[core,utils] Implement unsafe file extension mitigation
* from https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-79w7-vh3h-8g4, thx grub4k

4 months ago[utils] Back-port Namespace and MEDIA_EXTENSIONS from yt-dlp
dirkf [Sun, 30 Jun 2024 11:34:19 +0000 (12:34 +0100)]
[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

5 months ago[PalcoMP3] Conform to new linter rule
dirkf [Thu, 20 Jun 2024 02:22:02 +0000 (03:22 +0100)]
[PalcoMP3] Conform to new linter rule
* no space after @ in decorator

5 months ago[jsinterp] Various tweaks
dirkf [Thu, 20 Jun 2024 01:57:52 +0000 (02:57 +0100)]
[jsinterp] Various tweaks
* treat Infinity like NaN
* cache operator list

5 months ago[jsinterp] Fix and improve expression parsing
dirkf [Thu, 20 Jun 2024 01:36:54 +0000 (02:36 +0100)]
[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

5 months ago[jsinterp] Add Debugger from yt-dlp
dirkf [Wed, 19 Jun 2024 20:44:27 +0000 (21:44 +0100)]
[jsinterp] Add Debugger from yt-dlp
* https://github.com/yt-dlp/yt-dlp/commit/8f53dc4
* thx pukkandan

5 months ago[utils] Save `orig_msg` in `ExtractorError`
dirkf [Wed, 19 Jun 2024 18:04:47 +0000 (19:04 +0100)]
[utils] Save `orig_msg` in `ExtractorError`

5 months ago[VidLii] Add 720p support (#30924)
Paper [Tue, 11 Jun 2024 12:21:39 +0000 (08:21 -0400)]
[VidLii] Add 720p support (#30924)

* [VidLii] Add HD support  (yt-dlp backport-ish)

* Also fix a bug with the view count

---------

Co-authored-by: dirkf <fieldhouse@gmx.net>
5 months ago[ORF] Skip tests with limited availability
dirkf [Tue, 11 Jun 2024 11:32:07 +0000 (12:32 +0100)]
[ORF] Skip tests with limited availability

5 months ago[ORF] Re-factor and update`ORFFM4StoryIE`
dirkf [Sat, 1 Jun 2024 12:43:37 +0000 (13:43 +0100)]
[ORF] Re-factor and update`ORFFM4StoryIE`
* fix getting media via DASH instead of inaccessible mp4
* also get in-page YT media

5 months ago[ORF] Support sound.orf.at, updating `ORFRadioIE`
dirkf [Sat, 1 Jun 2024 12:29:26 +0000 (13:29 +0100)]
[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

5 months ago[ORF] Support on.orf.at, replacing `ORFTVthekIE`
dirkf [Sat, 1 Jun 2024 11:56:41 +0000 (12:56 +0100)]
[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`

5 months ago[test] Improve download test
dirkf [Tue, 11 Jun 2024 00:20:42 +0000 (01:20 +0100)]
[test] Improve download test
* skip reason can't be unicode in Py2
* remove duplicate assert...Equal functions

5 months ago[core] Re-factor with `_fill_common_fields()` as used in yt-dlp
dirkf [Sat, 1 Jun 2024 02:25:06 +0000 (03:25 +0100)]
[core] Re-factor with `_fill_common_fields()` as used in yt-dlp

5 months ago[core] Safer handling of nested playlist data
dirkf [Sat, 1 Jun 2024 02:23:37 +0000 (03:23 +0100)]
[core] Safer handling of nested playlist data

5 months ago[mixcloud] updated mixcloud API server address (#32557)
kmnx [Tue, 11 Jun 2024 11:38:24 +0000 (13:38 +0200)]
[mixcloud] updated mixcloud API server address (#32557)

* updated mixcloud API server address
* fix tests
* etc

---------

Co-authored-by: dirkf <fieldhouse@gmx.net>
5 months ago[InfoExtractor] Misc yt-dlp back-ports, etc
dirkf [Fri, 26 Apr 2024 17:57:44 +0000 (18:57 +0100)]
[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

5 months ago[compat] Avoid type comparison in `compat_ord`
dirkf [Tue, 28 May 2024 14:59:34 +0000 (15:59 +0100)]
[compat] Avoid type comparison in `compat_ord`
NB This isn't actually a compat fn; it should be utils.int_from_int_or_char

5 months ago[utils] Split out traversal.py dummy and traversal tests
dirkf [Tue, 28 May 2024 16:16:58 +0000 (17:16 +0100)]
[utils] Split out traversal.py dummy and traversal tests

5 months ago[compat] Improve compat_etree_iterfind for Py2.6
dirkf [Tue, 28 May 2024 15:38:20 +0000 (16:38 +0100)]
[compat] Improve compat_etree_iterfind for Py2.6
Adapted from https://raw.githubusercontent.com/python/cpython/2.7/Lib/xml/etree/ElementPath.py

5 months ago[utils] Update traverse_obj() from yt-dlp
dirkf [Sun, 21 Apr 2024 22:42:08 +0000 (23:42 +0100)]
[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

6 months ago[workflows/ci.yml] Temporary workaround for Python 3.5 _pip_ failures
dirkf [Wed, 15 May 2024 15:57:59 +0000 (16:57 +0100)]
[workflows/ci.yml] Temporary workaround for Python 3.5 _pip_ failures

https://github.com/actions/setup-python/issues/866

7 months ago[YouPorn] Add playlist extractors
dirkf [Thu, 11 Apr 2024 12:06:25 +0000 (13:06 +0100)]
[YouPorn] Add playlist extractors
* YouPornCategoryIE
* YouPornChannelIE
* YouPornCollectionIE
* YouPornStarIE
* YouPornTagIE
* YouPornVideosIE,

7 months ago[YouPorn] Improve extraction
dirkf [Fri, 1 Mar 2024 15:07:30 +0000 (15:07 +0000)]
[YouPorn] Improve extraction
* detect unwatchable videos
* improve duration extraction
* fix count extraction and support large values
* detect and remove SEO spam boilerplate description

7 months ago[test/test_download] Support 'playlist_maxcount:count' expected value
dirkf [Thu, 11 Apr 2024 11:47:05 +0000 (12:47 +0100)]
[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!

7 months ago[YouPorn] Incorporate yt-dlp PR 8827
dirkf [Fri, 1 Mar 2024 14:48:30 +0000 (14:48 +0000)]
[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

7 months ago[postprocessor/ffmpeg] Fix finding ffprobe (bug in 21792b8)
dirkf [Sun, 7 Apr 2024 14:26:12 +0000 (15:26 +0100)]
[postprocessor/ffmpeg] Fix finding ffprobe (bug in 21792b8)
Fixes https://github.com/ytdl-org/youtube-dl/commit/21792b88b791b16e3ab0a0fb2e26e5bb8a4e2ff3#commitcomment-140705274, thx: vonProteus

7 months ago[utils] Fix crash in _report_ignoring_subs from c58b655 (#32762)
Ori Avtalion [Fri, 5 Apr 2024 14:25:29 +0000 (17:25 +0300)]
[utils] Fix crash in _report_ignoring_subs from c58b655  (#32762)

Align `utils.bug_reports_message()` with yt-dlp https://github.com/yt-dlp/yt-dlp/commit/5873d4ccdd, thanks fstirlitz

---------

Co-authored-by: dirkf <fieldhouse@gmx.net>
7 months ago[external/FFmpeg] Fix and improve --ffmpeg-location handling
dirkf [Sun, 3 Mar 2024 12:38:00 +0000 (12:38 +0000)]
[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

7 months ago[downloader/external] Fix "Resource Warning" in downloader test
dirkf [Sat, 2 Mar 2024 15:17:09 +0000 (15:17 +0000)]
[downloader/external] Fix "Resource Warning" in downloader test
* add compat_subprocess_Popen context manager
* apply context manager in FFmpegFD._call_downloader()

7 months ago[compat] Simplify/fix compat_html_parser_HTMLParseError
dirkf [Sun, 10 Mar 2024 19:06:57 +0000 (19:06 +0000)]
[compat] Simplify/fix compat_html_parser_HTMLParseError

7 months ago[utils] Apply compat_contextlib_suppress
dirkf [Fri, 1 Mar 2024 19:53:58 +0000 (19:53 +0000)]
[utils] Apply compat_contextlib_suppress

7 months ago[compat] Add compat_contextlib_suppress
dirkf [Fri, 1 Mar 2024 15:25:44 +0000 (15:25 +0000)]
[compat] Add compat_contextlib_suppress

with compat_contextlib_suppress(*Exceptions):
    # code that fails silently for any of Exceptions

7 months ago[Youtube] Fix unwanted private method __ie_msg in f8b0135850
gy-chen [Sat, 23 Mar 2024 15:30:13 +0000 (23:30 +0800)]
[Youtube] Fix unwanted private method __ie_msg in f8b0135850

Fixes `AttributeError no attribute '_YoutubeIE__ie_msg'` if unable to decode n-parameter

8 months ago[Vimeo] Improve `config` extraction (#32742)
Zizheng Guo [Tue, 12 Mar 2024 11:44:13 +0000 (19:44 +0800)]
[Vimeo] Improve `config` extraction (#32742)

* update for more robust json parsing

8 months ago[Videa] Fix extraction
hatsomatt [Sat, 16 Sep 2023 14:02:37 +0000 (16:02 +0200)]
[Videa] Fix extraction
* update API URL
* from https://github.com/yt-dlp/yt-dlp/pull/8003
* thanks to the authors!

Closes yt-dlp/7427
Authored by: hatsomatt, aky-01

8 months ago[Videa] Align with yt-dlp
dirkf [Thu, 29 Feb 2024 14:12:37 +0000 (14:12 +0000)]
[Videa] Align with yt-dlp

8 months ago[XFileShare] Update extractor for 2024
dirkf [Wed, 21 Feb 2024 00:18:17 +0000 (00:18 +0000)]
[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

8 months ago[InfoExtractor] Rework and improve JWPlayer extraction
dirkf [Wed, 21 Feb 2024 00:09:48 +0000 (00:09 +0000)]
[InfoExtractor] Rework and improve JWPlayer extraction
* use traverse_obj() and _search_json()
* support playlist `.load({**video1},{**video2}, ...)`
* support transform_source=... for _extract_jwplayer_data()

8 months ago[InfoExtractor] Add `_search_json()`
dirkf [Wed, 21 Feb 2024 00:03:17 +0000 (00:03 +0000)]
[InfoExtractor] Add `_search_json()`
* uses the error diagnostic to truncate the JSON string
* may be confused by non-C-Pythons

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