Skip to content
/ cleanup Public

A simple command line utility that organises files in a directory into subdirectories

License

Notifications You must be signed in to change notification settings

faheel/cleanup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CleanUp

GitHub Actions PyPI License

A simple command line utility that organises files in a directory into subdirectories based on the files' extensions.

Usage

Usage

When run without any option, it organises the files in the specified directory into subdirectories based on the files' extensions.

Options

  • -d, --dry-run

    Just displays the changes that would be made, without actually doing anything.

    cleanup -d path/to/dir        # dry run the cleanup
    cleanup -dr path/to/dir       # dry run the reverting a cleanup
  • -s, --silent

    Prevents displaying any information while performing operations. Errors, however, are displayed irrespective of whether this option is enabled or not.

    cleanup -s path/to/dir        # silently cleanup
    cleanup -sr path/to/dir       # silently revert a cleanup
  • -r, --revert

    Reverts the cleanup of a directory. Note that for this to work, the specified directory should have been cleaned up before.

    cleanup -r path/to/dir        # revert the cleanup of a directory
  • -h, --help

    Displays the help text.

    cleanup -h

Development

Setup

  1. Clone the repo and cd into it.

  2. Set up a Python 3 virtual environment using pipenv:

    pipenv --three         # create Python 3 virtual environment
    pipenv install --dev   # install all dependencies
    pipenv shell           # activate virtual environment shell
  3. The cleanup script can now be run from the root directory of the project:

    python3 -m cleanup.cleanup -h

Test

Make sure you're in the root directory of the project. You can then run the test using:

python3 -m tests.test

License

This project is licensed under the terms of the MIT license.