Commit graph

203 commits

Author SHA1 Message Date
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
54697f6ddf
[BUGFIX] Fix flakey unit test (#529) 2023-03-10 13:21:27 -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
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
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
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
30c77565bc
[BACKEND] Add playlist_uploader_sanitized var (#414) 2023-01-13 10:47:43 -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
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
2edfffcc5f
[FEATURE] Include description in prebuilt TV show presets by default (#360) 2022-11-24 20:31:36 -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
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
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
5b8ee7f2de
[FEATURE] download_index source variable, new tv presets (#271) 2022-10-05 12:08:43 -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
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
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
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
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
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
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
ca0ac787b0
[FEATURE] Ability to write .info.json files (#201) 2022-08-29 22:50:42 -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
c443d2e295
[BUGFIX] Fix truncated year source variable (#185) 2022-08-18 17:57:27 -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
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
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
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
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
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
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
Fb
fa19e0d0c0
Added track_count to SoundCloudAlbum (#12) 2022-04-29 19:38:36 -07: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