/PicPatronum

A photographer's toolkit for file management

Primary LanguagePythonMIT LicenseMIT

🪄 PicPatronum: a Photographer's Toolkit

This is a geeky birthday gift to my significant other. I know you may actually use it.

╮╭╭╮┏╮┏╮╮╭
┣┫┣┫┣╯┣╯╰┫  ☆
╯╯╯╯╯╯╯╯╰╯╭━┻━╮
┏╮┊┏╮╭╮╮╭╭┻━━━┻╮
┣┫┊┃┃┣┫╰┫┣╮╭╮╭╮┃
┗╯┊┗╯╯╯╰╯┃╰╯╰╯╰┫
━━━━━━━━━╯BEANS╰

🔧 Managing RAW files

This software aims to facilitate the clean-up of your unwanted images in your photo album that can take up a large amount of storage space.

photo_cleanup is designed to identify and delete RAW files that do not have a corresponding .JPG/.JPEG in the same directory (or its subdirectories).

This means that all you need to do is to examine your images (jpg files), delete the ones you don't want to keep, and run photo_cleanup that takes care of cleaning the RAW.

Prerequisites

  • Basic familiarity with linux command line operations
  • Python 3 installed

Usage for linux binary: photo_cleanup

Simply run:

./photo_cleanup

This will open a straightforward interface, where you can select the folder containing your images, and the RAW file extension. Click "Cleanup" to carry out the cleaning of redundant RAW files.

Usage for Python script: photo_cleanup.py

💡 For Sony users: to clean up .ARW files:

python /path/to/photo_cleanup.py "path\to\your\photo\folder"

💡 For Canon users: to clean up .CR2 files:

python /path/to/photo_cleanup.py "path\to\your\photo\folder" --extension CR2

💡 For Nikon users: to clean up .NEF files:

python /path/to/photo_cleanup.py "path\to\your\photo\folder" --extension NEF
  • Default mode: By default, the script will first list all RAW files that would be deleted without actually removing any files. This allows you to review the files before deletion.

  • Direct-deleting mode: If you are sure you want to delete the listed .ARW files directly and permanently, rerun the script with the --delete flag. Use it with caution, as it will permanently remove the raw files.

python photo_cleanup.py "path\to\your\photo\folder" --delete
            ___
           / _ \
          | / \ |
          | \_/ |
           \___/ ___
           _|_|_/[_]\__==_
          [---------------]
          | O   /---\     |
          |    |     |    |
          |     \___/     |
          [---------------]
                [___]
                 | |\\
                 | | \\
                 [ ]  \\_
                /|_|\  ( \
               //| |\\  \ \
              // | | \\  \ \
             //  |_|  \\  \_\
            //   | |   \\
           //\   | |   /\\
          //  \  | |  /  \\
         //    \ | | /    \\
        //      \|_|/      \\
       //        [_]        \\
      //          H          \\
     //           H           \\
    //            H            \\
   //             H             \\
  //              H              \\
 //                               \\
//                                 \\

📸 New functions/features might be added in the future. Enjoy!

To do:

  • Generate windows executable
  • Add functionality for renaming files in batch