Skip to content

A GUI downloader for the program gallery-dl which is more efficient and more organized for downloading files and easier to use

License

Notifications You must be signed in to change notification settings

Thunderz-z/gallery-dl-GUI_downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OrganizeGUI, a Gallery-dl GUI Link Collector and downloader

A sleek, modern GUI application for managing and organizing gallery-dl download links with custom categorization.

Version Python License

Reason for Creating this program

If you are a user who has used gallery-dl extensively, you must already be knowing the extensive options gallery-dl offers such as -d, -D, --download-archive, -I ,config files, and much more, etc..

Initially I created this program for myself, in accordance to my own usage of gallery-dl and my folder structures for archiving media but I decided to upload it to github so others can make use of this for their own systems and data hoarding/archiving workflows

  • With gallery-dl when you download a artists entire media, the entire folder for that artist gets created along with the platform you downloaded (default configuration essentially)

  • This program is for mainly those with a lot of complicated folder structures and organizations and those who extensively use the -I tag which lets you download links from a .txt file and comments out already downloaded links.

Important

  • Example: Suppose you have a certain character or certain types of images you like and the images you are downloading are from many different artists, gallery-dl offers no inbuilt way to organize this
  • so the best method is to create a folder, create a .txt file in that folder and paste all the links of that certain character, or the images you want to download to one folder,
  • Suppose you want to revisit and add more links to that file, it becomes tedious to open the .txt file, add the links, again use gallery-dl -D -I with the correct paths to download new images, hence why I made this program which can easily save all your paths and text files along with folders, so you can just easily add your links and downloads without having to go through the entire process again

Note

  • I'am also releasing more of my gallery-dl/data hoarding workflow tools that i developed for my own use and will also include a guide on how to make use of them for a faster, more efficient workflow especially with huge media folders and complicated folder structures/organization.
  • I will update the links here when they are uploaded to github

✨ Features

  • Modern Fluent Dark UI: Beautiful, futuristic interface with smooth hover effects
  • Custom Categories: Create unlimited custom download buttons for different collections
  • Persistent Storage: All buttons and configurations saved in JSON files
  • Smart Auto-Downloads: Automatically triggers gallery-dl when 5+ links are accumulated
  • Dual-Action Buttons: Save & Auto-download OR Save Only (manual mode)
  • Overflow Management: Paginated view for 35+ buttons
  • First-Time Setup Wizard: Easy guided configuration on first launch
  • No Dependencies: Only uses Python's standard library (tkinter)

πŸ“¦ Installation

Quick Start

  1. Download gallery-dl

    • Get the latest gallery-dl.exe from gallery-dl releases
    • Place it in a dedicated folder (e.g., C:\gallery-dl\)
  2. Clone this repository

    git clone https://github.com/Thunderz-z/GUI_downloader_gallery-dl.git
    cd GUI_downloader_gallery-dl
  3. Run the application

    python main.py
  4. Follow the Setup Wizard

    • On first launch, a setup wizard will guide you through configuration
    • Point it to your gallery-dl.exe directory
    • Optionally create your first download category

That's it! See INSTALLATION.md for detailed setup instructions.

Screenshots

  • Examples of how the GUI looks like, for the main window, you may add any buttons and categories/folders you want, What is shown is just an example. All organization is upto you and how you want it to suit your workflow.

screenshot1

screenshot2

πŸ“– Usage

Adding Download Links

  1. Copy links from your browser (one per line)
  2. Paste them into the "LINKS INPUT" text box
  3. Click a category button:
    • πŸ’Ύ Save & Auto: Saves links and auto-starts download if β‰₯5 links
    • πŸ“ Save Only: Saves links without downloading (manual mode)

Creating New Categories

  1. Click "+ Add New Button" at the bottom
  2. Fill in the form:
    • Button Label: Display name (e.g., "Twitter Art")
    • Links File Path: Where to store links (.txt file)
    • Output Directory: Where to save downloads
  3. Click "Add Button"

Managing Downloads

  • Links are automatically tracked in .txt files
  • Downloaded links are marked with # by gallery-dl
  • Downloads start automatically in auto-mode when 5+ undownloaded links exist
  • Manual mode lets you collect links without auto-starting downloads

🎨 Interface Preview

Main Window:

  • Header with title and instructions
  • Text input area for pasting links
  • Grid of custom category buttons (up to 35 visible)
  • Add/Delete button controls

Dual-Action Buttons:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Category Name     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚πŸ’Ύ Save & β”‚πŸ“ Save   β”‚
β”‚   Auto   β”‚   Only   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Overflow Window:

  • Opens when you have 35+ buttons
  • Paginated view (30 buttons per page)
  • Previous/Next navigation

πŸ“ Project Structure

GUI_downloader_gallery-dl/
β”‚
β”œβ”€β”€ main.py                          # Application entry point
β”œβ”€β”€ config.json                      # App configuration (auto-generated)
β”œβ”€β”€ custom_buttons.json              # Button definitions (auto-generated)
β”œβ”€β”€ config.json.example              # Configuration template
β”œβ”€β”€ custom_buttons.json.example      # Button template
β”‚
β”œβ”€β”€ README.md                        # This file
β”œβ”€β”€ INSTALLATION.md                  # Detailed installation guide
β”‚
└── src/                             # Modular source code
    β”œβ”€β”€ core/                        # Business logic
    β”‚   β”œβ”€β”€ config.py                # Configuration management
    β”‚   β”œβ”€β”€ file_manager.py          # File operations
    β”‚   └── gallery_dl.py            # Gallery-dl integration
    β”‚
    β”œβ”€β”€ ui/                          # User interface
    β”‚   β”œβ”€β”€ main_window.py           # Main application window
    β”‚   β”œβ”€β”€ download_button.py       # Custom button widget
    β”‚   β”œβ”€β”€ overflow_window.py       # Pagination window
    β”‚   β”œβ”€β”€ dialogs.py               # Add/Delete dialogs
    β”‚   └── setup_wizard.py          # First-time setup
    β”‚
    └── utils/                       # Utilities
        β”œβ”€β”€ theme.py                 # Theme constants
        └── ui_helpers.py            # UI utility functions

πŸ› οΈ Configuration Files

Configuration is automatically managed through JSON files:

config.json (auto-generated)

Stores the gallery-dl.exe directory path.

custom_buttons.json (auto-generated)

Stores all your category buttons and their associated paths.

Note: These files are created automatically by the setup wizard and are in .gitignore to protect your personal paths.

🎨 Color Scheme

Modern Fluent Design inspired dark theme:

  • Primary Background: #1a1a1a - Deep black
  • Secondary Background: #252525 - Cards and surfaces
  • Accent: #0078d4 - Azure blue
  • Text: #ffffff / #b3b3b3 - Primary/Secondary

πŸ› Troubleshooting

"gallery-dl.exe not found"

  • Verify the path in config.json points to the folder containing gallery-dl.exe
  • Download gallery-dl from official releases

"No Buttons Found"

  • Use the "+ Add New Button" feature to create your first category
  • Check that custom_buttons.json exists and is valid JSON

Application won't start

  • Ensure Python 3.7+ is installed: python --version
  • Ensure tkinter is installed and Check tkinter availability: python -m tkinter
  • On Linux: sudo apt-get install python3-tk

See INSTALLATION.md for more troubleshooting tips.

πŸ“‹ Requirements

  • Python: 3.7 or higher
  • Operating System: Windows 7/10/11, Linux, macOS
  • Dependencies: None (uses only Python standard library)
  • External Tool: gallery-dl

πŸ“ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

This means you can freely use and modify this software. Any derivative works must credit the original author and use the same license.

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ™ Acknowledgments

  • Built as a GUI wrapper for gallery-dl by Mike FΓ€hrmann

πŸ“§ Support

If you encounter any issues or have questions:


About

A GUI downloader for the program gallery-dl which is more efficient and more organized for downloading files and easier to use

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages