8 unstable releases (3 breaking)
|0.5.1||May 12, 2023|
|0.5.0||May 12, 2023|
|0.4.1||May 11, 2023|
|0.3.2||May 9, 2023|
|0.2.0||May 8, 2023|
37 downloads per month
If you have a lot of files unorganized, and do not want to break up directories like code projects and applications, this
tool maid is for you.
This is the Rust version of maid-sweeper, a
tool service to classify files and directories.
If desired, the maid can practice Danshari given permission. For example, she can sell your unused iPad for money.
Like Toki in Blue Archive, she is a maid with two modes:
Online: Label the files/directories and save them in a mongodb database. When dispatching those files it can also read the entries from the database. Useful if you want to sweep the same directory multiple times or keep a statistics of the files.
Offline: Label the files/directories and dispatch them immediately. Useful if you want to sweep a directory once.
- code projects and application directories are labeled, and their children are not scanned
- if there is a DLL, you know what it is for, the maid also knows.
- others are labeled based on the extensions, or names if its name indicates that it is a special kind of file.
- Uses Tokio for asynchronous processing.
- MongoDB for fast indexing if you want to
- Save time by not scanning every single file inside code and program directories and not checking the metadata
- Use yaml to configure the rules and tags
cargo install maid-sweeprs.
~/.maidsweep.yaml. Or any place you like, in that case you need to specify the path with
- Feel free to modify the rules
- Install MongoDB and start the service (optional).
maid [--use-mongodb] [--mongodb-host <MONGODB_URL>] [-c <CONFIG_PATH>] [-t <TAGS>] PATH ACTIONS
--use-mongodbuses mongodb entries for sweeping.
--mongodb-hostspecifies the mongodb url, default is
-cspecifies the path to the config file, default is
-tspecifies files with which tags to sweep, default is any tag.
ACTIONS = [-x ARGS] | [--cp <DESTINATION>] | [--mv <DESTINATION>] | [--save]
--execin find, and
fd, it executes a command.
--mvcopies or moves a file to
<destination>/<first tag of the file>/.
--savesaves the entries to the database, you can then specify
--use-mongodbto read the entries from the database for sweeping.
- Start a MongoDB service.
maid --mongodb-host <MONGODB_URL> ~/Videos/Study --save, then you can find tagged entries in the database. Sweeping works on all directories tagged.
maid --use-mongodb --mongodb-host <MONGODB_URL> -t video game --mv classified, and the maid is going to move all 'video' or 'game' tagged files and directories to a
classified/video, and `classified.
maid ~/Videos/Study -x --cp Tagged, the maid copies all tagged files and directories to
Tagged directory, categorized.
- Tags based on time
- How does it affect other tags? If not why bother?
- Maybe not tag, but just metadata
- There will be IO cost
- Group similarly named files: 01.jpg, 02.jpg, etc.
- Understand human language so they can toss away garbage
- Optionally clean up the database after sweeping.