Skip to main content

Organizes the files in your Downloads folder based on their file extensions. The module moves files into predefined folders according to a configuration file, making it easier to find and manage your downloaded files.

Project description

DownloadSorter

DownloadSorter is a Python module that organizes the files in your Downloads folder based on their file extensions. The module moves files into predefined folders according to a configuration file, making it easier to find and manage your downloaded files.

Features

  • Organizes files directly in the Downloads folder (non-recursive)
  • Customizable folder organization using a JSON configuration file
  • Automatically appends Unix timestamps to filenames to avoid conflicts
  • Cross-platform compatibility

Getting Started

Prerequisites

  • Python 3.x
  • JSON configuration file (default: sort.json)

Installation

  1. Clone the repository or download the sort_downloads.py file.
  2. Create a JSON configuration file, if not using the provided sort.json.

Configuration

The sort.json file defines the folder organization for different file extensions. The structure of the JSON file is as follows:

{
    "DestinationFolder1": ["ext1", "ext2"],
    "DestinationFolder2": ["ext3", "ext4"]
}

For example, to organize music into the "/Music" folder and image files into the "/Pictures" folder, the sort.json file should look like this:

{
    "Music": [
        ".mp3",
        ".wma",
        ".ogg",
        ".wav"
    ],
    "Pictures": [
        ".jpg",
        ".jpeg",
        ".png",
        ".gif",
        ".webm",
        ".bmp"
    ]
}

Usage

To use the DownloadSorter, simply run the sort_downloads.py script:

python sort_downloads.py

By default, the script will organize files in the ~/Downloads directory if you're using Windows, or ~/downloads for non-Windows users. You can modify the downloads_path variable in the script to point to a different directory if needed, or pass the directory path as a command line argument when running sort_downloads.py.

Customization

If you want to customize DownloadSorter, you can modify the sort_downloads.py script:

  • Change the config_file parameter in the DownloadSorter constructor to use a different JSON configuration file.
  • Update the downloads_path variable in the __main__ block to use a different directory for sorting files, or pass the directory path as a command line argument when running sort_downloads.py.

Contributing

Contributions are welcome! If you have any ideas, feature requests, or bug reports, feel free to submit an issue or create a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

download_sorter-0.1.0.tar.gz (3.0 kB view hashes)

Uploaded Source

Built Distribution

download_sorter-0.1.0-py3-none-any.whl (3.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page