Commit graph

280 commits

Author SHA1 Message Date
Jesse Bannon
52fdc9a213
[DOCKER] Add ubuntu docker image for device passthrough (#545) 2023-03-15 14:10:32 -07:00
Jesse Bannon
7c692cda6e
[REFACTOR] BaseDownloader (#542)
* [REFACTOR] BaseDownloader

* doh

* fix mock
2023-03-14 23:42:50 -07:00
Jesse Bannon
f4807aa9a4
[BUGFIX] Do not load YAML unless dict is returned (#541) 2023-03-14 23:06:51 -07:00
Jesse Bannon
e69933d525
[REFACTOR] Split metadata and download into two separate steps (#540) 2023-03-13 22:41:09 -07:00
Jesse Bannon
1922296c31
[REFACTOR] BaseDownloader class (#539) 2023-03-13 00:42:32 -07:00
Jesse Bannon
c546ce89df
[DOCS] Empty value docs for thumbnail + info json (#535) 2023-03-12 20:50:12 -07:00
Jesse Bannon
7502a76b99
[BACKEND] Enable info.json by default for TV show presets (#534) 2023-03-12 18:31:29 -07:00
Jesse Bannon
45244889ae
[FEATURE] chunk_initial_download preset (#532) 2023-03-10 19:18:37 -08:00
Jesse Bannon
f42973cf2f
[FEATURE] download_reverse in URL download strategy (#531)
* [FEATURE] download_reverse in URL download strategy

* doc fix
2023-03-10 16:13:02 -08:00
Jesse Bannon
0cd8df6e11
[BUGFIX] Fix extractor IDs in yt-dlp download archive (#528) 2023-03-10 12:48:53 -08:00
Jesse Bannon
11f00abaf6
[FEATURE] best_video_quality prebuilt preset (#526)
* [FEATURE] best_video_quality prebuilt preset

* common
2023-03-10 11:48:14 -08:00
Jesse Bannon
2d2fff9a40
[FEATURE] Prebuilt presets to include title in their filename (#525) 2023-03-10 10:30:35 -08:00
Jesse Bannon
f9318b9d07
[BUGFIX] Handle truncating file names if too long (#524)
* [BUGFIX] Handle truncating file names if too long

* always import os

* test fix

* fix for windows

* lint
2023-03-10 07:20:43 -08:00
Jesse Bannon
d46829b4ab
[BUGFIX] Properly align summary numbers (#517) 2023-03-08 18:35:03 -08:00
Jesse Bannon
ce877a32f9
[BUGFIX] Fix quiet log level not showing warning logs (#516) 2023-03-08 16:30:42 -08:00
Jesse Bannon
91e9fe7602
[FEATURE] Add summary to console output (#515) 2023-03-08 15:34:58 -08:00
Jesse Bannon
fddf3d3088
[FEATURE] Ability to suppress or write transaction log to file (#514) 2023-03-08 13:32:07 -08:00
Jesse Bannon
fd1934b821
[BUGFIX] Create persist log directory if it does not exist (#513) 2023-03-08 10:12:52 -08:00
Jesse Bannon
648027204f
[FEATURE] Persisted subscription logs (#512) 2023-03-08 00:17:11 -08:00
Jesse Bannon
e6a9b3ca0b
[BUILD] New yt-dlp version (#503) 2023-03-03 17:21:51 -08:00
Jesse Bannon
3c6fd0b4e8
[BUGFIX] Fix global options not working after sub (#500)
* [BACKEND] Error if arg after positional arg

* working

* dry-run default

* remove unused code
2023-03-03 11:07:11 -08:00
Jesse Bannon
7d7777c119
[REFACTOR] init ffmpeg paths in config initialize function (#501)
* [REFACTOR] init ffmpeg paths in config initialize function

* init within init
2023-03-03 10:56:18 -08:00
Jesse Bannon
7b7a4f8ab1
[BACKEND] Add --version arg (#499) 2023-03-02 19:32:11 -08:00
Jesse Bannon
896a9e2073
[BACKEND] Reset debug log on every subscription (#497) 2023-03-02 18:57:13 -08:00
Jesse Bannon
628c0f1f43
[BACKEND] Add more collection seasons (#498) 2023-03-02 18:33:25 -08:00
Jesse Bannon
5d40d02eb3
[BACKEND] Make break message debug level and more clear (#496) 2023-03-02 13:01:01 -08:00
Jesse Bannon
6146762571
[DOCS] readthedocs makeover (#493) 2023-03-01 23:45:16 -08:00
Jesse Bannon
265dae105d
[DOCS] More verbose error when ffmpeg/ffprobe not found (#491) 2023-03-01 23:40:39 -08:00
Jesse Bannon
7cfd14ed71
[DOCS] Add ffmpeg path docs (#487) 2023-03-01 09:41:34 -08:00
Jesse Bannon
798bbbc62c
[BACKEND] Windows support (#476) 2023-02-28 17:07:03 -08:00
Jesse Bannon
a2808fa7fe
[BACKEND] Properly sanitize recursive variables (#477)
* [BACKEND] Properly sanitize recursive variables

* lint

* update tests
2023-02-25 09:35:41 -08:00
Jesse Bannon
c153185b33
[DOCKER] Relax ffmpeg version requirement (#465) 2023-02-22 09:53:24 -08:00
Jesse Bannon
1423142d07
[RELEASE] Fix commit count issue in release post (#460) 2023-02-20 19:46:51 -08:00
Jesse Bannon
c39393e69a
[RELEASE] Package ytdl-sub to PyPI (#457)
* post only if > 0

* since todays date

* pypi workflow

* test token

* fix test

* long description

* simpler names

* more simple

* no test pypi in master

* publish only on master
2023-02-20 16:39:33 -08:00
Jesse Bannon
2231bd43c8
[BACKEND] Set __version__ as date, dynamically update it in make (#456)
* [BACKEND] Set python __version__ as date, dynamically update it in make

* set version dynamically

* keep empty

* git ignore __init__

* keep init

* keep

* fix unit test
2023-02-20 14:18:30 -08:00
Jesse Bannon
251cd541ec
[BACKEND] File lock directory config parameter (#455)
* [BACKEND] File lock directory config parameter

* [BACKEND] File lock directory config parameter
2023-02-20 14:05:19 -08:00
Jesse Bannon
741e4825a9
[DOCS] Automatic sanitized override variable docs (#453)
* [DOCS] Automatic sanitized override variable docs

* formatting
2023-02-20 11:01:43 -08:00
Jesse Bannon
9b90c367a5
[DOCS] Better error message for strict override variable fields (#452)
* [DOCS] Better error message for strict override variable fields

* fix unit test
2023-02-20 10:57:40 -08:00
Jesse Bannon
4ba41c757c
[BACKEND] More verbose logging when breaking (#450)
* [BACKEND] More verbose logging when breaking

* make thumbnail id a debugger log

* mock for info log

* info
2023-02-20 10:50:04 -08:00
Jesse Bannon
17e5ca3904
[DOCS] Lowest date_range granularity is day (#451) 2023-02-20 10:40:28 -08:00
Jesse Bannon
73094e79bb
[FEATURE] Plex sanitized title and uid. Add into prebuilt preset (#449)
* [FEATURE] Plex sanitized title and uid. Add into prebuilt preset

* update fixtures, add fixture test

* lint
2023-02-20 10:19:44 -08:00
Joshua M. Boniface
69df95e0e9
[BACKEND] Always perform copy/delete on OSError (#446)
* Always perform copy/delete on OSError

Extends the fix in #400 to handle all potential OSError errno values and
attempt a copy/delete in all cases. For example, a combination
cross-device move and a permissions change would throw errno 1 instead
of errno 18, which wasn't caught here. Instead of messing with
individual errno numbers, just always attempt a copy/delete and let
those throw their own exceptions if they don't work either.

* Remove unused os_error_exc variable
2023-02-19 21:06:48 -08:00
Jesse Bannon
3106861a42
[BACKEND] Additional filtering on root parent search (#445)
* [BACKEND] Additional filtering on root parent search

* update failing test
2023-02-17 23:32:02 -08:00
Jesse Bannon
e5b5c5e638
[BACKEND] Bandcamp e2e test, update music example (#393)
* [BUGFIX] Fix missing contains function when checking entries

* remove children func

* [BACKEND] Bandcamp e2e test, update music example

* WIP

* combine soundcloud and all music into music_audio config

* sc fixtures

* updated tests and examples

* bandcamp e2e test

* regen off

* remove url validators

* use bandcamp artist url for more parent coverage

* lint
2023-01-14 16:48:27 -08:00
Jesse Bannon
c828ca5978
[BUGFIX] Fix TV show collection season thumbnail path for Plex (#419) 2023-01-14 16:46:40 -08:00
Jesse Bannon
32f1398d60
[BUGFIX] Fix playlist season thumbnails not appearing (#416) 2023-01-13 14:05:56 -08:00
Jesse Bannon
ab52ebbfe5
[DOCS] Extractor args example for english metadata (#415) 2023-01-13 13:59:24 -08:00
Jesse Bannon
30c77565bc
[BACKEND] Add playlist_uploader_sanitized var (#414) 2023-01-13 10:47:43 -08:00
Jesse Bannon
6020f27f12
[BACKEND] Better error message for music_tags recieving a video (#413)
* [BACKEND] Better error message for music_tags recieving a video

* test and better message
2023-01-13 10:25:17 -08:00
Jesse Bannon
c95c0f6aa4
[DOCS] Document additional backslash for regex (#412)
* [DOCS] Document additional backslash for regex

* double-backslash
2023-01-11 22:51:01 -08:00
Jesse Bannon
d9584dca63
[DOCS] Add popular ytdl_options to docs (#411) 2023-01-11 22:14:29 -08:00
Jesse Bannon
053042b4b9
[BACKEND] Purge youtube + soundcloud download strategies (#408)
* [BACKEND] Purge youtube + soundcloud download strategies

* update unit tests

* fix missing for ffmpeg;

* try update
2023-01-11 22:05:50 -08:00
Jesse Bannon
c84496910f
[BUGFIX] Cross-device patch for ffmpeg file writes (#407) 2023-01-10 14:19:45 -08:00
Jesse Bannon
c3d9d45c18
[BUGFIX] Invalid cross-device link workaround (#400) 2023-01-04 15:34:26 -08:00
Jesse Bannon
beaa34a367
[BUGFIX] Fix entry missing __contains__ function (#392)
* [BUGFIX] Fix missing contains function when checking entries

* remove children func

* Update failing hash
2022-12-13 00:23:16 -08:00
Jesse Bannon
c47b504cb4
[BUGFIX] Clear working directory before starting any downloads (#382)
* [BUGFIX] Clear working directory before starting any downloads

* update fixture

* fix prebuilt tests

* check if dir exists before del in fixture
2022-11-30 15:34:17 -08:00
Jesse Bannon
c8c66b5660
[BUGFIX] Create dir before converting channel thumbnails (#381) 2022-11-30 15:06:56 -08:00
Jesse Bannon
96e741c71d
[BACKEND] Proactively clean working directory (#379)
* fix playlist last thumbnail move to copy

* playlist working

* channel working

* working directory getting cleaned

* working dir e2e fixture

* cleanup files in any case

* clean up if pre-split returns None
2022-11-30 10:36:13 -08:00
Jesse Bannon
8dd57beebc
[BACKEND] Pass deep copy of ytdl_options to yt-dlp (#376) 2022-11-27 23:40:44 -08:00
Jesse Bannon
92c9988987
[BACKEND] Reduce memory footprint (#375)
* [BACKEND] Reduce memory footprint

* entry refactor
2022-11-27 22:38:50 -08:00
Jesse Bannon
001d516c56
[BACKEND] Fetch thumbnails after first downloaded entry (#368) 2022-11-27 00:20:14 -08:00
Jesse Bannon
9f5ee153b7
[BACKEND] Add URL thumbnail download timeout (#367) 2022-11-26 23:44:40 -08:00
Jesse Bannon
954dc0f3ee
[FEATURE] Add better download progress (#366) 2022-11-26 23:33:14 -08:00
Jesse Bannon
a77885f4de
[FEATURE] Match filters plugin (#365) 2022-11-26 22:32:19 -08:00
Jesse Bannon
2f792f774c
[FEATURE] Add custom ffmpeg post-processing (#364) 2022-11-26 14:56:34 -08:00
Jesse Bannon
2edfffcc5f
[FEATURE] Include description in prebuilt TV show presets by default (#360) 2022-11-24 20:31:36 -08:00
Jesse Bannon
ead5620c5c
[FEATURE] Add mp3 id3v2.4 multi-tag support (#356)
* [FEATURE] Add mp3 id3v2.4 multi-tag support

* docs

* fix new docker issue

* update fixture
2022-11-24 00:56:23 -08:00
Jesse Bannon
5d9fe2eaae
[BUGFIX] Set multi-value music tags as a list with single value (#349)
* [BUGFIX] Set multi-value music tags as a list with single value

* update fixtures
2022-11-21 14:11:55 -08:00
Jesse Bannon
ffaf07d628
[FEATURE] Add support to scrape chapters from comments (#347)
* [FEATURE] Add support to scrape chapters from comments

* tested for comments

* remove timestamps file

* change order of docstrings
2022-11-21 11:19:17 -08:00
Jesse Bannon
70c78dc109
[FEATURE] Embed thumbnails into audio files as cover art (#345)
* [FEATURE] Embed thumbnails into audio files as cover art

* lint

* fix ytdl options
2022-11-19 23:36:15 -08:00
Jesse Bannon
20bec0c664
[BUGFIX] Fix split_by_chapter download archive not working (#344) 2022-11-19 23:08:59 -08:00
Jesse Bannon
5705a28842
[FEATURE] Add ytdl-sub view URL to view source variables (#340)
* [FEATURE] Add `ytdl-sub view URL` to view source variables

* update file path
2022-11-19 16:56:45 -08:00
Jesse Bannon
ed08b2f591
asdf (#336) 2022-11-16 14:04:40 -08:00
Jesse Bannon
978dc36713
[BACKEND] Optimize metadata fetching (#335)
* [BACKEND] Do not fetch unnecessary metadata when grabbing .info.json files"

* update with more optimized ytdl options
2022-11-16 12:54:18 -08:00
Jesse Bannon
26b6ed0add
[BUGFIX] Fix multiple top-level parents issue (#325) 2022-11-14 23:01:34 -08:00
Jesse Bannon
8d154cc242
[BACKEND] Have Plex TV show preset try to download mp4 (#324) 2022-11-14 22:09:28 -08:00
Jesse Bannon
efb8ed5666
[DOCS] Warn if using deprecated download strategy (#321) 2022-11-13 14:08:34 -08:00
Jesse Bannon
10b58264ea
[BACKEND] Update music video example with url download strategy (#312)
* [DOCS] document file __preset__

* [REFACTOR] Use `download` type in examples

* TODO: download strategy docs, validate fixtures, fix playlist test

* playlist fixed, fixtures look good

* download strategy docs, fix tests

* better docs

* lint

* yt fixed

* split chapters fixed

* fix video

* better docs

* lint
2022-11-11 08:54:07 -08:00
Jesse Bannon
7458814a36
[DOCS] document file __preset__ (#311) 2022-11-06 17:00:42 -08:00
Jesse Bannon
255805c871
[REFACTOR] Rename source/collection to url/multi_url (#310) 2022-11-06 17:00:26 -08:00
Jesse Bannon
da22c9a608
[REFACTOR] Rename generic download source to download (#309)
* [REFACTOR] Rename `generic` download source to `download`

* no change to download strategy
2022-11-06 16:24:06 -08:00
Jesse Bannon
032acdbb6e
[BUGFIX] Fix latest ep thumbnail showing as TV show poster (#304) 2022-10-30 22:54:46 -07:00
Jesse Bannon
44ec463ab3
[BACKEND] More strict validation for config files (#301) 2022-10-26 00:00:36 -07:00
Jesse Bannon
3e4a995f6e [DOCS] Fix file_convert yaml example 2022-10-22 22:10:55 -07:00
Jesse Bannon
1de5014c2f
[BUGFIX] Fix collection urls using wrong variables (#297) 2022-10-20 21:57:36 -07:00
Jesse Bannon
6fbed2e4b0
[BACKEND] Make dry-run log message (#295) 2022-10-16 23:00:31 -07:00
Jesse Bannon
1f4ac3e70f
[BACKEND] Debug log subscription as yaml to reproduce (#294) 2022-10-16 22:41:56 -07:00
Jesse Bannon
86c7e7b84e
[BUGFIX] Retry downloading entry thumbnail if missing (#293) 2022-10-16 22:25:59 -07:00
Jesse Bannon
6125fd0efb
[FEATURE] Add subscription yaml file preset __preset__ and apply to all presets in the file (#292) 2022-10-15 23:19:54 -07:00
Jesse Bannon
4ce3d9e9fb
[REFACTOR] Clean up prebuilt presets (#291)
* [REFACTOR] Clean up prebuilt presets

* prebuilt class
2022-10-15 16:59:43 -07:00
Jesse Bannon
fcdcb509c4
[BACKEND] Move more logic into subscription (#283) 2022-10-14 16:53:53 -07:00
Jesse Bannon
dbe71bb1c7
[BUGFIX] Fix split_by_chapters tests, refactor ytdl option file (#278) 2022-10-08 00:20:12 -07:00
Jesse Bannon
4ddaf72ae1
[DOCS] file_convert plugin (#276)
* [DOCS] file_convert plugin

* better docs

* lint
2022-10-07 22:46:07 -07:00
Jesse Bannon
cfc2e916aa
[BACKEND] Include genre override for tv shows (#277) 2022-10-07 22:23:07 -07:00
Jesse Bannon
9883907bf0
[BUGFIX] Use yt-dlp remuxer instead of our own (#275)
* [BUGFIX] Use yt-dlps remuxer instead of our own

* docstring
2022-10-07 17:16:54 -07:00
Jesse Bannon
ed7015296c
[BUGFIX] break_on_existing for tv presets, break_on_reject only when after is supplied (#273) 2022-10-06 12:21:37 -07:00
Jesse Bannon
5b8ee7f2de
[FEATURE] download_index source variable, new tv presets (#271) 2022-10-05 12:08:43 -07:00
Jesse Bannon
dc7b47d29b
[BACKEND] copy codecs, only change container (#269) 2022-10-03 16:42:40 -07:00
Jesse Bannon
a8b8762f49
[BACKEND] prebuilt player bases, make plex convert webm to mp4 (#268) 2022-10-03 15:44:44 -07:00
Jesse Bannon
9f6b3d4647
[FEATURE] file_convert plugin (#267) 2022-10-03 15:19:24 -07:00