* 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>
* Working through archive search.
* Using custom hook.
* Setting archive.contents duration creation.
* Archive search and domain list use custom hooks.
* Watching search param using value, not history.
* Search params are preserved on load. Search and domain can be cleared.
* Fixing archive external link.
* Archive search form is new generic SearchInput.
* Reworking Archives empty states.
* Simplifying Archives logic.
* Fixing bug which displayed the wrong empty state during loading.
* Archives can be synced and deleted.
* Changing wording of archive delete.
* Removing URL table.
* Deleting domain if it has no archives.
* Fixing FE use of archive.url. Fixing bug with get_domains.
* Universal results are displayed on Welcome page.
* Creating ExternalLink to open a link in a new tab.g
* Increasing size of search headers.
* Adding divider to ease reading.
* Adding More button below search results.
* Disabling More buttons when there are no results.
* Ordering videos by rank so linked results are at the top.
Signed-off-by: Roland <roland@learningselfreliance.com>