* Move the startup application settings to a new class
* Replace settings methods with static fields
* Move Redis and ES configuration to the settings class
* Fix environment python imports
* Update envcheck to use the new settings
* ES Client must bootstrap itself to be the source of config
If this is not done a cyclic loop is created between the config loader and the ES client.
This lays the ground work for ES being the source of all app config.
* auto_download is not used anymore
* Add UserConfig class that encapsulates user config storage
This class will allow the rest of the code to 'not care' about how user properties are stored.
This requires the addition of a ta_users index in ES.
* Create migration task for user config transfer
* Replace getters and setters for each property
Strongly type the user configuration
Migrate missed sponsorblock ID
* Other DB settings will be another PR
* Allow to configure yt-dlp `--format-sort` argument
This exposes the [`--format-sort`][1] yt-dlp option to the user.
Implements parts of #316
[1]: https://github.com/yt-dlp/yt-dlp#sorting-formats
* Trim split values of format_sort, obey black
* Add `format_sort` to default configuration
* Add note about codec compatibility to settings page
* Initial shot at adding in live and short videos
* Fix for typo on config variable names
* Remove was_live youtube flag
* Adding startup script to support setting vid_type on ta_video for videos created prior to support for live and shorts
* Linting updates
* More linting fixes
* Removing title variable from loop tuple unpacking
* Added Start and Stop cast buttons.
* Modified from the internet.
* Code to initialize casting
* Added `video-item` id to video
* Renamed function to make more sense
* Renamed cast functions to make more sense
* Renamed cast functions to make more sense
* Changed console logging message.
* Make cast buttons appear if enabled in settings.
* Make cast scripts only load if enabled in settings
* add cast configuration form, #140
* fix spelling
Co-authored-by: simon <simobilleter@gmail.com>
This adds basic `postprocessors` support and adds a setting to
optionally enable `FFmpegMetadata`.
It's the same as passing `--add-metadata` and `--add-chapters` via the
`yt-dlp` CLI.