Commit graph

735 commits

Author SHA1 Message Date
Jesse Bannon
bf64be8a59
[DOCS] Fix preset key (#1106) 2024-10-27 08:25:26 -07:00
Jesse Bannon
80054aa77b
[FEATURE] Support newlines and tabs in scripting strings (#1105)
Allows the usage of `\n` and `\t` in scripting strings
2024-10-27 08:09:05 -07:00
Jesse Bannon
1bdc65f2e1
[BUGFIX] Custom function ordering (#1104)
Fixes a bug where custom functions would throw an error if they were used out-of-order from their definition
2024-10-26 21:16:17 -07:00
Jesse Bannon
43c10c19e0
[DOCS] Fix docker indents (#1103) 2024-10-26 20:54:57 -07:00
Dan Hand
102e2a9042
[DOCS] Fix documentation for headless cron path (#1100) 2024-10-26 20:39:15 -07:00
Jesse Bannon
88110a816d
[BUGFIX] Fix playlists not downloading correctly
Due to url ytdl-options not materializing
2024-10-25 20:47:18 -07:00
Jesse Bannon
7676fd9488
[BUILD] Use yt-dlp new default group (#1099)
Seen in https://github.com/yt-dlp/yt-dlp/releases/tag/2024.10.22
2024-10-23 21:57:29 -07:00
Jesse Bannon
31e4da9ff7
[DOCS] Music presets + more (#1095) 2024-10-23 21:34:38 -07:00
dependabot[bot]
c8ef766627
Bump yt-dlp from 2024.10.7 to 2024.10.22 (#1096)
Bumps [yt-dlp](https://github.com/yt-dlp/yt-dlp) from 2024.10.7 to 2024.10.22.
- [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/2024.10.07...2024.10.22)

---
updated-dependencies:
- dependency-name: yt-dlp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-22 23:37:56 -07:00
dependabot[bot]
18d0d74326
Bump yt-dlp from 2024.9.27 to 2024.10.7 (#1091)
Bumps [yt-dlp](https://github.com/yt-dlp/yt-dlp) from 2024.9.27 to 2024.10.7.
- [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/2024.09.27...2024.10.07)

---
updated-dependencies:
- dependency-name: yt-dlp
  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>
2024-10-08 18:51:12 -07:00
Jesse Bannon
0006c0ea94
[DEV] Disable YouTube tests in GH CLI (#1090) 2024-10-07 23:46:27 -07:00
dependabot[bot]
8547ab569c
[DEV] Update sphinx-rtd-theme requirement from ~=2.0 to >=2,<4 (#1089)
Updates the requirements on [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) to permit the latest version.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/2.0.0...3.0.0)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 23:17:15 -07:00
dependabot[bot]
78a3e90479
[DEV] Bump black from 24.8.0 to 24.10.0 (#1088)
Bumps [black](https://github.com/psf/black) from 24.8.0 to 24.10.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.8.0...24.10.0)

---
updated-dependencies:
- dependency-name: black
  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>
2024-10-07 23:16:33 -07:00
Jesse Bannon
1499d7486c
[FEATURE] Override variable support in ytdl_options (#1087)
Adds the ability to use override variables in the [ytdl_options](https://ytdl-sub.readthedocs.io/en/latest/config_reference/plugins.html#ytdl-options) section of the config.
2024-10-05 21:25:50 -07:00
Jesse Bannon
28c29683cb
[FEATURE] Filter Keywords prebuilt preset (#1086)
Adds ``Filter Keywords``, a preset that can include or exclude media with any of the listed keywords. Both keywords and title/description are lower-cased before filtering.

Supports the following override variables:

* ``title_include_keywords``
* ``title_exclude_keywords``
* ``description_include_keywords``
* ``description_exclude_keywords``

For best usage, use the `~` tilda subscription mode to set a subscription's list override variables.
Tilda mode allows override variables to be set directly underneath it.

```
Plex TV Show by Date | Filter Keywords:
  
  = Documentaries:
    "~NOVA PBS":
       url: "https://www.youtube.com/@novapbs"
       title_exclude_keywords:
         - "preview"
         - "trailer"  

    "~To Catch a Smuggler":
       url: "https://www.youtube.com/@NatGeo"
       title_include_keywords:
         - "To Catch a Smuggler"
```
2024-10-05 01:03:52 -07:00
Jesse Bannon
0acf4c9f33
[DOCS] How to download large channels (#1085) 2024-10-04 21:29:23 -07:00
Jesse Bannon
084761fc61
[DEV] Unit test chapters (#1083) 2024-10-03 21:42:19 -07:00
Jesse Bannon
c0ba30b220
[DEV] More OutputOption unit tests (#1082) 2024-10-02 21:37:54 -07:00
Jesse Bannon
ed4a2814b9
[DEV] Remove old prebuilt fixtures (#1081) 2024-10-01 08:21:27 -07:00
Jesse Bannon
97054043c4
[DEV] Refactor and simplify prebuilt preset tests (#1080) 2024-10-01 01:02:51 -07:00
Jesse Bannon
a3f59d5420
[DEV] Separate integration actions (#1079) 2024-09-30 23:55:15 -07:00
Jesse Bannon
648201ed9c
[DEV] OutputOptions unit tests (#1078) 2024-09-30 23:18:33 -07:00
dependabot[bot]
2417bec691
[BACKEND] Bump yt-dlp from 2024.8.6 to 2024.9.27 (#1077)
Bumps [yt-dlp](https://github.com/yt-dlp/yt-dlp) from 2024.8.6 to 2024.9.27.
- [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/2024.08.06...2024.09.27)

---
updated-dependencies:
- dependency-name: yt-dlp
  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>
2024-09-30 22:07:31 -07:00
Jesse Bannon
481ced34c5
[DEV] Custom ffmpeg unit test (#1076) 2024-09-30 22:04:52 -07:00
Jesse Bannon
01e1f46b86
[DEV] Remaining throttle unit tests (#1075) 2024-09-30 22:04:32 -07:00
Jesse Bannon
1caade46bd
[DEV] Unit test music tags (#1074) 2024-09-29 23:33:00 -07:00
Jesse Bannon
f2ec26d77e
[BUGFIX] Fix variable collision when disabling plugins (#1072)
Fixes https://github.com/jmbannon/ytdl-sub/issues/1071
2024-09-29 22:38:26 -07:00
Jesse Bannon
1b57d79c8f
[BREAKING CHANGE] Remove regex plugin (#1067)
Regex plugin has been removed in favor of scripting. The function [regex_capture_many](https://ytdl-sub.readthedocs.io/en/latest/config_reference/scripting/scripting_functions.html#regex-capture-many) has been created to replicate the plugin's behavior. See the following converted example:

`regex, now deprecated`
```
    regex:
      from:
        title:
          match:
            - ".*? - (.*)"  # Captures 'Song' from 'Emily Hopkins - Some - Song'
          capture_group_names:
            - "captured_track_title"
          capture_group_defaults:
            - "{title}"
    overrides:
      track_title: "{captured_track_title}"
```

`scripting equivalent`
```
    overrides:
      # Captures 'Song' from 'Emily Hopkins - Some - Song'
      captured_track_title: >-
        {
          %regex_capture_many(
            title,
            [ ".*? - (.*)" ],
            [ title ]
          )
        }
      track_title: "{%array_at(captured_track_title, 1)}"
```

## Motivation:
Regex was a unique plugin that added custom variables based on user input. This made the backend need to support both `overrides` and 'plugin user variables'. Removing `regex` plugin will consolidate this logic into only `overrides`, making it much easier to maintain.
2024-09-29 08:41:09 -07:00
Jesse Bannon
88fa55c9dc
[DEV] Local sphinx packages (#1068) 2024-09-26 19:52:05 -07:00
Jesse Bannon
fd5882051a
[DEV] Unit test filter plugin (#1066) 2024-09-26 11:54:15 -07:00
Jesse Bannon
513d1f5a97
[DEV] Partially unit test throttle protection (#1065) 2024-09-26 10:27:31 -07:00
Jesse Bannon
79ba60021c
[BACKEND] Proper functions with docstrings (#1061)
Reimplement some of the 'hidden' functions, including `%regex_capture_many`, as standard functions with docstrings
2024-09-25 23:24:49 -07:00
Jesse Bannon
f963125398
[DEV] Unit test NFO tags (#1064) 2024-09-25 23:23:16 -07:00
dependabot[bot]
6c3150ac0c
[DEV] Bump pylint from 3.2.7 to 3.3.1 (#1059)
* Bump pylint from 3.2.7 to 3.3.1

Bumps [pylint](https://github.com/pylint-dev/pylint) from 3.2.7 to 3.3.1.
- [Release notes](https://github.com/pylint-dev/pylint/releases)
- [Commits](https://github.com/pylint-dev/pylint/compare/v3.2.7...v3.3.1)

---
updated-dependencies:
- dependency-name: pylint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* R0917

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jesse Bannon <jbann1994@gmail.com>
2024-09-25 22:51:00 -07:00
Jesse Bannon
a37d9ed10e
[DEV] Set ffmpeg/ffprobe paths via ENV variable (#1060) 2024-09-24 22:13:22 -07:00
Jesse Bannon
3fbdd26257
[DEV] Cross platform test fixture helpers (#1058) 2024-09-20 14:58:07 -07:00
Jesse Bannon
6510fd0999
[BACKEND] Add /usr/local/bin/ffmpeg as possible default location (#1056)
For better cross-platform support
2024-09-20 14:22:33 -07:00
Jesse Bannon
10cb82a69a
[BACKEND] %contains_any function, list + dict support for tilda overrides mode (#1054)
Adds the function `%contains_any`, and list support in a tilda override subscription. The end-goal of these features are to more easily add a title exclude list, like so:

```
__preset__:
  filter_exclude:
    - "{%contains_any( %lower(title), exclude_title_strings )}"

...
Jellyfin TV Show by Date:
  ~History Documentaries:
    url: "https://..."
    exclude_title_strings:
      - "trailer"
      - "preview"
```

A proper prebuilt preset or built-in functionality will follow this change.
2024-09-20 09:23:22 -07:00
Parker Moore
759948361f
[BACKEND] get_file_md5_hash: read small blocks instead of the entire file (#1052)
This prevents MemoryError when running on systems with less memory than the file being processed.

Fixes #1051. Thanks @parkr
2024-09-17 20:24:33 -07:00
0xBLERKO
941fa43bb9
[BUGFIX] Find ext when info.json wrong (#1045)
Fixes a bug where YouTube's info.json sometimes say ext: mkv but download is not mkv. Thanks @0xBLERKO for the contribution!
2024-09-08 13:19:05 -07:00
dependabot[bot]
c44b98505e
[BACKEND] Bump yt-dlp from 2024.7.25 to 2024.8.6 (#1034)
Bumps [yt-dlp](https://github.com/yt-dlp/yt-dlp) from 2024.7.25 to 2024.8.6.
- [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/2024.07.25...2024.08.06)

---
updated-dependencies:
- dependency-name: yt-dlp
  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>
2024-09-06 09:41:58 -07:00
dependabot[bot]
4e3e270df9
[DEV] Update sphinx requirement from ~=7.0 to >=7,<9 (#1029)
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...v8.0.0)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 09:39:52 -07:00
dependabot[bot]
cf4c7f6d52
[DEV] Bump black from 24.4.2 to 24.8.0 (#1031)
Bumps [black](https://github.com/psf/black) from 24.4.2 to 24.8.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.4.2...24.8.0)

---
updated-dependencies:
- dependency-name: black
  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>
2024-09-06 09:38:30 -07:00
dependabot[bot]
221c11ac3e
[DEV] Bump pylint from 3.2.6 to 3.2.7 (#1041)
Bumps [pylint](https://github.com/pylint-dev/pylint) from 3.2.6 to 3.2.7.
- [Release notes](https://github.com/pylint-dev/pylint/releases)
- [Commits](https://github.com/pylint-dev/pylint/compare/v3.2.6...v3.2.7)

---
updated-dependencies:
- dependency-name: pylint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 09:38:12 -07:00
dependabot[bot]
e529674b85
[BACKEND] Bump yt-dlp from 2024.7.16 to 2024.7.25 (#1028)
Bumps [yt-dlp](https://github.com/yt-dlp/yt-dlp) from 2024.7.16 to 2024.7.25.
- [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/2024.07.16...2024.07.25)

---
updated-dependencies:
- dependency-name: yt-dlp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-25 21:00:15 -07:00
MADMAN-Modding
a0957ffe93
[DOCS] Fix the command syntax on the linux install page for executing the program (#1027) 2024-07-24 21:20:16 -07:00
dependabot[bot]
5a62fc5222
[DEV] Bump pylint from 3.2.5 to 3.2.6 (#1026)
Bumps [pylint](https://github.com/pylint-dev/pylint) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/pylint-dev/pylint/releases)
- [Commits](https://github.com/pylint-dev/pylint/compare/v3.2.5...v3.2.6)

---
updated-dependencies:
- dependency-name: pylint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 21:48:57 -07:00
dependabot[bot]
bba8d86117
[BACKEND] Bump yt-dlp from 2024.7.9 to 2024.7.16 (#1022)
Bumps [yt-dlp](https://github.com/yt-dlp/yt-dlp) from 2024.7.9 to 2024.7.16.
- [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/2024.07.09...2024.07.16)

---
updated-dependencies:
- dependency-name: yt-dlp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-20 21:11:38 -07:00
dependabot[bot]
e08f6e4154
[BACKEND] Bump yt-dlp from 2024.7.2 to 2024.7.9 (#1019)
Bumps [yt-dlp](https://github.com/yt-dlp/yt-dlp) from 2024.7.2 to 2024.7.9.
- [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/2024.07.02...2024.07.09)

---
updated-dependencies:
- dependency-name: yt-dlp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-13 00:30:53 -07:00
Jesse Bannon
0ed8aec83d
[BACKEND] Show ffmpeg conversion errors (#1016) 2024-07-04 10:03:34 -07:00