Add German FSK rating support for NFO files

- Add optional fsk field to TVShowNFO model
- Implement TMDB content ratings API integration
- Add FSK extraction and mapping (FSK 0/6/12/16/18)
- Update XML generation to prefer FSK over MPAA
- Add nfo_prefer_fsk_rating config setting
- Add 31 comprehensive tests for FSK functionality
- All 112 NFO tests passing
This commit is contained in:
2026-01-17 22:13:34 +01:00
parent fd5e85d5ea
commit 22a41ba93f
10 changed files with 756 additions and 111 deletions

View File

@@ -3,15 +3,18 @@
## Recent Updates
### Enhanced Setup and Settings Pages (Latest)
The application now features a comprehensive configuration system that allows users to configure all settings during initial setup or modify them later through the settings modal:
**Setup Page Enhancements:**
- Single-page setup with all configuration options organized into clear sections
- Real-time password strength indicator for security
- Form validation with helpful error messages
- Comprehensive settings including: general, security, scheduler, logging, backup, and NFO metadata
**Settings Modal Enhancements:**
- All configuration fields are now editable through the main application's config modal
- Organized into logical sections with clear labels and help text
- Real-time saving with immediate feedback
@@ -22,80 +25,80 @@ The application now features a comprehensive configuration system that allows us
## Authentication & Security
- **Master Password Login**: Secure access to the application with a master password system
- **JWT Token Sessions**: Stateless authentication with JSON Web Tokens
- **Rate Limiting**: Built-in protection against brute force attacks
- **Master Password Login**: Secure access to the application with a master password system
- **JWT Token Sessions**: Stateless authentication with JSON Web Tokens
- **Rate Limiting**: Built-in protection against brute force attacks
## Configuration Management
- **Enhanced Setup Page**: Comprehensive initial configuration interface with all settings in one place:
- General Settings: Application name and data directory configuration
- Security Settings: Master password setup with strength indicator
- Anime Directory: Primary directory path for anime storage
- Scheduler Settings: Enable/disable scheduler and configure check interval (in minutes)
- Logging Settings: Configure log level, file path, file size limits, and backup count
- Backup Settings: Enable automatic backups with configurable path and retention period
- NFO Settings: TMDB API key, auto-creation options, and media file download preferences
- **Enhanced Settings/Config Modal**: Comprehensive configuration interface accessible from main page:
- General Settings: Edit application name and data directory
- Anime Directory: Modify anime storage location with browse functionality
- Scheduler Configuration: Enable/disable and configure check interval for automated operations
- Logging Configuration: Full control over logging level, file rotation, and backup count
- Backup Configuration: Configure automatic backup settings including path and retention
- NFO Settings: Complete control over TMDB integration and media file downloads
- Configuration Validation: Validate configuration for errors before saving
- Backup Management: Create, restore, and manage configuration backups
- Export/Import: Export configuration for backup or transfer to another instance
- **Enhanced Setup Page**: Comprehensive initial configuration interface with all settings in one place:
- General Settings: Application name and data directory configuration
- Security Settings: Master password setup with strength indicator
- Anime Directory: Primary directory path for anime storage
- Scheduler Settings: Enable/disable scheduler and configure check interval (in minutes)
- Logging Settings: Configure log level, file path, file size limits, and backup count
- Backup Settings: Enable automatic backups with configurable path and retention period
- NFO Settings: TMDB API key, auto-creation options, and media file download preferences
- **Enhanced Settings/Config Modal**: Comprehensive configuration interface accessible from main page:
- General Settings: Edit application name and data directory
- Anime Directory: Modify anime storage location with browse functionality
- Scheduler Configuration: Enable/disable and configure check interval for automated operations
- Logging Configuration: Full control over logging level, file rotation, and backup count
- Backup Configuration: Configure automatic backup settings including path and retention
- NFO Settings: Complete control over TMDB integration and media file downloads
- Configuration Validation: Validate configuration for errors before saving
- Backup Management: Create, restore, and manage configuration backups
- Export/Import: Export configuration for backup or transfer to another instance
## User Interface
- **Dark Mode**: Toggle between light and dark themes for better user experience
- **Responsive Design**: Mobile-friendly interface with touch support
- **Real-time Updates**: WebSocket-based live notifications and progress tracking
- **Dark Mode**: Toggle between light and dark themes for better user experience
- **Responsive Design**: Mobile-friendly interface with touch support
- **Real-time Updates**: WebSocket-based live notifications and progress tracking
## Anime Management
- **Anime Library Page**: Display list of anime series with missing episodes
- **Series Selection**: Select individual anime series and add episodes to download queue
- **Anime Search**: Search for anime series using integrated providers
- **Library Scanning**: Automated scanning for missing episodes
- **NFO Status Indicators**: Visual badges showing NFO and media file status for each series
- **Anime Library Page**: Display list of anime series with missing episodes
- **Series Selection**: Select individual anime series and add episodes to download queue
- **Anime Search**: Search for anime series using integrated providers
- **Library Scanning**: Automated scanning for missing episodes
- **NFO Status Indicators**: Visual badges showing NFO and media file status for each series
## NFO Metadata Management
- **TMDB Integration**: Automatic metadata fetching from The Movie Database (TMDB)
- **Auto-Create NFO Files**: Automatically generate tvshow.nfo files during downloads
- **Media File Downloads**: Automatic download of poster.jpg, logo.png, and fanart.jpg
- **NFO Status Tracking**: Database tracking of NFO creation and update timestamps
- **Manual NFO Creation**: Create NFO files and download media for existing anime
- **NFO Updates**: Update existing NFO files with latest TMDB metadata
- **Batch Operations**: Create NFO files for multiple anime at once
- **NFO Content Viewing**: View generated NFO file content in the UI
- **Media Server Compatibility**: Kodi, Plex, Jellyfin, and Emby compatible format
- **Configuration Options**: Customize which media files to download and image quality
- **TMDB Integration**: Automatic metadata fetching from The Movie Database (TMDB)
- **Auto-Create NFO Files**: Automatically generate tvshow.nfo files during downloads
- **Media File Downloads**: Automatic download of poster.jpg, logo.png, and fanart.jpg
- **NFO Status Tracking**: Database tracking of NFO creation and update timestamps
- **Manual NFO Creation**: Create NFO files and download media for existing anime
- **NFO Updates**: Update existing NFO files with latest TMDB metadata
- **Batch Operations**: Create NFO files for multiple anime at once
- **NFO Content Viewing**: View generated NFO file content in the UI
- **Media Server Compatibility**: Kodi, Plex, Jellyfin, and Emby compatible format
- **Configuration Options**: Customize which media files to download and image quality
## Download Management
- **Download Queue Page**: View and manage the current download queue with organized sections
- **Queue Organization**: Displays downloads organized by status (pending, active, completed, failed)
- **NFO Integration**: Automatic NFO and media file creation before episode downloads
- **Manual Start/Stop Control**: User manually starts downloads one at a time with Start/Stop buttons
- **FIFO Queue Processing**: First-in, first-out queue order (no priority or reordering)
- **Single Download Mode**: Only one download active at a time, new downloads must be manually started
- **Download Status Display**: Real-time status updates and progress of current download
- **Queue Operations**: Add and remove items from the pending queue
- **Completed Downloads List**: Separate section for completed downloads with clear button
- **Failed Downloads List**: Separate section for failed downloads with retry and clear options
- **Retry Failed Downloads**: Automatically retry failed downloads with configurable limits
- **Clear Completed**: Remove completed downloads from the queue
- **Clear Failed**: Remove failed downloads from the queue
- **Queue Statistics**: Real-time counters for pending, active, completed, and failed items
- **Download Queue Page**: View and manage the current download queue with organized sections
- **Queue Organization**: Displays downloads organized by status (pending, active, completed, failed)
- **NFO Integration**: Automatic NFO and media file creation before episode downloads
- **Manual Start/Stop Control**: User manually starts downloads one at a time with Start/Stop buttons
- **FIFO Queue Processing**: First-in, first-out queue order (no priority or reordering)
- **Single Download Mode**: Only one download active at a time, new downloads must be manually started
- **Download Status Display**: Real-time status updates and progress of current download
- **Queue Operations**: Add and remove items from the pending queue
- **Completed Downloads List**: Separate section for completed downloads with clear button
- **Failed Downloads List**: Separate section for failed downloads with retry and clear options
- **Retry Failed Downloads**: Automatically retry failed downloads with configurable limits
- **Clear Completed**: Remove completed downloads from the queue
- **Clear Failed**: Remove failed downloads from the queue
- **Queue Statistics**: Real-time counters for pending, active, completed, and failed items
## Real-time Communication
- **WebSocket Support**: Real-time notifications for download progress and queue updates
- **Progress Tracking**: Live progress updates for downloads and scans
- **System Notifications**: Real-time system messages and alerts
- **WebSocket Support**: Real-time notifications for download progress and queue updates
- **Progress Tracking**: Live progress updates for downloads and scans
- **System Notifications**: Real-time system messages and alerts
## Core Functionality Overview