Repository navigation
Release v0.1 — Directory Scanner
This is the first milestone of the Rust File Organizer project. It implements a basic directory scanning functionality that lays the foundation for future features, including file grouping, CLI support, and file organization.
Features Implemented
- Recursive directory scanning using the
walkdircrate. - File categorization by extension into groups:
- Archives (
zip,rar,7z) - Images (
jpg,jpeg,png,gif) - Documents (
pdf,docx,txt) - Videos (
mp4)
- Archives (
- Basic error handling:
- Skip unreadable files or directories.
- Warn about files without extensions.
- Warn about unsupported file types.
- Minimal unit testing using temporary directories (
tempfile) to validate the grouping logic. - Console output of categorized file groups.
Files / Modules Updated
scanner.rs— main scanning logicconfig.rs— configuration parsing fromconfig.tomlmain.rs/cli.rs— CLI argument handlingscan_tests.rs— temporary directory unit tests
Test Coverage
- Verifies all configured extensions from
config.toml. - Checks correct grouping into
FileGroups. - Ensures unsupported or missing extensions are reported without panicking.
Usage Example
cargo run -- ./test_filesExpected output:
== File Groups ==
Archives:
- ./test_files/old_backup.zip
Documents:
- ./test_files/readme.txt
- ./test_files/doc.pdf
Images:
- ./test_files/image.png
Videos:
- ./test_files/video.mp4