ArrangePy
Organizes files in folders and helps you to clean your PC
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
-
About The Project
-
Getting Started
- Usage
- Roadmap
- Contributing
- Community
- License
- Contact
What it does
Organizes the files based on their extensions in folders.
If you run the script in a directory containing hundreds of files of multiple filetypes, the script will arrange all of them in different directories based on the file type. For example, all PDFs are arranged in a directory for PDFs, all document based files (docx, doc, xlsx, pptx etc) are moved to the docs directory.
All these files are moved to a directory named ArrangedPy in the directory on which the script was executed. So if you ran the script on your Downloads directory, a directory named ArrangedPy will be created in Downloads.
You can specify which files to move to which directory using the config.ini file.
Features
Currently it has 2 modes
- Easy mode: Organzises files in the current directory
- Hard mode: Organizes files in the current directory and its subdirectories
Built With
Getting Started
Follow the given steps to get started with ArrangePy
Prerequisites
You should have Python installed on your system. You can move to Installation if you have it, otherwise continue with the next steps.
- Install Python from python.org
- Make sure to add Python to PATH if you are on Windows
- To check that Python has been installed on your PC, open Command Prompt or Terminal and type in following command
python --version
This should output Python 3.x.x
where x.x is the version of your Python installation.
Note: If that does not work, try python3 --version
or py --version
In the next part of the readme, python
will be used, change it with the command that works for your PC
Installation
Installation from PyPI
depending on the version.
It will install ArrangePy and the required packages.
It should show you a message on how to use it.
Installation from GitHub
For the usage examples, replace arrange
with python -m arrangepy
Usage
usage: arrange [-h] [-w | -s | -b] [-nw] [directory]
positional arguments:
directory The directory to arrange, default is current working directory
optional arguments:
-h, --help show this help message and exit
-w, --weak Weak arrange
-s, --strong Strong arrange
-b, --web Run web GUI
-nw, --no-warning Don't show any warnings when running strong arrange
Examples
arrange
(Arranges current directory, asks for type of arrange [WEAK/STRONG] )arrange -w
(Weak arranges current directory)arrange -w PATH/TO/DIRECTORY
(Weak arranges given directory)arrange -s -nw PATH/TO/DIRECTORY
(Strong arranges given directory without any warning)
Running the Web GUI
arrange -b
# for the web interface
Editing the CONFIG file
You can edit the config.ini file to change how the directories are created.
Say the initial configuration is this:
[ext]
PDF=['pdf'],
Images=['png','jpeg','jpg','gif', 'tiff', 'psd', 'ico'],
This will move all PDF files to a directory named PDF and all images of mentioned extensions to a directory named Images.
To add a new file type
(say .eps) to the Images directory, add the new extension to the Images list. So it will change to:
[ext]
PDF=['pdf'],
Images=['png','jpeg','jpg','gif', 'tiff', 'psd', 'ico', 'eps'],
To add a new type of file (new directory)
Say you want to move all the video files along with PDFs and images. You can do that in this way:
[ext]
PDF=['pdf'],
Images=['png','jpeg','jpg','gif', 'tiff', 'psd', 'ico', 'eps'],
Videos=['mp4','mkv','avi','3gp'],
Now it will arrange all mp4, mkv, avi, 3gp files to the Videos directory.
Roadmap
See the open issues for a list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
You can contribue to this project using multiple ways. Here are a few things that you can work on
- Improve this README to explain the idea better. GIFs can be added, for example.
- Adding extensions to the config.ini file will improve the experience for everyone.
- Improve the code, add new features or fix issues.
Please read the contribution guide
Read the contributing guide
Join the Telegram group for support and contributing. If you want to contribute, joining the group helps us all a lot because you can get instant feedback.
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
Prashant Sengar - @prashanttgs - contact--AT--prashants.in
Project Link: https://github.com/prashantsengar/ArrangePy