* Add `allowed_null_keys` and its dictionary for manual imports.
* Fix linting for `allowed_null_keys` list.
* Add missing trailing comma for linting.
* Add missing newline that wasn't in earlier linting responses.
* Clear empty text in newlines.
* Remove newline that the linter requested because the linter now doesn't want it. ¯\_(ツ)_/¯
* Change default application from manual import to the video processing.
* Fix missing space.
* - Added duration and filesize as options in sorting menu on Home and ChannelId views
- Added keys 'duration' and 'filesize' as valid parameters to sort by
- Mapped 'duration' and 'filesize' to their corresponding es keys
* Fixed spelling
* Changed formatting to comply to maximum line length.
* Locally running "deploy.sh validate" before committing
---------
Co-authored-by: spechter <spechter@spechter.net>
* Remove banner hardcoding
* Refactor "colors" to "stylesheet"
* Remove logo hardcoding
* Remove stylesheet hardcoding
* Add very basic static CSS scanning and a new style
* Respect environment settings
* Check if selected stylesheet still exists
* New theme and title formatting
* Revert migration change
* Code linting
* More outlines for Matrix style
* Change wording in settings
* Forgot this wording
* Add suggested changes
* Add padding to duration str text
* Add singular and plural to video in dailyStat
* Add code spacing for readability
* Refac Main overview in dashboard to be spaced evenly and use tables
* Refac simplify number padding
* Refac skip adding spacing rows on mobile
* Refac reorder watch progress to be in order of interest
* Fix that ther can be 0 Videos added a day
* Refac capitalize content keys
* 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
* Remove repo docs in favor of hosted docs (#537)
* updated base, channel, video htmls to hide elements based on if user is staff or in the group 'admin'
* added the load auth_extras
* updated auth_extras
* updated views.py to block api calls from deleting files from unprivileged users; The Templates needed to be updated to support the various group checks related to removing buttons an unprivileged user should not see
* bumped the channel templates to remove conflict
* fix linting issues
* more linting
---------
Co-authored-by: Merlin <4706504+MerlinScheurer@users.noreply.github.com>
* 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