Attempts to make writes to the download archive safer (https://github.com/jmbannon/ytdl-sub/issues/982).
`ytdl-sub` will now *copy* the download archive from the working directory to the output directory with a temp name, then perform a *move* to store it with its final expected name. This will drastically lower the window of time where the process could die mid-write and corrupt it on the next read.
* [FEATURE
] Reformat existing downloads
* working?!?!
* reformat in output dir
* close, need info json enabled by default
* asdfadsfsaf
* lint
* closer
* multi created variables do not exist for update command!
* info json downloader
* [REFACTOR] Shared plugin and download options class
* more refactoring
* lint
* put in initialize plugins
* changes
* [REFACTOR] simplify enhanced download archive
* working!
* in main
* simplified, many url tests working
* ready?
* Always perform copy/delete on OSError
Extends the fix in #400 to handle all potential OSError errno values and
attempt a copy/delete in all cases. For example, a combination
cross-device move and a permissions change would throw errno 1 instead
of errno 18, which wasn't caught here. Instead of messing with
individual errno numbers, just always attempt a copy/delete and let
those throw their own exceptions if they don't work either.
* Remove unused os_error_exc variable
* fix playlist last thumbnail move to copy
* playlist working
* channel working
* working directory getting cleaned
* working dir e2e fixture
* cleanup files in any case
* clean up if pre-split returns None
* tests updated with new class
* fix nfo tags, no tests only manual inspection
* txt
* dry-run output tested
* readability
* all tests now have files except rolling recent
* better
* almost fixed
* updated txt files w/indents
* files updated, looking good
* rolling recent dry-run test
* Print in main
* dry-run huge refactor
* small fixes, all tests passing
* file handler, transaction log, metadata
* dry-run actually dry running
* working tests, still have more
* Everything passing besides channel
* fix youtube channel thumbnail issue, need to fix fixtures on test
* lint 10, channel tests passing. Need dry-run for split and merge video
* all tests passing, lint 10, should test dry-run arg