* Videos are marked as validated so they will not be tried again. All previous bulk methods are combined into one.
* Passing json to fixture factory to avoid writing the files in every test.
* Adding log to explain if refresh is slow.
* Generating video poster if one cannot be found.
* Generating video poster if no poster can be found.
* Videos without a video file (yet to be downloaded) are not validated.
* Video title is extracted from the video file name as a last resort.
* Keeping existing view count because it may be from the channel, which will be more recent.
* Downloads should only be downloaded after they are due, not the same day.
* Setting manager on new downloads.
* Checking if downloading is disabled in loop.
* Adding log when refresh is complete.
* Not generating posters by default. This is to avoid deleting files.
* Not converting posters unless channel has that enabled.
* Not logging on valid because all posters will be checked.
* Validating videos in upsert.
* Using video name parser in upsert.
* Using validate_video in upsert so that data is only read once from disk.
* Attaching manager in download_manager.get_download.
* Adding 22 to preferred video format for odd 720p resolution.
Signed-off-by: Roland <roland@learningselfreliance.com>
* Converting OTP PDF generation to Latex to avoid installing wkhtmltopdf.
* Creating temporary_directory_path to simplify creating a TemporaryDirectory of type Path.
* Removing author
* Linting
* Installing texlive-latex-extra for more readable font.
* Raspberry pi has to archive locally.
Signed-off-by: Roland <roland@learningselfreliance.com>
* Favorite videos are saved even if the DB is wiped.
* Logging when importing.
* Warning when favorite video cannot be found.
* Handling when a favorited video has no channel.
* Fixing link name in log.
* vid2 was not in a channel.
Signed-off-by: Roland <roland@learningselfreliance.com>