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>
2022-11-03 10:09:37 +00:00
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.
2022-10-11 12:18:12 +00:00
dirkf
556862bc91
[utils] Ensure RFC3986 encoding result is unicode
2022-08-21 00:45:06 +01:00
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
2022-08-14 18:45:45 +01:00
pukkandan
0700fde640
[utils, etc] Kill child processes when yt-dl is killed
...
* derived from PR #26592 , closes #26592
Authored by: Unrud
2022-06-10 19:57:46 +01:00
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
2022-06-06 16:03:04 +01:00
dirkf
52c3751df7
[utils] Enable ALPN in HTTPS to satisfy broken servers
...
See https://github.com/yt-dlp/yt-dlp/issues/3878
2022-05-28 13:52:51 +01:00
Sergey M․
cfee2dfe83
[utils] PEP 8
2021-04-17 03:32:04 +07:00
Sergey M․
a00a7e0cad
[utils] Add support for support for experimental HTTP response status code 308 Permanent Redirect (refs #27877 , refs #28768 )
2021-04-17 03:22:13 +07:00
Remita Amine
e88c9ef62a
[utils] add a function to clean podcast URLs
2021-01-04 01:14:25 +01:00
Remita Amine
9dd674e1d2
[utils] accept only supported protocols in url_or_none
2020-12-30 09:22:30 +01:00
Josh Soref
71ddc222ad
Fix typos ( #27084 )
...
* spelling: authorization
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: brightcove
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: creation
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: exceeded
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: exception
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: extension
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: extracting
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: extraction
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: frontline
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: improve
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: length
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: listsubtitles
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: multimedia
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: obfuscated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: partitioning
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: playlist
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: playlists
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: restriction
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: services
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: split
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: srmediathek
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: support
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: thumbnail
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: verification
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: whitespaces
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2020-11-21 22:00:05 +07:00
Sergey M․
fe07e788bf
[utils] Skip ! prefixed code in js_to_json
2020-11-17 01:30:43 +07:00
Kevin O'Connor
4eda10499e
[utils] Don't attempt to coerce JS strings to numbers in js_to_json ( #26851 )
...
The current logic in `js_to_json` tries to rewrite octal/hex numbers to
decimal. However, when the logic actually happens the `"` or `'` have
already been trimmed off. This causes what were originally strings, that
happen to look like octal/hex numbers, to get rewritten to decimal and
returned as a number rather than a string.
In practive something like:
```js
{
"0x40": "foo",
"040": "bar",
}
```
would get rewritten as:
```json
{
64: "foo",
32: "bar
}
```
This is problematic since this isn't valid JSON as you cannot have
non-string keys.
2020-10-18 00:10:41 +07:00
Sergey M․
1d9bf655e6
[utils] Recognize wav mimetype ( closes #26463 )
2020-09-06 11:19:53 +07:00
Rob
9cd5f54e31
[utils] Fix file permissions in write_json_file ( closes #12471 ) ( #25122 )
2020-05-20 03:21:52 +07:00
Sergey M․
c380cc28c4
[utils] Improve cookie files support
...
+ Add support for UTF-8 in cookie files
* Skip malformed cookie file entries instead of crashing (invalid entry len, invalid expires at)
2020-05-05 04:21:25 +07:00
Sergey M․
f1a8511f7b
[utils] Add reference to cookie file format
2020-03-10 04:59:02 +07:00
Sergey M․
042b664933
Revert "[utils] Add support for cookies with spaces used instead of tabs"
...
According to [1] TABs must be used as separators between fields.
Files produces by some tools with spaces as separators are considered
malformed.
1. https://curl.haxx.se/docs/http-cookies.html
This reverts commit cff99c91d1
.
2020-03-10 04:53:51 +07:00
Sergey M․
cff99c91d1
[utils] Add support for cookies with spaces used instead of tabs
2020-03-08 18:01:32 +07:00
Sergey M․
fca6dba8b8
[YoutubeDL] Force redirect URL to unicode on python 2
2020-02-29 19:08:44 +07:00
Sergey M․
42db58ec73
[utils] Improve str_to_int
2019-12-15 23:15:24 +07:00
Remita Amine
348c6bf1c1
[utils] handle int values passed to str_to_int
2019-11-29 17:39:18 +01:00
Sergey M․
1ced222120
[utils] Add generic caesar cipher and rot47
2019-11-27 02:26:42 +07:00
InfernalUnderling
9d30c2132a
[utils] Handle rd-suffixed day parts in unified_strdate ( #23199 )
2019-11-27 00:08:37 +07:00
Sergey M․
53896ca5be
[utils] Actualize major IPv4 address blocks per country
2019-10-29 06:10:20 +07:00
Sergey M․
824fa51165
[utils] Improve subtitles_filename ( closes #22753 )
2019-10-18 04:03:53 +07:00
Sergey M․
f7a147e3b6
[utils] Introduce random_user_agent and use as default User-Agent ( closes #21546 )
2019-06-29 00:32:43 +07:00
Sergey M․
28cc2241e4
[utils] Restrict parse_codecs and add theora as known vcodec ( #21381 )
2019-06-14 01:56:17 +07:00
Sergey M․
53cd37bac5
[utils] Improve strip_or_none
2019-05-24 00:03:01 +07:00
Sergey M․
3089bc748c
Fix W504 and disable W503 ( closes #20863 )
2019-05-11 03:57:40 +07:00
Jakub Wilk
fd35d8cdfd
[utils] Transliterate "þ" as "th" ( #20897 )
...
Despite visual similarity "þ" is unrelated to "p".
It is normally transliterated as "th":
$ echo þ-Þ | iconv -t ASCII//TRANSLIT
th-TH
2019-05-11 01:42:31 +07:00
Sergey M․
5e1271c56d
[utils] Improve int_or_none and float_or_none ( #20403 )
2019-03-23 01:08:54 +07:00
Sergey M․
0dc41787af
[utils] Introduce parse_bitrate
2019-03-17 09:07:47 +07:00
Sergey M․
067aa17edf
Start moving to ytdl-org
2019-03-11 04:00:54 +07:00
remitamine
e7e62441cd
[utils] strip #HttpOnly_ prefix from cookies files ( #20219 )
2019-03-03 19:23:59 +07:00
Ales Jirasek
22f5f5c6fc
[malltv] Add extractor ( closes #18058 )
2019-02-08 00:43:26 +07:00
Sergey M․
fad4ceb534
[utils] Fix urljoin for paths with non-http(s) schemes
2019-01-20 20:22:19 +07:00
Sergey M․
e9a50fba86
[utils] Fix typo
2019-01-07 01:02:34 +07:00
Sergey M․
b7acc83550
[utils] Add language codes replaced in 1989 revision of ISO 639 to ISO639Utils ( closes #18765 )
2019-01-07 00:57:48 +07:00
Sergey M․
1bab343704
[YoutubeDL] Introduce YoutubeDLCookieJar and clarify the rationale behind session cookies ( closes #12929 )
2018-12-09 06:47:49 +07:00
Alexander Seiler
aa374bc78e
[utils] Fix random_birthday to generate existing dates only
2018-12-02 00:05:15 +07:00
Sergey M․
25d110be30
[utils] Properly recognize AV1 codec ( closes #17506 )
2018-09-10 02:37:22 +07:00
Sergey M․
9e21e6d96b
[utils] Improve remote address skipping and add support for python 2.6 ( closes #17362 )
2018-08-29 01:18:03 +07:00
Andrew Udvare
8959018a5f
[utils] Skip remote IP addresses non matching to source address' IP version ( closes #13422 )
2018-08-29 01:17:53 +07:00
Sergey M․
60c0856223
[utils] Use pure browser header for User-Agent ( closes #17236 )
2018-08-14 23:27:12 +07:00
Huyuumi
38e87f6c2a
[utils] Remove return from __init__
2018-07-29 05:52:42 +07:00
Sergey M․
af03000ad5
[utils] Introduce url_or_none
2018-07-21 18:03:58 +07:00
Sergey M․
e9c671d5e8
[utils] Allow JSONP with empty func name ( closes #17028 )
2018-07-21 12:30:18 +07:00
Sergey M․
0685d9727b
[utils] Share JSON-LD regex
2018-07-09 23:43:05 +07:00