Skip to content

fahimed/File-Manager-Toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

File-Manager-Toolkit

This Python project provides a suite of file management utilities, including organization, compression, encryption, decryption and basic archive handling. It aims to improve digital organization, streamline file sharing, and offer a layer of security for sensitive data.

Features

  • File Organization: Categorizes files within a target folder based on their extensions (e.g., images, documents, audio, text, etc.)

  • Duplicate Detection: Duplicate Detection: Implements perceptual hashing and the cv2 library to identify duplicate images and files.

  • ZIP Compression: Compresses folders into ZIP archives, optimizing storage space and facilitating easy sharing.

  • File Encryption/Decryption: Utilizes Fernet symmetric encryption (cryptography library) to protect the confidentiality of files.

  • ZIP Extraction: Offers extraction capabilities for ZIP archives using the patoolib library.

Skills Utilized

  • Python file I/O (os, shutil, zipfile)

  • Data structure usage (dictionaries)

  • Basic image processing (OpenCV)

  • Working with external libraries (cryptography, patoolib, hashlib)

  • Implementing symmetric encryption/decryption concepts

Requirements

  • Python 3.x

  • Libraries:

    • cryptography

    • patoolib

    • OpenCV

    • hashlib

Installation

  1. Install Python: Download and install an appropriate Python distribution.

  2. Install Libraries: Run the following command in your terminal or command prompt:

pip install cryptography patoolib opencv-python hashlib
  1. Clone the Repository: Clone the File Organizer repository to your local machine using Git. Open a terminal or command prompt and run the following command:
git clone https://github.com/FahimDidnt/File-Manager-Toolkit

Usage

Execution:

python main.py

Menu-Driven Interface: Follow the on-screen prompts to select actions:

  1. Organization

  2. Compression

  3. Encryption

  4. Decryption

  5. ZIP Extraction

    Important: Store the Encryption Key securely, as it's essential for Decryption

    Workflow

    1. Start

    2. Choose Action:

    • Organize Files

    • Compress Files

    • Encrypt File/Folder

    • Decrypt File/Folder

    • Unzip File

    1. If Action == "Organize Files":
    • Get Folder Path

    • Iterate Through Files:

      • Check File Type

        • If Image:

          • Calculate Image Hash

          • Duplicate Check

        • If Not Image:

          • Calculate File Hash

          • Duplicate Check

      • Organize: Move File to Subfolder Based on Type

    1. If Action == "Compress Files":
    • Get Folder Path

    • Create ZIP Archive

    1. If Action == "Encrypt File/Folder":
    • Get File/Folder Path

    • Key Generation

    • Encryption

    1. If Action == "Decrypt File/Folder":
    • Get File/Folder Path

    • Input Key

    • Decryption

    1. If Action == "Unzip File":
    • Get ZIP File Path

    • Get Destination Folder

    • Extract Files

    1. End

Contributions

Contributions are welcome! To report issue or suggest features, please open an issue on the repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages