Jesse Bannon
4b03e6b452
fix last test
2026-01-23 20:01:12 -08:00
Jesse Bannon
5f246b419c
updated fixtures
2026-01-23 19:41:37 -08:00
Jesse Bannon
dd28780030
Merge branch 'master' into j/resolution-level
2026-01-23 19:27:59 -08:00
Jesse Bannon
60cdbad8c7
[BACKEND] More flexible formatter post_process ( #1421 )
...
Makes the underlying formatting process better handle native (non-string) types in a more flexible way.
2026-01-23 16:36:17 -08:00
Jesse Bannon
fba97aa5f4
test
2026-01-23 11:45:55 -08:00
Jesse Bannon
95a1b9f4f9
optionally resolve entry formatters
2026-01-23 11:39:27 -08:00
Jesse Bannon
667b8073a1
plz work. TODO: tests, no partial resolve in typical validation
2026-01-23 11:32:47 -08:00
Jesse Bannon
f79e687678
fix pathing
2026-01-23 11:25:25 -08:00
Jesse Bannon
6b4a9bc157
fix pathing for windows
2026-01-23 11:03:48 -08:00
Jesse Bannon
9c2a187778
Merge branch 'master' into j/resolution-level
2026-01-23 10:59:14 -08:00
Jesse Bannon
264e458c1c
[BACKEND] Cache cycle checks ( #1420 )
...
Small speedup to make cycle validation faster.
2026-01-23 10:58:14 -08:00
Jesse Bannon
51bec34b31
fix test to only test download
2026-01-23 10:25:23 -08:00
Jesse Bannon
97da1a651a
fix variables not getting filled with resolved
2026-01-23 10:15:13 -08:00
Jesse Bannon
8c46304db2
total cleanup. TODO: other preset tests regarding resolution level and unit tests
2026-01-23 09:52:36 -08:00
Jesse Bannon
a30faa1e4a
Merge branch 'master' into j/resolution-level
2026-01-23 09:25:36 -08:00
Jesse Bannon
c4e112e8d5
[BUGFIX] Fix soundcloud not downloading tracks ( #1419 )
...
The /tracks URL is currently broken in yt-dlp. Now uses the input URL which will download the entire artists' page instead to get non-album tracks.
2026-01-23 09:23:34 -08:00
Jesse Bannon
db41c8b11d
finally good?
2026-01-23 00:18:43 -08:00
Jesse Bannon
219c0204dd
do not resolve sanitizied using filter
2026-01-23 00:02:52 -08:00
Jesse Bannon
004b45b6f1
do not replace variables with unresolved counterparts
2026-01-22 23:29:24 -08:00
Jesse Bannon
356f278be9
do not double evaluate dependent single variaibles
2026-01-22 22:50:53 -08:00
Jesse Bannon
44705b622b
do checks first
2026-01-22 21:45:42 -08:00
Jesse Bannon
53b112ff3e
emtpy syntax tree case
2026-01-22 15:56:16 -08:00
Jesse Bannon
ed408a352f
update internals after partial resolve
2026-01-22 15:33:41 -08:00
Jesse Bannon
6156a263f0
fix
2026-01-22 15:03:26 -08:00
Jesse Bannon
82dc29b0d5
do not over complicate
2026-01-19 12:26:03 -08:00
Jesse Bannon
71f43e37b7
all-in on partial resolution
2026-01-19 11:56:23 -08:00
Jesse Bannon
6ecd04619e
test setup
2026-01-19 11:15:08 -08:00
Jesse Bannon
bca397cd7b
closer;
2026-01-16 15:01:22 -08:00
Jesse Bannon
28487c67f8
Merge branch 'j/tmp1' into j/resolution-level
2026-01-16 14:27:37 -08:00
Jesse Bannon
21643a2d7b
clean var val
2026-01-16 14:26:26 -08:00
Jesse Bannon
0632fe170c
Merge branch 'master' into j/resolution-level
2026-01-16 13:53:18 -08:00
Jesse Bannon
97df4dac1d
[BACKEND] Preserve dict formatter value ( #1416 )
...
Do not modify the original definition of dict validators.
2026-01-16 13:51:33 -08:00
Jesse Bannon
942c983f60
[BACKEND] Sorted video tags ( #1417 )
...
For reproducibility in tests.
2026-01-16 13:42:22 -08:00
Jesse Bannon
9c2fc05d41
a mess
2026-01-16 12:15:38 -08:00
Jesse Bannon
b76182eba1
ENTER configurable resolution level when validating. Needs work including setting unresolved variables
2026-01-15 21:04:26 -08:00
Jesse Bannon
530d2f7666
[BACKEND] Partial resolve support for Scripts ( #1410 )
...
Adds the mechanism to partially resolve an entire script (aka every underlying variable in ytdl-sub). This will be used in the upcoming `inspect` sub-command where it will dump a subscription's raw contents at multiple levels of resolution.
Potentially useful to optimize script execution as well.
2026-01-12 17:34:34 -08:00
Jesse Bannon
41a5bf60aa
[BACKEND] Remove cast and legacy_bracket_safety usage ( #1414 )
...
Removes unused casts and calls to the legacy_bracket_safety function.
2026-01-11 15:47:50 -08:00
dependabot[bot]
3a07d058aa
[DOCS] Update sphinx requirement from <9,>=7 to >=7,<10 ( #1411 )
...
Updates the requirements on [sphinx](https://github.com/sphinx-doc/sphinx ) to permit the latest version.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases )
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst )
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v7.0.0...v9.1.0 )
---
updated-dependencies:
- dependency-name: sphinx
dependency-version: 9.1.0
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-06 12:59:22 -08:00
Jesse Bannon
6b99c31e45
[BACKEND] Simplify script quote generation ( #1409 )
...
Internal script -> string generation used triple-quotes redundantly. Try to use them less to make it more human-readable.
2026-01-06 12:58:37 -08:00
Jesse Bannon
b2056bec5d
[BACKEND] Array support for URLs ( #1406 )
...
Allows for the `download` plugin to take in a script-based array of URLs. Prebuilt presets are now greatly reduced in size by constructing urls as an array versus 100+ separate URL variables.
Eventually, we can completely remove the limit of the number of URLs in a subscription.
2025-12-31 15:24:44 -08:00
Jesse Bannon
c46de048ca
[FEATURE] %range function ( #1405 )
...
Add `%range` function, equivalent to Python's `range`.
2025-12-31 09:06:08 -08:00
Jesse Bannon
869fc0b836
[BUGFIX] Fix custom function lambda cycle detection ( #1404 )
...
Cycles detection did not take into account custom functions' variable usage. This is now fixed.
2025-12-31 08:22:26 -08:00
Jesse Bannon
7ac525f875
[BUGFIX] Fix custom function lambda variable dependency issue, part 2 ( #1403 )
...
Part two of https://github.com/jmbannon/ytdl-sub/pull/1402 which actually completes the fix.
2025-12-30 23:46:07 -08:00
Jesse Bannon
d373935fff
[BUGFIX] Fix custom function lambda variable dependency issue ( #1402 )
...
There was a bug that did not properly check variable dependency when using lambda functions. It could still work depending on order of definitions. This fix should make it work no matter the order.
2025-12-30 19:53:15 -08:00
Jesse Bannon
1abe2a44f5
[BACKEND] Refactor validation, preparation for subscription dissect ( #1398 )
...
Completely rewrite how subscription validation is performed. Optimizes it quite a bit while also adding backend support for the upcoming `dissect` sub-command, where you can resolve any subscription into its 'raw' form for easier debugging when making scripting changes.
2025-12-30 17:03:59 -08:00
Jesse Bannon
344753cc63
[BACKEND] Optimize script resolution ( #1400 )
...
Speeds up scripting in the backend.
2025-12-29 17:38:34 -08:00
Jesse Bannon
0f96d8e24e
[BACKEND] Disallow override names conflicting with plugin names ( #1399 )
...
Disallow override variable names conflicting with plugin names.
May cause backward incompatible issues from `date_range` being an old override variable name for the `Only Recent` preset. Update this variable name to `only_recent_date_range` to resolve. More info in https://ytdl-sub.readthedocs.io/en/latest/deprecation_notices.html
2025-12-26 15:30:37 -08:00
dependabot[bot]
157a0b59c4
Bump yt-dlp[default] from 2025.11.12 to 2025.12.8 ( #1396 )
...
Bumps [yt-dlp[default]](https://github.com/yt-dlp/yt-dlp ) from 2025.11.12 to 2025.12.8.
- [Release notes](https://github.com/yt-dlp/yt-dlp/releases )
- [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md )
- [Commits](https://github.com/yt-dlp/yt-dlp/compare/2025.11.12...2025.12.08 )
---
updated-dependencies:
- dependency-name: yt-dlp[default]
dependency-version: 2025.12.8
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-08 15:41:54 -08:00
Jesse Bannon
a5ae69550e
[BACKEND] Validate write permissions on working directory and output directory ( #1395 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/1394
Should help debug user issues like https://github.com/jmbannon/ytdl-sub/issues/1148
Checks permissions on the following:
- working directory
- output directory
- cookiefile (if specified)
And will fail immediately with a verbose message.
2025-12-06 15:54:41 -08:00
Jesse Bannon
8d5d2be6a7
[FEATURE] TV Show Collection multi-url, s00 support ( #1391 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/1251 , https://github.com/jmbannon/ytdl-sub/issues/1290
Required for https://github.com/jmbannon/ytdl-sub/issues/1383
Adds both s00 support and multi-url support per season, up to 11 URLs currently. This can and should be extended, but with a more principled approach instead of the current method: AI generating boiler-plate YAML 🙂
```
Plex TV Show Collection:
= Music:
"~Beyond the Guitar":
s00_name: "Specials"
s00_url:
- "https://www.youtube.com/watch?v=vXzguOdulAI "
- "https://www.youtube.com/watch?v=IGwYDvaGAz0 "
s01_name: "Videos"
s01_url:
- "https://www.youtube.com/c/BeyondTheGuitar "
- "https://www.youtube.com/@BeyondTheGuitarAcademy "
s02_name: "Covers"
s02_url: "https://www.youtube.com/playlist?list=PLE62gWlWZk5NWVAVuf0Lm9jdv_-_KXs0W "
```
2025-11-28 10:14:18 -08:00