pukkandan
9e598870dd
Fix `playlist_index` not obeying `playlist_start`
...
and add tests
Closes #720
3 years ago
pukkandan
8f18aca871
Let `--match-filter` reject entries early
...
Makes redundant: `--match-title`, `--reject-title`, `--min-views`, `--max-views`
3 years ago
pukkandan
ad3dc496bb
Misc fixes - See desc
...
* Remove unnecessary uses of _list_from_options_callback
* Fix download tests - Bug from 6e84b21559
* Rename ExecAfterDownloadPP to ExecPP and refactor its tests
* Ensure _write_ytdl_file closes file handle on error - Potential fix for #517
3 years ago
pukkandan
e9f4ccd19e
Add option `--replace-in-metadata`
3 years ago
pukkandan
b868936cd6
[cleanup] Misc
3 years ago
pukkandan
243c57cfe8
[tests:download] Add batch testing for extractors
...
Use `test_YourExtractor_all` to invoke them
3 years ago
pukkandan
2b8a2973bd
Allow entire infodict to be printed using `%()s`
...
Makes `--dump-json` redundant
3 years ago
pukkandan
6e84b21559
Fix bugs related to `sanitize_info`
...
Related: 8012d892bd (r54555230)
3 years ago
pukkandan
a047eeb6d2
Add regex to `--match-filter`
...
This does not fully deprecate `--match-title`/`--reject-title`
since `--match-filter` is only checked after the extraction is complete,
while `--match-title` can often be checked from the flat playlist.
Fixes: https://github.com/ytdl-org/youtube-dl/issues/9092 , https://github.com/ytdl-org/youtube-dl/issues/23035
3 years ago
Max Teegen
77b87f0519
Add all format filtering operators also to `--match-filter`
...
PR: https://github.com/ytdl-org/youtube-dl/pull/27361
Authored by: max-te
3 years ago
pukkandan
0855702f3f
[test:download] Support testing with `ignore_no_formats_error`
3 years ago
pukkandan
e0f2b4b47d
[utils] Fix slicing of reversed `LazyList`
...
Closes #589
3 years ago
pukkandan
7d1eb38af1
Add format types `j`, `l`, `q` for outtmpl
...
Closes #345
3 years ago
pukkandan
901130bbcf
Expand and escape environment variables correctly in outtmpl
...
Fixes: https://www.reddit.com/r/youtubedl/comments/otfmq3/ytdlp_same_parameters_different_results
3 years ago
pukkandan
052e135029
[youtube] Simplify `_get_text` early
3 years ago
pukkandan
060ac76257
[test] Use `pytest` instead of `nosetests` ( #482 )
...
`nosetests` is no longer being maintained : https://github.com/nose-devs/nose/issues/1099
and will stop working in py 3.10 as can be seen in #480
3 years ago
Matt Broadway
982ee69a74
Add option `--cookies-from-browser` to load cookies from a browser ( #488 )
...
* also adds `--no-cookies-from-browser`
Original PR: https://github.com/ytdl-org/youtube-dl/pull/29201
Authored by: mbway
3 years ago
felix
c843e68588
[utils] Improve `js_to_json` comment regex
...
Capture the newline character as part of a single-line comment
From #497 , Authored by: fstirlitz
3 years ago
pukkandan
b5ac45b197
Fix selectors `all`, `mergeall` and add tests
...
Bug from: 981052c9c6
3 years ago
pukkandan
981052c9c6
Some minor fixes and refactoring (see desc)
...
* [utils] Fix issues with reversal
* check_formats should catch `DownloadError`, not `ExtractorError`
* Simplify format selectors with `LazyList` and `yield from`
3 years ago
pukkandan
9fea350f0d
Fix id sanitization in filenames
...
Closes #415
3 years ago
pukkandan
28419ca2c8
[utils] Improve `LazyList`
...
* Add `repr` and `str` that mimics `list`
* Add `reversed`. Unlike `[::-1]`, reversed does not exhaust the iterable and modifies the `LazyList` in-place
* Add tests
3 years ago
pukkandan
187986a857
Better error handling of syntax errors in `-f`
3 years ago
pukkandan
385a27fad1
Improve offset parsing in outtmpl
3 years ago
pukkandan
5c6542ce69
[test] More rigorous tests for `prepare_filename`
...
All tests of `prepare_outtmpl` is now also run on `prepare_filename`
3 years ago
pukkandan
639f1cea92
Fix `%d` and empty default in outtmpl
...
Closes #388
3 years ago
pukkandan
aa75e51f99
[build] Build Windows x86 version with py3.8
...
and remove redundant tests
:ci skip
Ao-authored by: pukkandan, shirt-dev
3 years ago
pukkandan
76a264ac9e
Make outtmpl more robust and catch errors early
3 years ago
pukkandan
87ea7dfc04
Fix filename sanitization
...
Bug from 752cda3880
3 years ago
pukkandan
752cda3880
Fix and refactor `prepare_outtmpl`
...
The following tests would have failed previously:
%(id)d %(id)r
%(ext)s-%(ext|def)d
%(width|)d
%(id)r %(height)r
%(formats.0)r
%s
3 years ago
pukkandan
9d83ad93d0
[cleanup] Mark unused files
3 years ago
felix
cc52de4356
[cleanup] Point all shebang to `python3` ( #372 )
...
Authored by: fstirlitz
3 years ago
pukkandan
bc6b9bcd65
[utils] Escape URLs in `sanitized_Request`, not `sanitize_url`
...
d2558234cf
added escaping of URLs while sanitizing. However, `sanitize_url` may not always receive an actual URL.
Eg: When using `yt-dlp "search query" --default-search ytsearch`, `search query` gets escaped to `search%20query` before being prefixed with `ytsearch:` which is not the intended behavior. So the escaping is moved to `sanitized_Request` instead.
4 years ago
pukkandan
337e0c62f8
[embedthumbnail] Correctly escape filename
...
Closes #352
The approach in [1] is faulty as can be seen in the test cases
1. bff857a8af
4 years ago
pukkandan
c77495e3a4
[cleanup] `_match_entry`
4 years ago
pukkandan
177877c544
[extractor] Always prefer native hls downloader by default
...
When the manifest is not downloadable by native downloader, it already is able to detect it and switch to `ffmpeg`. So there doesn't seem to be a reason anymore to use ffmpeg as the preferred downloader
4 years ago
Hubert Hirtz
5435dcf96e
Handle Basic Auth `user:pass` in URLs
...
Fixes https://github.com/ytdl-org/youtube-dl/issues/20258 , https://github.com/ytdl-org/youtube-dl/issues/26211
Authored by: hhirtz, pukkandan
4 years ago
pukkandan
af32f40bf5
[test] Fix `test_YoutubeDL.TestYoutubeDL`
...
Test `test_ignoreerrors_for_playlist_with_url_transparent_iterable_entries` was broken due to `__original_infodict` being added to the dict
4 years ago
pukkandan
da692b7920
[cleanup] youtube tests
4 years ago
pukkandan
6911e11edd
[test:download] Only extract enough videos for `playlist_mincount`
4 years ago
Felix S
5fbcebed8c
[test] Test SSTR manifest parsing
4 years ago
Felix S
becdc7f82c
[test] Test subtitle extraction from DASH manifests
4 years ago
Felix S
73b9088a1c
[test] Test subtitle extraction from HLS manifests
4 years ago
Felix S
a0c3b2d5cf
[extractor/common] Extract HLS subtitle tracks
...
_extract_m3u8_formats is renamed to _extract_m3u8_formats_and_subtitles
and extended to handle subtitle tracks instead of skipping them;
a wrapper with the old name is provided for compatibility.
_parse_m3u8_formats is likewise renamed and extended, but without adding
the compatibility wrapper; the test suite is adjusted to test the enhanced
method instead.
4 years ago
pukkandan
1bdae7d312
Update to ytdl-commit-7e8b3f9
...
[youtube] Remove unused code
7e8b3f9439
4 years ago
pukkandan
a439a3a45c
Improve output template (see desc)
...
* Objects can be traversed like `%(field.key1.key2)s`
* A number can be added to the field as `%(field+n)s`
* Deprecates `--autonumber-start`
4 years ago
pukkandan
a3faeb7de4
[MetadataFromField] Improve regex and add tests
4 years ago
pukkandan
c32b0aab8a
Improve --sub-langs (see desc)
...
* Treat `--sub-langs` entries as regex
* `all` can be used to refer to all the subtitles
* the language code can be prefixed with `-` to exclude it
* Deprecates `--all-subs`
Closes #253
4 years ago
pukkandan
a7191c6f57
Fix some linter and typos
4 years ago
colethedj
9e62f283ff
[utils] Add `datetime_from_str` to parse relative time ( #221 )
...
and `datetime_add_months` to accurately add/subtract months
Authored by: colethedj
4 years ago