Release 21 - Download system refactoring
This release contains the following changes:
- Version format changed - now it's just a sequential version number.
- Files are now being downloaded into temporary file first (
*.dwnldtmp) in order to prevent file corruption during crashes and other unexpected behavior. (#155) - Removed
--overwrite-filesparameter. - Added
--file-exists-actionparameter.
Use this parameter to tell PatreonDownloader how to handle files which already exist on disk:
BackupIfDifferent (default): Check remote file size if enabled and available. If it's different, disabled or not available then download remote file and compare it with existing file, create a backup copy of old file if they are different.
ReplaceIfDifferent: Same as BackupIfDifferent, but the backup copy of the file will not be created.
AlwaysReplace: Always replace existing file. Warning: will result in increased bandwidth usage. Acts like previous builds acted with
--overwrite-filesparameter.
KeepExisting: Always keep existing file. The most bandwidth-friendly option. Acts like previous builds acted without
--overwrite-filesparameter.
- Added
--disable-remote-file-size-checkparameter. It makes the app not ask the server for file size when it is available and therefore disables various pre-download checks if file already exists on disk. May result in significant increase of bandwidth used by the application. - Media and attachment files now have their id appended to them in order to help with various file checks. Old behavior can be enabled with
--use-legacy-file-namingparameter. Please note: this parameter is not compatible withBackupIfDifferent, ReplaceIfDifferentoptions of--file-exists-actionand might be removed in the future. It is highly discouraged to use--use-legacy-file-namingparameter unless you absolutely need it. - Added
--max-sub-directory-name-lengthparameter which allows you to limit the length of folder names when--use-sub-directoriesis used. Default value for this parameter is 100 characters. (#156) - Fixed crash caused by using not thread safe code. (#135) This might also fix #138.
- Code refactoring and libraries updates.