A user-friendly Windows GUI application that simplifies the process of monitoring media files and detecting missing content. This GUI wraps the existing command-line scripts in an intuitive interface.
- Easy Directory Management: Add/remove directories to scan for media files with a simple GUI
- Automated Media List Generation: Scan directories and generate timestamped media lists
- Missing Media Detection: Compare recent lists to identify missing files
- Email Notifications: Automatically send email alerts when missing media is detected
- File Retention Management: Automatically manage old list files (keep only the latest N files)
- Configuration Persistence: Save all settings between sessions
- Real-time Logging: View operation status and results in real-time
- File Management: View and browse generated lists and results
No Python installation required!
- Download the executable from the releases page or build it yourself
- Double-click
MediaManager.exeto run - First run may take 10-15 seconds (extracting files)
To build the executable yourself:
build_exe.batSee BUILD_EXECUTABLE.md for detailed instructions.
- Python 3.6 or later
- Windows operating system
- Internet connection (for email notifications)
-
Download or Clone the Repository
git clone https://github.com/TrueBankai416/missing-media-scripts.git cd missing-media-scripts -
Run the GUI
python media_manager_gui.py
Or double-click the
run_gui.batfile
When you first run the application:
-
Go to the Configuration tab
-
Add Scan Directories:
- Click "Add Directory" to select folders containing your media files
- Add multiple directories as needed
- Remove directories using "Remove Selected"
-
Set Output Directory:
- Choose where to save the generated lists
- Default:
listsfolder in the current directory
-
Configure Email (Optional):
- Set up email notifications for missing media alerts
- Required fields: Sender Email, Receiver Email, Password, SMTP Server
- Default SMTP: Gmail (smtp.gmail.com:587)
-
Set File Retention:
- Choose how many old list files to keep (default: 100)
-
Click "Save Configuration"
- Click "Generate Media List" in the Main tab
- This scans all configured directories for .mp4, .mkv, and .avi files
- Creates a timestamped list file
- Click "Check for Missing Media"
- Compares the two most recent media lists
- Identifies files that were in the previous list but missing from the current list
- Sends email notification if configured
- Click "Run Complete Check" to perform all operations in sequence:
- Generate new media list
- Check for missing media
- Clean up old files
Use the Logs & Results tab to:
- View all generated list files
- Read file contents
- Open the output folder in Windows Explorer
- Monitor file creation timestamps
For Gmail users:
- Enable 2-Factor Authentication on your Google account
- Create an App Password:
- Go to Google Account settings
- Security → 2-Step Verification → App passwords
- Generate a password for "Mail"
- Use the app password (not your regular password) in the GUI
For other email providers:
- Update the SMTP server and port in the configuration
- Common SMTP settings:
- Outlook/Hotmail: smtp-mail.outlook.com:587
- Yahoo: smtp.mail.yahoo.com:587
- Gmail: smtp.gmail.com:587
The application searches for these file types:
.mp4- MPEG-4 video files.mkv- Matroska video files.avi- Audio Video Interleave files
Hidden directories (starting with '.') are automatically ignored.
Generated files use timestamps in the format: YYYYMMDD_HHMMSS
- Media Lists:
media_list_20240522_143022.txt - Missing Media:
missing_media_20240522_143022.txt
To automate the media checking process:
- Open Task Scheduler (Start → Task Scheduler)
- Create Basic Task
- Set Trigger: Daily at your preferred time
- Set Action: Start a program
- Program:
python.exe - Arguments:
path\to\media_manager_gui.py --auto-run - Start in: Directory containing the scripts
Note: The --auto-run flag is a future enhancement for headless operation.
Create a batch file to run operations:
@echo off
cd /d "C:\path\to\missing-media-scripts"
python media_manager_gui.py
pause-
"No module named 'tkinter'"
- Ensure Python was installed with tkinter support
- On some Linux distributions:
sudo apt-get install python3-tk
-
Email sending fails
- Verify email credentials and app password
- Check firewall/antivirus settings
- Ensure SMTP server and port are correct
-
Permission errors
- Run as administrator if accessing system directories
- Check folder permissions for output directory
-
No files found
- Verify directory paths are correct
- Check that directories contain .mp4, .mkv, or .avi files
- Ensure directories are accessible
The application provides detailed logging in the Status section:
- Green messages: Successful operations
- Red messages: Errors that need attention
- Timestamps: All operations are timestamped for tracking
missing-media-scripts/
├── media_manager_gui.py # Main GUI application
├── generate_media_list.py # Core media scanning functionality
├── generate_missing_media_list.py # Missing media detection
├── manage_txt_files.sh # Original bash script (Linux/Mac)
├── manage_files.py # Python equivalent for Windows
├── media_manager_config.json # GUI configuration (auto-generated)
├── run_gui.bat # Windows launcher for Python version
├── build_exe.bat # Build script for executable
├── media_manager_gui.spec # PyInstaller configuration
├── BUILD_EXECUTABLE.md # Executable build documentation
├── requirements.txt # Python dependencies
├── example_config.json # Example configuration file
├── dist/ # Built executable (after building)
│ └── MediaManager.exe # Standalone executable
├── lists/ # Default output directory
│ ├── media_list_*.txt # Generated media lists
│ └── missing_media_*.txt # Missing media reports
└── README.md # Original documentation
The GUI provides several enhancements over the original command-line scripts:
- Persistent Configuration: Settings are saved between sessions
- Real-time Feedback: Status updates and progress indication
- File Management: Built-in file browser and viewer
- Error Handling: User-friendly error messages
- Cross-platform File Management: Python-based file retention instead of bash script
- Email Configuration: Built-in email setup and testing
For issues, questions, or feature requests:
- GitHub Issues: Create an issue in the repository
- Discord: Join the community discord at the link in the main README
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.