A Python GUI application that helps organize your movie collection by:
- Automatically fetching movie information from IMDB
- Renaming movie files with year and IMDB ID
- Creating individual folders for each movie
- Clean up and standardize movie filenames
- Fetch movie year and IMDB ID automatically
- Create organized folders for each movie
- Support for common video formats (MP4, MKV, AVI, MOV, WMV, DIVX)
- User-friendly GUI interface
- Option to enable/disable renaming and folder creation
- Automatic cleanup of common filename patterns:
- Removes quality tags (720p, 1080p, BluRay, etc.)
- Handles special characters and brackets
- Fixes malformed years in filenames
- Built-in rate limiting for IMDB requests
-
Clone this repository or download the files: git clone https://github.com/yourusername/movie-organizer.git cd movie-organizer
-
Create a virtual environment (recommended): python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies: pip install -r requirements.txt
It is not necessary to install in a virtual environment, you may also choose to instead install the dependencies into your system python installation. But you will need to activate the venv first everytime you want to run the program.
-
Run the application: python movie-organizer.py
-
Use the GUI to:
- Select the folder containing your movies
- Choose whether to rename files with IMDB info
- Choose whether to create individual folders
- Click "Process Movies" to start organizing
When renaming is enabled, files will be renamed to:
Movie Name (Year) {imdb-ttxxxxxxx}.extension
Examples:
The Matrix (1999) {imdb-tt0133093}.mp4Inception (2010) {imdb-tt1375666}.mkv
The following video file formats are supported:
- .mp4
- .mkv
- .avi
- .mov
- .wmv
- .divx
- The application includes a 3-second delay between IMDB searches to avoid rate limiting
- Internet connection is required for IMDB lookups
- Original filenames should include the movie name for best results
- Special characters in filenames will be handled automatically
- The application can fix malformed years in filenames (e.g., "20003" will be corrected to "2003")
- Additional information in curly braces (like {Unrated} or {Director's Cut}) is preserved
- Python 3.6 or higher
- Required Python packages (installed via requirements.txt):
- requests >= 2.31.0
- beautifulsoup4 >= 4.12.0
The application provides:
- Visual feedback through a GUI message box
- Console logging of all operations
- Summary of processed files, including:
- Number of renamed files
- Number of created folders
- Number of encountered errors