From e0da7dc4c9e41f024faea2ac0d13406b7dbf7cf9 Mon Sep 17 00:00:00 2001 From: Simon <35427372+bbilly1@users.noreply.github.com> Date: Wed, 22 May 2024 23:37:05 +0700 Subject: [PATCH] V0.4.8 release (#41) * bump req * docs for v0.4.8 --- mkdocs/docs/api/task.md | 23 ++++++++++ mkdocs/docs/channels.md | 2 +- mkdocs/docs/playlists.md | 13 ++++-- mkdocs/docs/settings/scheduling.md | 70 ++++++++++++++++-------------- mkdocs/docs/video.md | 1 + requirements.txt | 4 +- 6 files changed, 73 insertions(+), 40 deletions(-) diff --git a/mkdocs/docs/api/task.md b/mkdocs/docs/api/task.md index 8c53c30..4e2f324 100644 --- a/mkdocs/docs/api/task.md +++ b/mkdocs/docs/api/task.md @@ -22,3 +22,26 @@ Return task status by task ID } ``` Send command to a task, valid commands: `stop` and `kill`. Not all tasks implement these commands `home.tasks.BaseTask.TASK_CONFIG` for details. + +## Schedule View +**DEL** `/api/schedule/` + +Delete schedule by task name + +Parameter: + +- `task_name`: See task config module + +## Schedule Notification View +**GET** `/api/schedule/notification/` + +Get a list of all task schedule notifications + +**DEL** `/api/schedule/notification/` + +Delete notification of a task. + +Parameter: + +- `task_name`: See task config module +- `url`: Url to be deleted diff --git a/mkdocs/docs/channels.md b/mkdocs/docs/channels.md index 40583cd..6b17849 100644 --- a/mkdocs/docs/channels.md +++ b/mkdocs/docs/channels.md @@ -52,7 +52,7 @@ The channel customize form gives options to change settings on a per channel bas - **Download Format**: Overwrite the download quality for videos from this channel. - **Auto Delete**: Automatically delete watched videos from this channel after selected days. -- **Index Playlists**: Automatically add all Playlists with at least a video downloaded to your index. Only do this for channels where you care about playlists as this will slow down indexing new videos because each video will need to check if it belongs to each indexed playlist. +- **Index Playlists**: Automatically add all Playlists with at least a video downloaded to your index. Only do this for channels where you care about playlists as this will slow down indexing new videos because each video will need to check if it belongs to each indexed playlist. This works best if a channel creates playlists containing videos from that channel. Also see [subscribing to Playlist](playlists.md/#playlist-overview). - **SponsorBlock**: Using [SponsorBlock](https://sponsor.ajay.app/) to get and skip sponsored content. Customize per channel: You can *disable* or *enable* SponsorBlock for certain channels only to overwrite the behavior set on the [settings](settings/application.md) page. Selecting *unset* will remove the overwrite and your setting will fall back to the default on the settings page. ### Downloads diff --git a/mkdocs/docs/playlists.md b/mkdocs/docs/playlists.md index 38c98af..1a7d4b1 100644 --- a/mkdocs/docs/playlists.md +++ b/mkdocs/docs/playlists.md @@ -6,6 +6,15 @@ description: Subscribe to playlists, browse your playlists and access additional Playlists are organized in two different levels, similar to [Channels](channels.md): ## Playlist Overview + +!!! note + There is an overlap in functionality with [index playlists on channel](channels.md/#about): + + - Subscribe to a playlist of the playlist contains videos from **mixed channels**. + - Subscribe to a playlist if you only want to add **a few** playlists from a chanel. + - Use [index playlists on channel](channels.md/#about) if you want to add **all** playlists of a channel. + - Avoid subscribing to a playlist if the channel already monitors that playlist. + Accessible at `/playlist/` of your **Tube Archivist** instance, this **Overview Page** shows a list of all playlists you have indexed over all your channels. - You can filter that list to show only subscribed playlists with the toggle. @@ -20,10 +29,6 @@ To add a playlist click on the add
 
 *or* you can **Create Custom Playlist**. That is a local only playlist. Add videos from their [video detail page](video.md).
 
-
-!!! note
-    It doesn't make sense to subscribe to a playlist if you are already subscribed to the corresponding channel as this will slow down the **Rescan Subscriptions** [task](downloads.md#rescan-subscriptions).
-
 You can search your indexed playlists by clicking on the search icon <img src=. This will open a dedicated page. ## Playlist Detail diff --git a/mkdocs/docs/settings/scheduling.md b/mkdocs/docs/settings/scheduling.md index 58960de..b92c305 100644 --- a/mkdocs/docs/settings/scheduling.md +++ b/mkdocs/docs/settings/scheduling.md @@ -11,20 +11,48 @@ Accessible at `/settings/scheduling/` of your **Tube Archivist** instance, this ## Configuring Schedules The scheduler settings expect a cron-like format, where the first value is the minute, second is the hour and third is day of the week as a number. Day 0 is Sunday, day 1 is Monday etc. -Examples: +- New schedules will take effect automatically within a few seconds after saving the form. +- The schedule is validated before saving, you'll see an error message if you try to save an invalid schedule. +- Use the **delete** button to remove a schedule. -- `0 15 *`: Run task every day at 3 in the afternoon. -- `30 8 */2`: Run task every second day of the week (Sun, Tue, Thu, Sat) at 08:30 in the morning. -- `0 */3,8-17 *`: Run task every hour divisible by 3, and every hour during office hours (8 in the morning - 5 in the afternoon). -- `0 8,16 *`: Run task every day at 8 in the morning and at 4 in the afternoon. -- `auto`: Sensible default. Each configuration has a default that is defined by the application's Schedule Builder. -- `0`: (zero), deactivate that task. + +??? "Examples" + + - `0 15 *`: Run task every day at 3 in the afternoon. + - `30 8 */2`: Run task every second day of the week (Sun, Tue, Thu, Sat) at 08:30 in the morning. + - `0 */3,8-17 *`: Run task every hour divisible by 3, and every hour during office hours (8 in the morning - 5 in the afternoon). + - `0 8,16 *`: Run task every day at 8 in the morning and at 4 in the afternoon. + - `auto`: Sensible default. Each configuration has a default that is defined by the application's Schedule Builder. !!! warning "BE AWARE" - - Changes in the scheduler settings require a container restart to take effect. + - Schedule is tied to the timezone you set with the `TZ` environment variable. - Cron format as *number*/*number* are non-standard cron formatting and are not supported by the scheduler. For example `0 0/12 *` is invalid, use `0 */12 *` instead. - Avoid an unnecessary or frequent schedule to reduce likelihood of being blocked or throttled by YouTube. Because of this, the scheduler doesn't support schedules that trigger more than once per hour. +### Rescan Subscriptions +This initiates the same task that can be initiated from the [Downloads Page](../downloads.md#rescan-subscriptions). This will go through each of your subscribed channels and playlists and will add missing videos to the download queue. + +Become a sponsor and join [members.tubearchivist.com](https://members.tubearchivist.com/) to get access to *real time* notifications for new videos uploaded by your favorite channels. + +### Start download +Start downloading all videos currently in the download queue. + +### Refresh Metadata +Rescan videos, channels and playlists on YouTube and update metadata periodically. This will also refresh your subtitles and comments based on your current settings. If an item is no longer available on YouTube, this will deactivate it and exclude it from future refreshes. This task is meant to be run once per day, set your schedule accordingly. + +The field **Refresh older than x days** takes a number where **Tube Archivist** will consider an item as *outdated*. This value is used to calculate how many items need to be refreshed today based on the total indexed. This will spread out the requests to YouTube. The default value here is **90** days. + +In addition to any outdated documents, this will also refresh very recently published videos. This is to keep metadata and statistics up-to-date during the first few days when the video goes live. + +### Thumbnail check +This will check if all expected thumbnails are present and will delete any artwork without a matching video. + +### ZIP file index backup +Create a zip file of the metadata and select **Max auto backups to keep** to automatically delete old backups created from this task. For data consistency, make sure there aren't any other tasks running that will change the index during the backup process. This is very slow, particularly for large archives. Use [snapshots](application.md#snapshots) instead. + +!!! tip "Saving Configurations" + Click on **Update Scheduler Settings** at the bottom of the page to apply your configurations. + ## Notifications Some of the tasks support sending notifications at task completion with a short summary message. Tasks can get started through the scheduler or manually from the interface. This uses the amazing [Apprise](https://github.com/caronc/apprise) framework. Refer to the wiki about the [basics](https://github.com/caronc/apprise/wiki/URLBasics) of how to build links and a list of [supported services](https://github.com/caronc/apprise/wiki#notification-services) for the details. @@ -36,28 +64,4 @@ docker exec -it tubearchivist apprise -b "Hello from TA" !!! note "Notes:" - This will only send notifications when a task returns anything, e.g. if a [Rescan Subscriptions](#rescan-subscriptions) task doesn't find any new videos to add, a notification will *not* be sent. - Due to the fact that Apprise is running inside a container, [desktop notifications](https://github.com/caronc/apprise/wiki#desktop-notification-services) will not work. - - Add one link per line. - -## Rescan Subscriptions -This initiates the same task that can be initiated from the [Downloads Page](../downloads.md#rescan-subscriptions). This will go through each of your subscribed channels and playlists and will add missing videos to the download queue. - -Become a sponsor and join [members.tubearchivist.com](https://members.tubearchivist.com/) to get access to *real time* notifications for new videos uploaded by your favorite channels. - -## Start download -Start downloading all videos currently in the download queue. - -## Refresh Metadata -Rescan videos, channels and playlists on YouTube and update metadata periodically. This will also refresh your subtitles and comments based on your current settings. If an item is no longer available on YouTube, this will deactivate it and exclude it from future refreshes. This task is meant to be run once per day, set your schedule accordingly. - -The field **Refresh older than x days** takes a number where **Tube Archivist** will consider an item as *outdated*. This value is used to calculate how many items need to be refreshed today based on the total indexed. This will spread out the requests to YouTube. The default value here is **90** days. - -In addition to any outdated documents, this will also refresh very recently published videos. This is to keep metadata and statistics up-to-date during the first few days when the video goes live. - -## Thumbnail check -This will check if all expected thumbnails are present and will delete any artwork without a matching video. - -## ZIP file index backup -Create a zip file of the metadata and select **Max auto backups to keep** to automatically delete old backups created from this task. For data consistency, make sure there aren't any other tasks running that will change the index during the backup process. This is very slow, particularly for large archives. Use [snapshots](application.md#snapshots) instead. - -!!! tip "Saving Configurations" - Click on **Update Scheduler Settings** at the bottom of the page to apply your configurations. \ No newline at end of file + - You can add mutiple notifications for the same task by saving and selecting the same task multiple times. diff --git a/mkdocs/docs/video.md b/mkdocs/docs/video.md index 50b47cb..d902a04 100644 --- a/mkdocs/docs/video.md +++ b/mkdocs/docs/video.md @@ -10,6 +10,7 @@ Clicking on the channel name or the channel icon will bring you to the dedicated - The button **Reindex** will reindex the metadata of this video. - The button **Download File** will download the media file in the browser. - The button **Delete Video** will delete that video entry and the media file. +- The button **Delete and ignore** will also add the video to the [ignore list](downloads.md/#the-download-queue), so it won't get added again with a rescan. - The button **Add to Playlist** opens a list of your available [custom playlists](playlists.md/#playlist-overview). Check the box to add the video to the list. If available, a tag cloud will show, representing the tags set by the uploader. diff --git a/requirements.txt b/requirements.txt index 5bdde6f..ade013b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ cairosvg==2.7.1 -mkdocs==1.5.3 -mkdocs-material==9.5.18 +mkdocs==1.6.0 +mkdocs-material==9.5.23 pillow==10.3.0