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
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
556862bc91
[utils] Ensure RFC3986 encoding result is unicode
2 years ago
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
2 years ago
pukkandan
0700fde640
[utils, etc] Kill child processes when yt-dl is killed
...
* derived from PR #26592 , closes #26592
Authored by: Unrud
2 years ago
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
2 years ago
dirkf
52c3751df7
[utils] Enable ALPN in HTTPS to satisfy broken servers
...
See https://github.com/yt-dlp/yt-dlp/issues/3878
3 years ago
Sergey M․
cfee2dfe83
[utils] PEP 8
4 years ago
Sergey M․
a00a7e0cad
[utils] Add support for support for experimental HTTP response status code 308 Permanent Redirect (refs #27877 , refs #28768 )
4 years ago
Remita Amine
e88c9ef62a
[utils] add a function to clean podcast URLs
4 years ago
Remita Amine
9dd674e1d2
[utils] accept only supported protocols in url_or_none
4 years ago
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>
4 years ago
Sergey M․
fe07e788bf
[utils] Skip ! prefixed code in js_to_json
4 years ago
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.
4 years ago
Sergey M․
1d9bf655e6
[utils] Recognize wav mimetype ( closes #26463 )
4 years ago
Rob
9cd5f54e31
[utils] Fix file permissions in write_json_file ( closes #12471 ) ( #25122 )
5 years ago
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)
5 years ago
Sergey M․
f1a8511f7b
[utils] Add reference to cookie file format
5 years ago
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
.
5 years ago
Sergey M․
cff99c91d1
[utils] Add support for cookies with spaces used instead of tabs
5 years ago
Sergey M․
fca6dba8b8
[YoutubeDL] Force redirect URL to unicode on python 2
5 years ago
Sergey M․
42db58ec73
[utils] Improve str_to_int
5 years ago
Remita Amine
348c6bf1c1
[utils] handle int values passed to str_to_int
5 years ago
Sergey M․
1ced222120
[utils] Add generic caesar cipher and rot47
5 years ago
InfernalUnderling
9d30c2132a
[utils] Handle rd-suffixed day parts in unified_strdate ( #23199 )
5 years ago
Sergey M․
53896ca5be
[utils] Actualize major IPv4 address blocks per country
5 years ago
Sergey M․
824fa51165
[utils] Improve subtitles_filename ( closes #22753 )
5 years ago
Sergey M․
f7a147e3b6
[utils] Introduce random_user_agent and use as default User-Agent ( closes #21546 )
5 years ago
Sergey M․
28cc2241e4
[utils] Restrict parse_codecs and add theora as known vcodec ( #21381 )
6 years ago
Sergey M․
53cd37bac5
[utils] Improve strip_or_none
6 years ago
Sergey M․
3089bc748c
Fix W504 and disable W503 ( closes #20863 )
6 years ago
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
6 years ago
Sergey M․
5e1271c56d
[utils] Improve int_or_none and float_or_none ( #20403 )
6 years ago
Sergey M․
0dc41787af
[utils] Introduce parse_bitrate
6 years ago
Sergey M․
067aa17edf
Start moving to ytdl-org
6 years ago
remitamine
e7e62441cd
[utils] strip #HttpOnly_ prefix from cookies files ( #20219 )
6 years ago
Ales Jirasek
22f5f5c6fc
[malltv] Add extractor ( closes #18058 )
6 years ago
Sergey M․
fad4ceb534
[utils] Fix urljoin for paths with non-http(s) schemes
6 years ago
Sergey M․
e9a50fba86
[utils] Fix typo
6 years ago
Sergey M․
b7acc83550
[utils] Add language codes replaced in 1989 revision of ISO 639 to ISO639Utils ( closes #18765 )
6 years ago
Sergey M․
1bab343704
[YoutubeDL] Introduce YoutubeDLCookieJar and clarify the rationale behind session cookies ( closes #12929 )
6 years ago
Alexander Seiler
aa374bc78e
[utils] Fix random_birthday to generate existing dates only
6 years ago
Sergey M․
25d110be30
[utils] Properly recognize AV1 codec ( closes #17506 )
6 years ago
Sergey M․
9e21e6d96b
[utils] Improve remote address skipping and add support for python 2.6 ( closes #17362 )
6 years ago
Andrew Udvare
8959018a5f
[utils] Skip remote IP addresses non matching to source address' IP version ( closes #13422 )
6 years ago
Sergey M․
60c0856223
[utils] Use pure browser header for User-Agent ( closes #17236 )
6 years ago
Huyuumi
38e87f6c2a
[utils] Remove return from __init__
6 years ago
Sergey M․
af03000ad5
[utils] Introduce url_or_none
6 years ago
Sergey M․
e9c671d5e8
[utils] Allow JSONP with empty func name ( closes #17028 )
6 years ago
Sergey M․
0685d9727b
[utils] Share JSON-LD regex
6 years ago