Giter Site home page Giter Site logo

desktop-organizer's Introduction

Screenshot from 2024-03-31 15-22-25

๐Ÿ–ฅ๏ธ Desktop-Organizer

Desktop organizer is a Python application that organizes your desktop files. It has QT system tray that provides an easy way to interact with the program.

๐Ÿ”ฅ Features

  • Manual sorting - sort files once with a click of a button
  • Real-Time sorting - sorts files in real time
  • File categorization - classifies files into categories such as audio, video, pictures, documents, and more.
  • Cross-Platform Compatibility: supports Windows, Linux, and macOS.
  • System tray - allows you to customize sorting settings
  • Persistency - setting toggles are saved into a JSON file

๐Ÿ“” Libraries used

  • PySide6
  • threading
  • platform
  • shutil
  • json
  • time
  • sys
  • os

๐Ÿƒ Running the application

  • Using python's interpreter in Desktop-Organizer/Desktop-Organizer/ dir:
python3 App.py

โŒจ๏ธ Cool code showcase

  • Recursive function that finds all subfolders from folder_dir. Super proud of this one.
# This is a recursive function that retrieves all of the sub directories from folder_dir
# This function is called for every sub directory until there is no more sub directories in them
# Then it returns all of the paths
def get_sub_folder_paths(self, folder_dir: str) -> list[str]:
        # Retrieves sub folders in current directory
        sub_folders = self.get_sub_folders(folder_dir)

        # If there are no more sub folders in this dir, return
        if not sub_folders:
            return

        # List of subfolders in sub folders
        sub_sub_folders = []
        for folder in sub_folders:
            # List of paths to sub directories of current directory
            sub_paths = self.get_sub_folder_paths(folder)
            # If its not empty
            if sub_paths:
                # Append the sub folders of sub folder list
                for path in sub_paths:
                    sub_sub_folders.append(path)

        # Extends the current sub folder list
        sub_folders.extend(sub_sub_folders)

        # Returns it, then function down the stack does the same until end is reached
        return sub_folders

๐Ÿ“œ License

This project is licensed under the GPL v2 LICENSE.

desktop-organizer's People

Contributors

edveika avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.