Skip to content

nzokajohn/MediaFileRenamerPro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎬 Media File Renamer Pro

OS: macOS (Highly Optimized)

Media File Renamer Pro is a powerful, Python-based desktop application designed to completely automate the tedious process of renaming media files and audio stems for strict Content Management System (CMS) delivery. It enforces strict naming conventions, calculates MD5 checksums, prevents accidental overwrites, and automatically generates organized Excel Delivery Manifests β€” now with full Google Drive integration.


✨ What's New in v1.4.0

  • 🌐 Google Drive Integration – rename files directly on Google Drive (authenticate via OAuth 2.0)
  • πŸ“‚ Recursive Drive scanning – crawls all subfolders, just like local mode
  • πŸ—‚οΈ Batch Drive management – queue multiple Drive folders, each with its own stem type
  • ⚠️ Permission‑aware – warns you if a Drive folder isn't shared as "Editor"
  • πŸ”’ Locked dropdowns – content type selections are now read‑only
  • πŸ“Š Redesigned progress indicator – "Processed X/Y files…" next to the progress bar
  • 🎨 Optimised UI – starts with Drive selected, advanced options open, and fits all controls.

✨ Key Features

πŸ—‚οΈ Intelligent Batch Processing

  • Drag-and-Drop: Drop multiple folders directly into the app for instant batch processing.
  • Auto-Stem Detection: Automatically assigns content types based on folder names (e.g., folders containing the word "Speech" are automatically assigned to Stem 2).
  • Smart Sorting: Number duplicate files exactly in the order they were shot or exported by sorting them via Creation Date, Modified Date, or Alphabetical order.
  • Sequence Padding: Total control over how files are numbered (e.g., _1, _01, _001).

πŸ›‘οΈ Enterprise CMS Safety

  • Pre-Flight Checker: Before touching any files, the app simulates the rename. If a filename exceeds 150 characters, the batch safely aborts.
  • Emoji & Illegal Character Stripper: Automatically detects and silently vaporizes emojis (πŸš€, πŸ”₯) and hidden non-ASCII characters that cause CMS databases to crash.
  • Strict Case Formatting: Force base filenames to lowercase, UPPERCASE, or Title Case.

πŸ“Š Automated Delivery Manifests (Excel)

Instead of just renaming files, the app generates a _Rename_Report.xlsx file containing:

  • Global Bundle Sorting: Groups all video, speech, and music stems perfectly by bundle.
  • Metadata Extraction (Mac): Uses native macOS Spotlight (mdls) to automatically extract and log the Duration of video/audio files.
  • MD5 Checksums: Generates mathematically unique hashes for file integrity verification.

βš™οΈ Advanced Customization

  • Team Profiles: Save all your settings, find/replace rules, and custom templates as a "Profile." Use the Export (⬆️) and Import (⬇️) buttons to share profiles with your team.
  • Dynamic Naming Templates: Construct custom naming rules using placeholders: {name}{stem}+lang={lang}&category={cat}&aspect={aspect}&app={app}
  • Regex Engine: Utilize Regular Expressions for complex Find & Replace patterns.

πŸ”„ 1-Click Undo & Auto-Updater

  • Quick Undo: Made a mistake? Click "Undo Latest Renaming" to safely read the hidden backup logs, revert all filenames from the bottom up, and delete the bad Excel report.
  • Over-The-Air Updates: Natively checks the GitHub version.json file on startup and prompts users to download new updates the second they are published.

🌐 Google Drive Setup (For Developers)

To enable the Drive feature, you need a client_secrets.json file from Google Cloud:

  1. Go to the Google Cloud Console.
  2. Create a project and enable the Google Drive API.
  3. Configure the OAuth consent screen:
    • Application type: Desktop app
    • Add scope: https://www.googleapis.com/auth/drive.file (remove unrelated scopes)
    • Fill in your homepage and privacy policy URLs
    • Publish the app so anyone can use it
  4. Create OAuth 2.0 credentials for a Desktop application β†’ download the JSON file.
  5. Rename it to client_secrets.json and place it next to RenamerApp.py.

For end users, this file is already bundled in the packaged app. They simply click "Authenticate" to connect.


πŸš€ Installation & Setup

For End Users (Editors / QA Team)

  1. Go to the Releases tab on the right side of this repository.
  2. Download the latest Media File Renamer Pro.zip file.
  3. Extract the app and double-click to run! (Note: You may need to right-click -> Open the first time depending on your Mac's security settings).

πŸ—οΈ Compiling the App (Mac) If you are modifying the code and want to package a new release for your team:

  1. Ensure your virtual environment is active.

  2. Update the APP_VERSION variable inside RenamerApp.py.

  3. Run the included build script:

chmod +x build_app.command ./build_app.command

  1. The standalone .app file will be generated in the dist folder. Zip it and upload it to GitHub Releases!

πŸ“‘ The Auto-Updater System

This app utilizes a serverless auto-updater. When you push a new release to your team:

  1. Upload the new .zip to GitHub Releases.

  2. Edit the version.json file in the root of this repository to reflect the new version number and release notes.

  3. The next time a team member opens their older version of the app, it will read the JSON file, detect the math discrepancy, and trigger an update popup!

πŸ› Support

For bugs or feature requests, please open an issue or email nthakyojohn@gmail.com.

βš–οΈ Licence

This project is licensed under the MIT License β€” see the LICENSE file for details.

Built with Python, CustomTkinter, and OpenPyXL.

Screenshot 2026-05-07 at 09 58 18 Screenshot 2026-05-07 at 09 58 07 Screenshot 2026-05-07 at 09 57 57 Screenshot 2026-05-07 at 09 57 53 Screenshot 2026-05-07 at 09 57 48

For Developers (Running from Source)

Requirements: Python 3.9+

# 1. Clone the repository
git clone [https://github.com/nzokajohn/MediaFileRenamerPro.git](https://github.com/nzokajohn/MediaFileRenamerPro.git)
cd RenamerApp

# 2. Create and activate a virtual environment
python3 -m venv renamer_env
source renamer_env/bin/activate

# 3. Install required packages
pip install customtkinter tkinterdnd2 openpyxl pydrive2 google-auth-oauthlib google-auth-httplib2 oauth2client

# 4. Run the app
python RenamerApp.py

About

Welcome to Media File Renamer Pro! This application is designed to completely automate the tedious process of renaming media files for CMS delivery. It standardizes filenames, prevents accidental overwrites, and automatically generates organized Excel reports.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors