The file management automation tool
Project description
organize
The file management automation tool.
Install via pip (requirement: Python 3.3+):
On macOS / Windows: $ pip3 install organize-tool
On Linux: $ sudo pip3 install organize-tool
Why you might find this useful
Your desktop is a mess? You cannot find anything in your downloads and documents? Sorting and renaming all these files by hand is too tedious? Time to automate it once and benefit from it forever.
organize is a command line, open-source alternative to apps like Hazel (macOS) or File Juggler (Windows).
In your shell, run $ organize config to edit the configuration:
config.yaml:
rules: # move screenshots into "Screenshots" folder - folders: - ~/Desktop filters: - filename: startswith:
'ScreenShot'actions: - move: ~/Desktop/Screenshots/ # move incomplete downloads older > 30 days into the trash - folders: - ~/Downloads filters: - extension: - download - crdownload - part - lastmodified: days: 30 mode: older actions: - trash
(alternatively you can run $ organize config --path to see the full path to your config.yaml)
$ organize run will now…
move all your screenshots from your desktop a “Screenshots” subfolder (the folder will be created if it does not exist)
put all incomplete downloads older than 30 days into the trash
It is that easy.
Feeling insecure? Run $ organize sim to see what would happen without touching your files.
But there is more. You want to rename / copy files, run custom shell- or python scripts, match filenames with regular expressions or use placeholder variables? organize has you covered.
Have a look at the full documentation at https://organize.readthedocs.io/.
Advanced usage example
This example shows some advanced features like placeholder variables, pluggable actions and recursion through subfolders:
rules:
- folders: '~/Documents'
subfolders: true
filters:
- extension:
- pdf
- docx
- lastmodified
actions:
- move: '~/Documents/{extension.upper}/{lastmodified.year}-{lastmodified.month:02}/'
- shell: 'open "{path}"'
Given we have two files in our ~/Documents folder (or any of its subfolders) named script.docx from january 2018 and demo.pdf from december 2016 this will happen:
script.docx will be moved to ~/Documents/DOCX/2018/01/script.docx
demo.pdf will be moved to ~/Documents/PDF/2016/12/demo.pdf
The files will be opened (open command in macOS) from their new location.
Functionality
Select files by (filters):
Extension
Regular expression
Last modified date (newer, older)
Filename (startswith, endswith, contains)
Organize your files (actions):
Move files
Copy files
Rename files in place
Run shell command
Run inline Python code
Move into Trash
Print something to the console
If you miss a feature please file an issue. Pull requests welcome!
Command line interface
The file management automation tool. Usage: organize sim [--config-file=<path>] organize run [--config-file=<path>] organize config [--open-folder | --path | --debug] [--config-file=<path>] organize list organize --help organize --version Arguments: sim Simulate a run. Does not touch your files. run Organizes your files according to your rules. config Open the configuration file in $EDITOR. list List available filters and actions. --version Show program version and exit. -h, --help Show this screen and exit. Options: -o, --open-folder Open the folder containing the configuration files. -p, --path Show the path to the configuration file. -d, --debug Debug your configuration file. Full documentation: https://organize.readthedocs.io
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for organize_tool-1.4.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22d04e6bd75809e0d266e08a6c2e9679b1ff2673931c3adcca2e0a0242820b58 |
|
MD5 | d324f3f87a65356085444000fd908b53 |
|
BLAKE2b-256 | 9506a2b53f134329bdd315ea53e3f2e783f7ebc6b11ece1e6626d5f077ebc654 |