Commit graph

333 commits

Author SHA1 Message Date
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
52c1cc437d
[BACKEND] Fixed TV show name for prebuilt preset unit tests (#538) 2023-03-12 23:29:04 -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
bc90348bf0
[BUGFIX] Reinitialize debug log for every test (#530) 2023-03-10 14:37:59 -08:00
Jesse Bannon
54697f6ddf
[BUGFIX] Fix flakey unit test (#529) 2023-03-10 13:21:27 -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
e5949abce0
[BACKEND] partial validate test for subtitle lang variable (#527) 2023-03-10 11:54:49 -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
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
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
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
5d40d02eb3
[BACKEND] Make break message debug level and more clear (#496) 2023-03-02 13:01:01 -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
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
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
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
Jesse Bannon
f713d720e4
[DOCKER] Upgrade ffmpeg, add phantomjs (#448)
* [DOCKER] Upgrade ffmpeg, add phantomjs

* only install phantomjs for x86

* lint
2023-02-20 09:36:41 -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
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
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
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
e54bf7d467
[BACKEND] Add double parenthesis test for chapter extraction (#390)
* [BACKEND] Add double parenthesis test for chapter extraction

* lint
2022-12-09 07:45:51 -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
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
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
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
2128e183aa
[BACKEND] Use download strategy for soundcloud example (#316) 2022-11-12 09:59:49 -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
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
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
8da38a806e
[FEATURE] New TV Show example config (#279) 2022-10-14 16:32:19 -07:00
Jesse Bannon
f80fa30804
[BACKEND] Update test fixtures (#284) 2022-10-14 15:58:43 -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
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
5b8ee7f2de
[FEATURE] download_index source variable, new tv presets (#271) 2022-10-05 12:08:43 -07:00
Jesse Bannon
9f6b3d4647
[FEATURE] file_convert plugin (#267) 2022-10-03 15:19:24 -07:00
Jesse Bannon
713f55bb3c
[BUGFIX] Fix episode id, Kodi/Jellyfin presets to set video tags (#266) 2022-10-03 09:18:35 -07:00
Jesse Bannon
5b9a5dae50
[FEATURE] Prebuilt presets (#264) 2022-10-01 22:41:36 -07:00
Jesse Bannon
6d52177104
[BACKEND] upload_date_index source variables (#261)
* [BACKEND] `upload_date_index` source variables

* len
2022-09-30 22:41:06 -07:00
Jesse Bannon
897ea52e33
[BACKEND] Separate directory files in transaction log (#260) 2022-09-30 13:59:43 -07:00
Jesse Bannon
359731e1f3
[BACKEND] Move resources to root test folder (#259) 2022-09-30 13:01:04 -07:00
Jesse Bannon
cd9a094e2c
[BACKEND] epoch and playlist_index_reversed variables (#257) 2022-09-29 15:39:53 -07:00
Jesse Bannon
7d29b72010
[BACKEND] uid_sanitized variable (#256) 2022-09-29 00:33:57 -07:00
Jesse Bannon
4b6add06e1
[BUGFIX] Fix nested parents with multiple parents (#255) 2022-09-29 00:09:56 -07:00
Jesse Bannon
06dffdb763
[BACKEND] Have generic url be overrides string formatter (#254) 2022-09-28 15:03:02 -07:00
Jesse Bannon
427d6e30fd
Revert "[FEATURE] Merged output directory nfo support (#249)" (#253)
This reverts commit a970fb9d06.
2022-09-28 14:09:00 -07:00
Jesse Bannon
839192059b
[FEATURE] Add playlist thumbnail support (#250) 2022-09-27 23:48:18 -07:00
Jesse Bannon
a970fb9d06
[FEATURE] Merged output directory nfo support (#249) 2022-09-27 22:40:39 -07:00
Jesse Bannon
ebdd6c8aec
[BACKEND] Only have single entry type (#248) 2022-09-27 20:17:10 -07:00
Jesse Bannon
32577bbad5
[BACKEND] Expose raw playlist_index and playlist_count to all download strategies (#245) 2022-09-27 17:17:56 -07:00
Jesse Bannon
1486acb421
[BACKEND] Parallelize tests, remove track and artist source variables (#246) 2022-09-27 16:51:42 -07:00
Jesse Bannon
3d0ade1141
[BACKEND] Collection thumbnail support (#241) 2022-09-18 11:16:25 -07:00
Jesse Bannon
64d4be0a42
[BACKEND] output_directory_nfo_tags to support source vars (#239) 2022-09-17 11:11:37 -07:00
Jesse Bannon
46c14bd842
[BACKEND] uploader variables (#238) 2022-09-17 09:04:49 -07:00
Jesse Bannon
3ace86435d
[BACKEND] Defined kwarg strings. Add playlist/source description variable (#237) 2022-09-17 08:09:09 -07:00
Jesse Bannon
3894625479
[BACKEND] Remove split_video download strategy (#232) 2022-09-14 22:03:44 -07:00
Jesse Bannon
c08ea64b5a
[BACKEND] Add generic.collection download strategy, use it for soundcloud, youtube channel/playlist (#230) 2022-09-14 15:36:14 -07:00
Jesse Bannon
c33eed5a64
[BUGFIX] Fix source vars containing variable-like syntax (#231) 2022-09-14 08:36:56 -07:00
Jesse Bannon
5488501bed
[BACKEND] File lock working directory to prevent multiple instances from polluting it (#227) 2022-09-08 23:41:09 -07:00
Jesse Bannon
d0cbd57a7f
[BUGFIX] Fix preset ordering (#226) 2022-09-08 15:43:09 -07:00
Jesse Bannon
2c86d640a4
[FEATURE] Have notion of modified files. Do not include files that have not changed (#225) 2022-09-08 12:24:46 -07:00
Jesse Bannon
4b6c79caef
[FEATURE] Add webpage_url source variable (#224) 2022-09-08 09:54:57 -07:00
Jesse Bannon
f24860c729
[BUGFIX] Properly sanitize override variables after it is resolved (#223)
* [BUGFIX] Properly sanitize override variables after it is resolved

* fixtures
2022-09-08 07:47:55 -07:00
Jesse Bannon
819bddc9d0
[FEATURE] Support duplicate NFO keys (#220) 2022-09-07 14:06:13 -07:00
Jesse Bannon
6383d133dc
[BUGFIX] Retry channel image downloads, continue if it fails (#218) 2022-09-06 16:12:28 -07:00
Jesse Bannon
3e801c56eb
[BUGFIX] Fix overrides failing validation in datetime vars (#209) 2022-09-02 14:41:51 -07:00
Jesse Bannon
6d84e52467
[FEATURE] Add multiple preset inheritance (#204) 2022-09-01 10:43:07 -07:00
Jesse Bannon
5782445366
[FEATURE] Add ability for downloaders to add new override variables. Add source_title, source_uploader, and source_description for YouTube channels and playlists (#203) 2022-09-01 00:25:01 -07:00
Jesse Bannon
ca0ac787b0
[FEATURE] Ability to write .info.json files (#201) 2022-08-29 22:50:42 -07:00
Jesse Bannon
73be77c500
[FEATURE] date_range plugin, supports Override variables (#199) 2022-08-28 11:09:11 -07:00
Jesse Bannon
9ea1be4c5f
[FEATURE] NFO/XML attribute support (#198) 2022-08-28 00:56:51 -07:00
Jesse Bannon
d79e94e7e6
[BACKEND] Use native xml library, remove dicttoxml (#196) 2022-08-27 15:01:14 -07:00
Jesse Bannon
0642ddf3b7
[BACKEND] Use Ubuntu 22.04 for CI, update all expected download hashes (#197) 2022-08-27 00:56:01 -07:00
Jesse Bannon
61c5a22933
[REFACTOR] Move chapter timestamps support into chapter plugin, remove from youtube.video (#193)
Introduces breaking changes to youtube.video.chapter_timestamps. Please use chapters.embed_chapter_timestamps instead to embed timestamps into a video
2022-08-26 23:08:53 -07:00
Jesse Bannon
553862fdad
[FEATURE] Add day_of_year variables (#195) 2022-08-24 09:59:34 -07:00
Jesse Bannon
9b224b7fc6
[FEATURE] Add reversed date variables (#192) 2022-08-23 22:32:41 -07:00
Jesse Bannon
790c65859a
[FEATURE] Add split_by_chapters plugin (#184) 2022-08-18 23:24:03 -07:00
Jesse Bannon
c443d2e295
[BUGFIX] Fix truncated year source variable (#185) 2022-08-18 17:57:27 -07:00
Jesse Bannon
2a666ef70b
[FEATURE] Chapters plugin with SponsorBlock support (#178) 2022-08-15 17:01:03 -07:00
Jesse Bannon
871c051aa8
[FEATURE] Audio extract plugin (#177) 2022-08-14 10:10:10 -07:00
Jesse Bannon
064dca40b2
[BUGFIX] Subtitles for channel + playlist downloads (#176)
* subtitle fix for playlists

* download channel vids as singles

* no regen tests
2022-08-13 15:47:26 -07:00
Jesse Bannon
9a7a34f3d0
[FEATURE] Video tags plugin to embed metadata into video files (#173) 2022-08-13 09:53:55 -07:00
Jesse Bannon
1f09398ad5
[FEATURE] Subtitles support via Subtitles plugin (#169) 2022-08-12 09:58:08 -07:00
Jesse Bannon
bcf45f7f7e
[REFACTOR] Use JSON files instead of hard-coded classes for expected downloads (#165)
* Expected download summaries WIP

* jesse/fix-tests

* working

* tests passing

* remove fixture usage

* fix ignore md5 logic
2022-08-10 12:16:38 -07:00
Jesse Bannon
3e60f7d1da
[BACKEND] Do not write download archive file if no files changed (#161)
* [BACKEND] Do not write download archive file if no files changed

* ensure empty log for playlists

* test dl args

* test main completely
2022-08-07 15:02:02 -07:00
Jesse Bannon
034855fbc4
[FEATURE+BUGFIX] Add kodi_safe arg for NFO plugins, support YT shorts (#157) 2022-08-05 16:53:36 -07:00
Jesse Bannon
b28ef2365b
[BACKEND] Allow more nesting for source + override variables (#150) 2022-08-04 14:42:20 -07:00
Jesse Bannon
e3d6245aeb
[BUG] Prevent ytdl-sub args being specified as dl args (#139)
* [BUG] Prevent ytdl-sub args being specified as dl args

* refactor fail
2022-08-01 15:40:52 -07:00
Jesse Bannon
2fde8f69c3
[BUG] Fix log-level not respected by loggers (#138)
* [BUG] Fix log-level not respected by loggers

* _main

* fix mocking
2022-08-01 14:45:01 -07:00
Jesse Bannon
9fd97beca3
[BACKEND|BUG] Retry downloads with missing files (#137)
* [BACKEND|BUG] Retry downloads with missing files

* fix if statement, rename channel test file
2022-08-01 12:39:23 -07:00
Jesse Bannon
258b519f85
[BUG] Fix merge_playlist ordering (#136) 2022-07-31 23:23:13 -07:00
Jesse Bannon
09bc12c815
[FEATURE] Option to add chapters to YouTube videos via timestamps file (#130) 2022-07-30 15:52:20 -07:00
Jesse Bannon
232b1ac75a
[BACKEND] Improve info logger messages (#129) 2022-07-29 00:03:02 -07:00
Maria Mozgunova
287ac821dc
[FEATURE] List support for ytdl-sub dl (#125)
* List support for ytdl-sub dl (#103)

* Add test and amend docstrings
2022-07-27 09:52:25 -07:00
Jesse Bannon
962b26d1ec
[BACKEND] Allow list validators to support length-1 lists without defining a yaml list (#126) 2022-07-26 09:10:51 -07:00
Jesse Bannon
d292ab0510
[BACKEND] Remove individual_download parameter from youtube channel + playlist (#119) 2022-07-22 08:46:05 -07:00
Jesse Bannon
72442ab846
[BACKEND] Download and process Soundcloud tracks individually (#117) 2022-07-22 00:09:08 -07:00
Jesse Bannon
079994c003
[BUGFIX] Remove description from Soundcloud source variables (#114)
* [BUGFIX] Remove description from Soundcloud source variable

* update unit tests
2022-07-20 22:41:42 -07:00
Philipp Rintz
12a857bf9a
[BUGFIX] Fix youtube url validator for channels without 'c', 'channel' or 'user' (#109)
* Fix youtube url validator for channels without 'c', 'channel' or 'user'

* Fix linter errors
2022-07-18 11:48:23 -07:00
Jesse Bannon
605de74697
[FEATURE] download_individually for youtube playlists (#102) 2022-07-17 22:02:50 -07:00
Jesse Bannon
8e35c1674b
[FEATURE] download_individually for Youtube channel (#101) 2022-07-17 18:17:00 -07:00
Jesse Bannon
53adbbcb22
[FEATURE] Regex capture and filtering on source variables plugin (#100)
* actually working

* changed plugin format. Need unit tests, documentation, update e2e to filter

* refactor plugin name, matching now working

* description work in progress, need more intricate testing

* tests looks good, regenerate output

* e2e tested, need more failure tests, no dupe variable names, add docs

* unit tests passing again

* more fail tests

* updated with name, default, better docs

* sanitized vars created
2022-07-16 23:39:46 -07:00
Jesse Bannon
119a0c212f
[BACKEND] Add regex validators (#97)
* [BACKEND] Add regex validators
2022-07-10 17:47:55 -07:00
jbannon
f318cf6fcb [HOTFIX] dry-run merge_playlist test 2022-07-08 19:22:20 +00:00
Jesse Bannon
a0b46c0982
Add --dry-run summary (#92)
* tests updated with new class

* fix nfo tags, no tests only manual inspection

* txt

* dry-run output tested

* readability

* all tests now have files except rolling recent

* better

* almost fixed

* updated txt files w/indents

* files updated, looking good

* rolling recent dry-run test

* Print in main
2022-07-05 22:51:23 -07:00
Maka0
cb31156b42
Added QEMU/buildx to Github Actions to build multiarch containers (#84)
* Updated docker to use buildx Buildkit

* Updated github actions to include QEMU/buildx to build multiarch containers

* Removed packages after build is done

* Updated documentation to set the correct default thumbnail file name

* Parallel jobs (#1)

Implemented parallel docker builds on Github Actions

* Updated default config file in Docker container

* Replaced Pillow with ffmpeg for thumbnail converting (and updated documentation to change the default thumbnail to -thumb.jpg) (#2)

* Swapped Pillow for ffmpeg for thumbnail conversion
* Further changed default thumbname to include "-thumb" (Kodi needs this to pick up the thumbnail image)
* Added ffmpeg bitexact for reproducability

* Removed extra packages needed for Pillow

* Updated ref check (#3)

* Fixed formatting on if statement for deploy job

Co-authored-by: Maka0 <bas@oddens.net>
2022-07-04 01:17:04 -07:00
Jesse Bannon
9df40497e2
Add --dry-run argument logic (#82)
* dry-run huge refactor

* small fixes, all tests passing

* file handler, transaction log, metadata

* dry-run actually dry running

* working tests, still have more

* Everything passing besides channel

* fix youtube channel thumbnail issue, need to fix fixtures on test

* lint 10, channel tests passing. Need dry-run for split and merge video

* all tests passing, lint 10, should test dry-run arg
2022-07-02 11:24:46 -07:00
Jesse Bannon
e5b925fb57
Fix error where download archive does not exist from no downloads (#83) 2022-06-30 09:14:14 -07:00
Jesse Bannon
4447f456d5
Validate all preset StringFormatValidators on init (#79)
* fast fail

* update error msg in test
2022-06-28 09:34:30 -07:00
Jesse Bannon
cb6dc8e034
Add youtube.download_strategy: "merge_playlist" (#77)
* begin

* chapters class, trying to add chapter splitting and general ffmpeg metadata creation

* working split video

* so very close

* test passing, is reproducible

* lint fixed

* fix docs

* track no longer used in example

* if, then del

* multiple values

* github hash
2022-06-26 15:18:07 -07:00
Jesse Bannon
1620c3a42d
youtube.download_strategy split_video (#76)
* youtube.download_strategy split_video

* almost working, need to deal with track_title and other overwrites

* working test

* ci ffmpeg

* sudo -f

* fix code block
2022-06-18 23:12:10 -07:00
Jesse Bannon
ee6706334f
ytdl_options defaults for each download strategy (#72)
* `ytdl_options` defaults for each download strategy

* fix docker, fix defaults getting added, add debugger test

* test playlist as well

* fix with hack

* fix full channel test

* existing
2022-06-14 00:03:01 -07:00
Jesse Bannon
3d7595cda9
Configurable log levels (#71) 2022-06-08 23:01:31 -07:00
Jesse Bannon
a79fcaa25b
Use URLs instead of IDs for sources (#70)
* youtube video url

* WIP, channel /user/ and /c/ should be valid

* unit tests passing

* soundcloud artist url

* soundcloud username

* break configs with name change

* Update all yamls with urls

* update all docs

* more negative url tests
2022-06-05 16:19:08 -07:00
Jesse Bannon
e111ae53f5
Add aliases for ytdl-sub dl (#68)
* Add aliases for `ytdl-sub dl`

* error tests
2022-06-04 16:58:50 -07:00
Jesse Bannon
4994e3685e
mkv bugfix from ffmpeg (#57)
* mkv bug from ffmpeg

* always have working directory with entry
2022-05-30 18:45:00 -07:00
Jesse Bannon
8b336e6fb0
Always convert thumbnails to jpg (#51)
* always use jpg

* fix unit test

* update readme and configs
2022-05-30 09:59:25 -07:00
Jesse Bannon
a6cf9c3a11
Add soundcloud discography example w/test (#49)
* example sc yaml

* discography test

* json sort_keys
2022-05-30 00:25:41 -07:00
Jesse Bannon
56cc17e13c
Tests for music video (vid + playlist) download (#48) 2022-05-28 22:58:38 -07:00
Jesse Bannon
ec1cc534ea
Yaml error handling (#45) 2022-05-27 22:14:50 -07:00
Jesse Bannon
f3c06ec15c
Add more source variables (#42) 2022-05-26 23:54:12 -07:00
Jesse Bannon
9c97fb7572
sanitized suffix (#41) 2022-05-26 23:02:40 -07:00
Jesse Bannon
d17f677db3
Add inheritance for presets (#24) 2022-05-15 16:31:34 -07:00
Jesse Bannon
29ef377cc7
Add documentation for plugins + improve docs overall (#23) 2022-05-10 22:22:03 -07:00
Jesse Bannon
ab2df88299
Overhaul docs for readthedocs (#20) 2022-05-06 22:25:29 -07:00
jbannon
ec62912244 test subscription types for channel 2022-05-01 06:05:00 +00:00
Fb
fa19e0d0c0
Added track_count to SoundCloudAlbum (#12) 2022-04-29 19:38:36 -07:00
Jesse Bannon
905151e64e
Add channel as kodi tv show e2e test (#15) 2022-04-29 11:09:32 -07:00
jbannon
d5b99a501c e2e tests wip 2022-04-28 04:43:47 +00:00
jbannon
2db2c88441 setup cfg 2022-04-26 07:19:53 +00:00
jbannon
5eeb117fca variables as mixins for docs 2022-04-24 00:30:53 +00:00
jbannon
a7b652de72 sc working again 2022-04-22 21:52:44 +00:00
jbannon
139d82e126 big midnight refactor 2022-04-22 07:34:51 +00:00
jbannon
21e8e6fa51 overrides formatter tests 2022-04-12 06:10:05 +00:00
jbannon
1243832178 more unit tests 2022-04-12 04:47:54 +00:00
jbannon
4c01198ce9 update unit tests 2022-04-12 04:23:52 +00:00
jbannon
b17d773248 fix unit tests 2022-04-12 04:07:31 +00:00
jbannon
af2d091d50 soundlcoud working, refactor album track 2022-04-11 23:35:17 +00:00
jbannon
2b9ab7c3af update black line-len to 100 2022-04-06 07:30:35 +00:00
jbannon
05737d2b19 remove formatting logic out of entry 2022-04-06 07:28:38 +00:00
jbannon
cbe73adbf7 better recursion functionality 2022-04-06 07:16:07 +00:00
jbannon
5fed8a7b64 recursive var names 2022-04-06 06:41:29 +00:00
jbannon
451b3564c5 return string formatters in overrides dict 2022-04-06 06:09:16 +00:00
jbannon
a6006b3def literal dict validator tests 2022-04-05 15:57:45 +00:00
jbannon
14d8440ee7 tests, docstrings 2022-04-05 07:37:34 +00:00
jbannon
84db8d20be make validator abstract, unit tests for bool and str validator 2022-04-05 07:00:45 +00:00
jbannon
e0a375164c black 2022-04-05 00:29:50 +00:00
jbannon
836e186ab1 fix unit tests 2022-04-05 00:28:52 +00:00
jbannon
922ac3b7cf protected variables for easier debugging 2022-04-05 00:26:45 +00:00
jbannon
623f495b60 Validator major refactory 2022-04-03 07:37:28 +00:00
jbannon
74169b9939 config validator working 2022-03-31 01:27:56 +00:00
jbannon
64eb1e83ab isort 2022-03-30 18:22:51 +00:00
jbannon
585a432bc9 more formatter tests, begin soundcloud unit tests 2022-03-30 18:13:44 +00:00
jbannon
e1d60ab6e9 entry 100% test coverage 2022-03-30 16:48:04 +00:00
Jesse Bannon
6662bc5112 entries 2022-03-30 07:41:12 +00:00