Commit graph

56 commits

Author SHA1 Message Date
pukkandan
f74980cbae Plugin support
Extractor plugins are loaded from <root-dir>/ytdlp_plugins/extractor/__init__.py

Inspired by https://github.com/un-def/dl-plus

:ci skip dl
2021-01-24 20:24:07 +05:30
pukkandan
c571435f9c [MoveFiles] More robust way to get final filename
:ci skip dl
2021-01-24 20:24:06 +05:30
pukkandan
10e3742eb1 Fix overwrite in --write-link
:ci skip dl
2021-01-24 14:05:32 +05:30
pukkandan
0202b52a0c #29 New option -P/--paths to give different paths for different types of files
Syntax: `-P "type:path" -P "type:path"`
Types: home, temp, description, annotation, subtitle, infojson, thumbnail
2021-01-23 17:53:17 +05:30
pukkandan
b46696bdc8 Revert d9eebbc747 2021-01-22 01:09:24 +05:30
pukkandan
63be1aab2f Deprecate unnecessary aliases in formatSort
(I should never have made so many aliases in the first-place)
The aliases remain functional for backward compatability, but will be left undocumented
2021-01-21 19:05:57 +05:30
pukkandan
d0757229fa Fix typecasting when pre-checking archive (Closes #26) 2021-01-21 17:36:42 +05:30
pukkandan
43820c0370 Improved passing of multiple postprocessor-args
* Added `PP+exe:args` syntax
    If `PP+exe:args` is specifically given, only it used.
    Otherwise, `PP:args` and `exe:args` are combined.
    If none of the `PP`, `exe` or `PP+exe` args are given, `default` is used
    `Default` is purposely left undocumented since it exists only for backward compatibility

* Also added proper handling of args in `EmbedThumbnail`

Related: https://github.com/ytdl-org/youtube-dl/pull/27723
2021-01-21 01:36:10 +05:30
pukkandan
8a51f56439 [readme] Cleanup options
(Closes #23) :skip ci
2021-01-19 00:56:07 +05:30
pukkandan
30a074c2b6 Update to ytdl-2021.01.16 2021-01-16 18:50:48 +05:30
pukkandan
d83cb5312c Fix archive bug introduced in 8b0d7497d5 2021-01-13 21:03:50 +05:30
pukkandan
8b0d7497d5 Added option --break-on-reject
and modified `--break-on-existing`
2021-01-13 06:44:35 +05:30
pukkandan
d9d045e2ef Changed repo name to yt-dlp 2021-01-13 03:45:14 +05:30
alxnull
0c3d0f5177 Added --force-overwrites option (https://github.com/ytdl-org/youtube-dl/pull/20405)
Co-authored by alxnull
2021-01-13 03:26:23 +05:30
pukkandan
f5546c0b3c Fix typos (Closes #14)
:skip ci all

Co-authored by: FelixFrog
2021-01-12 21:42:41 +05:30
pukkandan
f5b1bca913 Kill child processes when yt-dlc is killed (https://github.com/ytdl-org/youtube-dl/pull/26592)
Authored by: Unrud
2021-01-09 18:08:07 +05:30
pukkandan
d9eebbc747 Fix incorrect ANSI sequence for restoring console-window title (https://github.com/ytdl-org/youtube-dl/pull/26637)
Authored by: glenn-slayden
2021-01-09 18:08:07 +05:30
pukkandan
c3e6ffba53 Stop immediately when reaching '--max-downloads' (https://github.com/ytdl-org/youtube-dl/pull/26638)
Authored by: glenn-slayden
2021-01-09 18:08:06 +05:30
Alex Merkel
ab8e5e516f Add post_hooks option to YoutubeDL.py (https://github.com/ytdl-org/youtube-dl/pull/27573)
Authored by: alexmerkel
2021-01-09 16:00:49 +05:30
pukkandan
1b77b347d4 Allow passing different arguments to different postprocessors
* Also deprecated --sponskrub-args

Closes: https://github.com/ytdl-org/youtube-dl/issues/27593
Eg: `--postprocessor-args "VideoConvertor:-c:v h264_nvenc -preset slow"`
Eg: `--postprocessor-args "SponsKrub:-include-selfpromo"`

For backward compatibility, `--postprocessor-args args` is equivalent to:
`--post-processor-args "sponskrub:" --post-processor-args "default:args"`
2021-01-08 01:41:08 +05:30
pukkandan
19807826f7 Fix bug in default format selection 2021-01-07 17:22:46 +05:30
pukkandan
dbbbe555d7 Add duration_string to info_dict 2021-01-06 22:37:55 +05:30
pukkandan
91ebc64068 Change defaults
* Enabled --ignore by default
* Disabled --video-multistreams and --audio-multistreams by default
* Changed default format selection to 'bv*+ba/b' when --audio-multistreams is disabled
* Changed default format sort order to 'res,fps,codec,size,br,asr,proto,ext,has_audio,source,format_id'
* Changed default output template to '%(title)s [%(id)s].%(ext)s'
* Enabled `--list-formats-as-table` by default
2021-01-05 02:36:09 +05:30
pukkandan
29f7c58aaf Update to ytdl-2021.01.03 2021-01-05 00:02:27 +05:30
pukkandan
a9e7f54670 Sponskrub integration 2021-01-04 23:13:27 +05:30
pukkandan
76d321f68f Option to present -F output to a more tabular form 2021-01-04 23:03:04 +05:30
pukkandan
2d30509fc8 Add --force-download-archive by by h-h-h-h
Authored-by: h-h-h-h
2020-12-13 20:05:04 +05:30
pukkandan
732044afb2 Add --write-*-link by h-h-h-h
Authored-by: h-h-h-h
2020-12-13 20:05:04 +05:30
pukkandan
f96bff99cb Relaxed validation for format filters so that any arbitrary field can be used 2020-12-13 20:05:03 +05:30
pukkandan
909d24dd6d Better Format Selection
* Added options: --video-multistreams, --no-video-multistreams, --audio-multistreams, --no-audio-multistreams
* New format selectors: best*, worst*, bestvideo*, bestaudio*, worstvideo*, worstaudio*
* Added b,w,v,a as alias for best, worst, video and audio respectively in format selection
* Changed video format sorting to show video only files and video+audio files together.
2020-12-13 20:05:03 +05:30
pukkandan
eb8a44336c Better Format Sorting (Squashed)
* Added --format-sort (-S height,filesize)
* Made fields reversible (-S +height)
* Added --format-sort-force, --no-format-sort-force
* Added limit (-S height:720)
* Added codec preference (-S vcodec,acodec)
* Correct handling of preference<-1000

* Rebased to yt-dlc
* Automatically determine missing bitrates
* aext, vext, protocol, acodec, vcodec can now takes priority as string, not number (-S vext:webm)
* Correct handling of None in codec, audio_codec (None means the codec is unknown while 'none' means it doesn't exist)
* Correctly parse filesize (-S filesize:200M)
* Generalized preference calculation

* Rewrote entire code into the class FormatSort
* Correctly handle user input errors
* Combined fields (-S +ext:webm:webm)
* Closest mode (-S filesize~50M)
* Aliases (framerate=fps, br=bitrate etc)

* Documentation
2020-12-13 20:05:02 +05:30
pukkandan
a0566bbf5c Updated to release 2020.11.21.1 2020-11-22 03:51:26 +05:30
pukkandan
3462ffa892 Implemented all Youtube Feeds (ytfav, ytwatchlater, ytsubs, ythistory, ytrec) and SearchURL 2020-11-22 03:51:09 +05:30
Tom-Oliver Heidel
228385340e
Merge pull request #187 from pukkandan/break-on-existing
Stop download after encountering video in archive
2020-11-16 23:00:44 +01:00
pukkandan
ea6e0c2b0d Add --break-on-existing by @gergesh
Authored-by: Yoav Shai <gergesh@gmail.com>
2020-11-13 14:19:00 +05:30
pukkandan
fe5caa2a7c Handle IndexError 2020-11-13 03:05:29 +05:30
pukkandan
9a68de1217 Pre-check video IDs in the archive before downloading 2020-11-13 02:44:47 +05:30
Unknown
fa57af1ef3 flake8. added sha256 check to updater. 2020-10-31 08:57:55 +01:00
Unknown
9f448fcb26 [core/yt_live_chat] live_chat is back. dl() new parameter 2020-10-31 05:46:51 +01:00
Unknown
0704d2224b [core] be able to hand over id and title using url_result 2020-10-29 01:56:55 +01:00
Unknown
bdc3fd2f35 [core] add option to trim file name length with integer
https://github.com/blackjack4494/youtube-dlc/issues/85
2020-09-30 05:50:09 +02:00
Unknown
0c9df79e17 [core] no sleep affected subtitles only with enforced flag 2020-09-29 05:11:32 +02:00
Jody Bruchon
a45e861918 Switch from binary search tree to Python sets
Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
2020-09-18 21:18:23 -04:00
Jody Bruchon
fd87f42378 Randomize the ArchiveTree the proper Python way
Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
2020-09-18 14:22:42 -04:00
Jody Bruchon
2459b6e1cf Style revisions 2020-09-18 09:35:21 -04:00
Jody Bruchon
a4d834fb3e Fix wrong variable in position swap corrupting archive list
It's always a simple error in the end, you know?

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
2020-09-18 00:11:36 -04:00
Jody Bruchon
fda63a4e87 Randomize archive order before populating search tree
This doesn't result in an elegant, perfectly balanced search tree,
but it's absolutely good enough. This commit completely mitigates
the worst-case scenario where the archive file is sorted.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
2020-09-17 21:45:40 -04:00
Jody Bruchon
1d74d8d9f6 Try to mitigate the problem of loading a fully sorted archive
Sorted archives turn the binary tree into a linked list and make
things horribly slow. This is an incomplete mitigation for this
issue.
2020-09-17 17:28:22 -04:00
Jody Bruchon
1de7ea76f8 Remove recursion in at_insert() 2020-09-17 15:08:33 -04:00
Jody Bruchon
a5029645ae Remove debugging print statements 2020-09-17 14:46:11 -04:00