ngimb64 / AutoFile-Organizer

Monitors source folder and automatically backs up data put in source folder to destination folder in an organized fashion by file extensions.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AutoFile-Organizer

☑️ Bandit verified  |  ☑️ Synk verified  |  ☑️ Pylint verified 10/10

alt text alt text

Purpose

Monitors source folder and automatically organizes any introduced files by moving them to they're designated destination folder based on file extension.

License

The program is licensed under GNU Public License v3.0

Contributions or Issues

CONTRIBUTING

Prereqs

This program runs on Windows 10 and Debian-based Linux, written in Python 3.9 and updated to version 3.10.6

Installation

  • Run the setup.py script to build a virtual environment and install all external packages in the created venv.

Examples:
  - Windows: python setup.py venv
  - Linux: python3 setup.py venv

  • Once virtual env is built traverse to the (Scripts-Windows or bin-Linux) directory in the environment folder just created.
  • For Windows, in the venv\Scripts directory, execute activate or activate.bat script to activate the virtual environment.
  • For Linux, in the venv/bin directory, execute source activate to activate the virtual environment.
  • If for some reason issues are experienced with the setup script, the alternative is to manually create an environment, activate it, then run pip install -r packages.txt in project root.
  • To exit from the virtual environment when finished, execute deactivate.

How to use

  • Once in the activated virtual environment, enter the directory containing the program and execute in shell.
  • To organize files, move files to the directory defined by the SRC_DIR and they will be automatically organized based on file extension.

Function Layout

-- autofile_organizer.py --

BackupHandler  -  Class is trigger when the monitored SRC_DIR detects modification.
on_modified  -  Copies contents of source dir to dest dir on event detection per modification.

main  -  Facilitates file system handler, copies data to desired folders based on file extension.

About

Monitors source folder and automatically backs up data put in source folder to destination folder in an organized fashion by file extensions.

License:GNU General Public License v3.0


Languages

Language:Python 100.0%