Change Log¶
The change log is automatically generated by the buildDoc.py script.
Version 2.3.0¶
Python 3.8 is no longer supported; minimum requirement is now Python 3.9.
Command Line Interface (CLI)
Two usage modes: unified interface (
do-folder/python3 -m doFolder) and direct commands (do-compare,do-hash)Global options:
-v/--version,-vv/--full-version,-w/--console-width,--no-color,-m/--mute-warning,-t/--traceback,-h/--helpSubcommands: - compare: compare or synchronize files/directories; modes (
SIZE,CONTENT,TIMETAG,TIMETAG_AND_SIZE,IGNORE);--sync;--sync-direction;--overwrite;--create-root;--relative-timestamp- hash: calculate hashes;-a/--algorithms;-d/--allow-directory;-r/--recursive;-n/--thread-num;-s/--show-all;--no-progress;-p/--to-absolute;-f/--full-path;-A/--disable-aggregate-algosExit codes:
0success;1general error;2argument error
See the full CLI guide: Command Line Interface.
Module Structure Improvements
Hashing Module Refactoring: The hashing module has been completely restructured from a standalone submodule into a comprehensive subpackage.
Better organization for hash-related functionality
More granular module management capabilities
Improved code maintainability and structure
Enhanced extensibility for future hash algorithms and utilities
Command-Line Interface Enhancement: Introduced a new cli subpackage along with a dedicated scripts module to provide robust command-line interface functionality.
Direct terminal interaction with doFolder capabilities
Scriptable automation options for batch operations
Enhanced user experience for system integrations
Support for command-line workflows and pipelines
Convenient Class Aliases: Added doFolder.D and doFolder.F as shorthand aliases for the Directory and File classes respectively.
More concise and developer-friendly syntax
Reduced code verbosity in common operations
Full compatibility with existing implementations
Improved developer productivity and code readability
For more details, please refer to the changelog.
Version 2.2.4¶
New Hash Api
Newly add doFolder.hashing module to provide a unified interface for hashing operations.
The File.hash method now using doFolder.hashing module instead of hashlib directly.
Support caching of calculated Hash values and guide to the expiration conditions
Support multi-threaded computation of hash
During the calculation process, support for automatic streaming reading of files is provided.
For more details, please refer to the changelog.
Version 2.2.0¶
Newly added Compare API
Use the compare module to compare two directories or files
Use the getDifference method to get the difference details between two directories or files
You can control how to compare files by setting the compareMode parameter
For more details, please refer to the changelog.
Version 2.1.3¶
Extract the custom theme into the ksphinx package
Sort out dependencies
For more details, please refer to the changelog.
Version 2.1.2¶
Use Sphinx to generate documentation
Move enum class to a separate file
Optimize document annotations
For more details, please refer to the changelog.
Version 2.1¶
The object structure was redesigned
Add
createItemmethod to create a file or directory automaticallyRedesign the
get,create,hasmethods of theDirectoryclass
From Version 1.0¶
Manage the path using the built-in pathlib
Change the class name from
FoldertoDirectory(Maintain compatibility with the nameFolderis still retained)When creating the
Fileclass, redirection toDirectoryis allowed