Skip to content

Release v0.1 — Directory Scanner

Choose a tag to compare

@cloudlein cloudlein released this 22 Nov 20:57
· 13 commits to master since this release

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 walkdir crate.
  • File categorization by extension into groups:
    • Archives (zip, rar, 7z)
    • Images (jpg, jpeg, png, gif)
    • Documents (pdf, docx, txt)
    • Videos (mp4)
  • 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 logic
  • config.rs — configuration parsing from config.toml
  • main.rs / cli.rs — CLI argument handling
  • scan_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_files

Expected 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