From c6d5d2e6dc45b1b98f85c01dda6687322c6b1046 Mon Sep 17 00:00:00 2001 From: SBCrumb Date: Sun, 21 Sep 2025 09:28:06 -0400 Subject: [PATCH] updates --- CHANGELOG.md | 199 --- CONFIGURATION.md | 45 - DEPLOYMENT.md | 181 --- Dockerfile | 60 - Emby-DLL/NFOGuard.Emby.Plugin.dll | Bin 1028608 -> 0 bytes LICENSE | 36 - Project.md | 360 ----- README.md | 390 ----- RELEASE_NOTES_v1.5.5.md | 37 - SETUP.md | 153 -- SUMMARY.md | 496 ------- TESTING.md | 183 --- VERSION | 1 - bulk_update_movies.py | 144 -- clients/external_clients.py | 597 -------- clients/radarr_client.py | 534 ------- clients/radarr_db_client.py | 646 --------- clients/sonarr_client.py | 286 ---- core/database.py | 274 ---- core/logging.py | 53 - core/nfo_manager.py | 565 -------- core/path_mapper.py | 105 -- debug_path_mapping.py | 81 -- debug_webhook_isolation.py | 127 -- debug_webhook_issue.py | 96 -- docker-compose.example | 165 --- docker-compose.example.yml | 40 - docs/DOCKER_HUB_SETUP.md | 89 -- nfoguard.py | 2218 ----------------------------- projectsummary.md | 321 ----- requirements.txt | 8 - 31 files changed, 8490 deletions(-) delete mode 100644 CHANGELOG.md delete mode 100644 CONFIGURATION.md delete mode 100644 DEPLOYMENT.md delete mode 100644 Dockerfile delete mode 100644 Emby-DLL/NFOGuard.Emby.Plugin.dll delete mode 100644 LICENSE delete mode 100644 Project.md delete mode 100644 README.md delete mode 100644 RELEASE_NOTES_v1.5.5.md delete mode 100644 SETUP.md delete mode 100644 SUMMARY.md delete mode 100644 TESTING.md delete mode 100644 VERSION delete mode 100644 bulk_update_movies.py delete mode 100644 clients/external_clients.py delete mode 100644 clients/radarr_client.py delete mode 100644 clients/radarr_db_client.py delete mode 100644 clients/sonarr_client.py delete mode 100644 core/database.py delete mode 100644 core/logging.py delete mode 100644 core/nfo_manager.py delete mode 100644 core/path_mapper.py delete mode 100644 debug_path_mapping.py delete mode 100644 debug_webhook_isolation.py delete mode 100644 debug_webhook_issue.py delete mode 100644 docker-compose.example delete mode 100644 docker-compose.example.yml delete mode 100644 docs/DOCKER_HUB_SETUP.md delete mode 100644 nfoguard.py delete mode 100644 projectsummary.md delete mode 100644 requirements.txt diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 9ae32b8..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,199 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -## [Released] - v0.6.0 - 2025-09-11 - -### Added -- **๐Ÿ“บ Enhanced TV Show Processing**: Comprehensive single season/episode capabilities - - **Single Season Processing**: `/tv/scan-season` endpoint for targeted season updates - - **Single Episode Processing**: `/tv/scan-episode` endpoint for individual episode handling - - **URL-Safe Endpoints**: JSON-based API calls avoid URL encoding issues with spaces/special characters - - **Enhanced Path Detection**: Automatically detects season directories and episode files - - **Database Integration**: Full episode date tracking and retrieval with `get_episode_date()` -- **๐ŸŽฌ Rich NFO Generation**: Full metadata integration from Sonarr API - - **Episode Titles**: Real episode names from Sonarr instead of generic S01E01 format - - **Plot Summaries**: Episode descriptions for better library browsing experience - - **Runtime Data**: Episode duration information for media players - - **Rating Integration**: IMDb ratings and vote counts for episodes - - **Backwards Compatible**: Existing basic NFOs still work, enhanced when Sonarr API available -- **โฐ NFOGuard Timestamps**: All NFO files now include processing timestamps - - **Creation Tracking**: Shows when NFOGuard created/updated each NFO file - - **Format**: `` - - **Audit Trail**: Helps track metadata management history -- **๐Ÿ”ง Enhanced TV Manual Scan**: Smart path detection for seasons and episodes - - **Season Detection**: `curl -X POST "manual/scan?path=/media/TV/Series/Season 13"` - - **Episode Detection**: `curl -X POST "manual/scan?path=/media/TV/Series/Season 13/episode.mkv"` - - **Automatic Processing**: Detects context and processes accordingly -- **โš™๏ธ Configurable TV Webhook Processing**: Choose between targeted or comprehensive processing - - **Targeted Mode**: `TV_WEBHOOK_PROCESSING_MODE=targeted` (default) - Only process webhook episodes - - **Series Mode**: `TV_WEBHOOK_PROCESSING_MODE=series` - Process entire series directory - - **Smart Fallback**: Automatically falls back to series mode when episode data unavailable - - **Efficiency**: Targeted mode reduces unnecessary file operations and notifications -- **๐Ÿ” Secure Configuration System**: Two-file configuration with automatic API key masking - - **Main `.env`**: Paths and preferences (safe to share for debugging) - - **Separate `.env.secrets`**: API keys and passwords (never committed to git) - - **Automatic Loading**: Both files loaded at startup with python-dotenv - - **Log Security**: API keys automatically masked in all log output - - **Git Protection**: Updated .gitignore prevents accidental commits of sensitive data -- **๐Ÿง  Smart Date Validation**: Intelligent release date selection with configurable gap detection - - **Automatic Detection**: Prefers theatrical dates when digital/physical are unreasonably late - - **Configurable**: `MAX_RELEASE_DATE_GAP_YEARS=10` (default: 10 years maximum gap) - - **Example**: "The Craft (1996)" prefers 1996 theatrical over 2022 physical release - - **Toggle**: `ENABLE_SMART_DATE_VALIDATION=true` to enable/disable feature -- **๐Ÿงน Repository Cleanup**: Removed legacy and duplicate files - - **Removed**: `media_date_cache.py`, `webhook_server.py` (replaced by nfoguard.py) - - **Removed**: Outdated documentation files (`API_ENDPOINTS.md`, `MIGRATION.md`, `STRUCTURE.md`) - - **Streamlined**: Cleaner codebase with only essential files -- **๐ŸŽฏ Configurable Release Date Priority System**: Revolutionary smart fallback for manual imports - - **Configurable Priority Order**: `RELEASE_DATE_PRIORITY=digital,physical,theatrical` (customizable) - - **Digital Releases**: VOD/streaming dates (Netflix, iTunes, etc.) - TMDB type 4 - - **Physical Releases**: DVD/Blu-ray dates - TMDB type 5 - - **Theatrical Releases**: Cinema release dates - TMDB type 3 - - **Smart Comparison Logic**: Prevents unrealistic dates (won't use 2000 digital for 1983 movie) - - **Per-Movie Intelligence**: "The Craft (1996)" gets 1996 theatrical, "Top Gun Maverick (2022)" gets digital - - **Configuration**: `PREFER_RELEASE_DATES_OVER_FILE_DATES=true` replaces old digital-only setting -- **๐Ÿ”‡ File Date Fallback Control**: New option to completely disable file date usage - - **Configuration**: `ALLOW_FILE_DATE_FALLBACK=false` (default: false) - - **Behavior**: Movies with no release dates get skipped instead of using file dates - - **Clean Logs**: Eliminates "Using file dateAdded as fallback" warnings -- **Enhanced Debug Endpoints**: - - `/debug/movie/{imdb_id}/priority` - Shows date selection logic and available sources - - Detailed analysis of file date vs digital date decisions -- **Complete API Documentation**: Updated README with all curl commands and response examples -- **Testing Infrastructure**: - - `test_bulk_update.py` - Database connection validation - - `test_movie_scan.py` - Directory scanning logic testing - - `test_end_to_end.py` - Complete workflow validation -- **External API Integration**: - - TMDB API for digital release dates - - OMDb API for DVD/digital release dates - - Jellyseerr integration for additional digital release data -- **Deployment Documentation**: - - `SETUP.md` - Secure configuration setup guide - - `DEPLOYMENT.md` - Complete Docker deployment guide - - `TESTING.md` - Testing strategy and troubleshooting - - `.env.template` - Clean main configuration template - - `.env.secrets.template` - Secure secrets configuration template - - `docker-compose.yml` - Production-ready deployment with volume mounts - -### Changed -- **Configuration Management**: Secure two-file system replaces single .env approach - - **Separated Concerns**: Main config (.env) vs sensitive data (.env.secrets) - - **Enhanced Security**: API key masking and git protection built-in - - **Docker Integration**: Updated docker-compose.yml with proper volume mounts -- **Movie Priority Logic**: Enhanced `import_then_digital` to intelligently handle file date fallbacks -- **README.md**: Complete rewrite with secure configuration examples and curl commands - -### Fixed -- **Manual Import Handling**: Movies manually imported to Radarr now use digital release dates instead of file modification dates -- **Path Configuration**: Fixed hardcoded media paths, now fully configurable via environment variables -- **Debug History Endpoint**: Fixed endpoint showing wrong movie events (still needs database-only implementation) - -### Technical Details -- Maintains full backward compatibility with existing configurations -- Smart date comparison algorithm considers theatrical release dates when available -- Environment variable validation and fallback to sensible defaults - -# Changelog - -## [0.5.1] - 2025-09-08 - -### Changed -- **BREAKING**: RadarrClient now operates in DATABASE ONLY mode -- Completely eliminated Radarr API usage for movie lookups and import date detection -- All movie operations now use direct database queries exclusively -- Debug endpoints updated to use database-only methods -- Enhanced error messaging when database access is not configured - -### Fixed -- Fixed debug endpoint still calling API methods despite database availability -- Removed all API fallback mechanisms for true database-only operation - -## [0.5.0] - 2025-09-08 - -### Added -- **Major Performance Enhancement**: Direct Radarr database access - - New `RadarrDbClient` class for high-performance database queries - - Support for both SQLite and PostgreSQL Radarr databases - - Eliminates API pagination overhead for import date lookups - - Up to 10x faster movie import date detection -- **Bulk Operations**: Added bulk import date queries for multiple movies -- **Database Configuration**: New environment variables for database connection - - `RADARR_DB_TYPE` (sqlite/postgresql) - - `RADARR_DB_HOST`, `RADARR_DB_PORT`, `RADARR_DB_NAME` for PostgreSQL - - `RADARR_DB_USER`, `RADARR_DB_PASSWORD` for PostgreSQL authentication - - `RADARR_DB_PATH` for SQLite databases - - `RADARR_DB_URL` connection string support -- **Testing Suite**: Added performance comparison test script (`test_db_performance.py`) - -### Changed -- **RadarrClient Enhanced**: Automatic database client initialization with API fallback -- **Movie Lookup Optimization**: Database-first approach for movie IMDb ID resolution -- **Import Date Detection**: Optimized SQL queries replace complex API event parsing -- **Dependencies**: Added `psycopg2-binary` for PostgreSQL support - -### Technical Details -- Database queries use proper SQL joins for efficient data retrieval -- Maintains full backward compatibility with API-only installations -- Graceful fallback to API methods when database access is unavailable -- Support for both connection strings and individual parameter configuration - -## [0.4.1] - 2025-01-09 - -### Fixed -- **Radarr Client**: Fixed event type parsing for string-based event types (grabbed, downloadFolderImported, etc.) -- **Radarr Client**: Improved grab event detection to filter out library addition events and only count actual download grabs -- **Radarr Client**: Fixed JSON parsing errors when handling event data that's already a dictionary -- **Radarr Client**: Enhanced validation of grab events to require download metadata (sourceTitle or indexer) - -### Improved -- **Radarr Client**: Better chronological event processing to find earliest actual download dates -- **Radarr Client**: More accurate import date detection by validating grab events have real download information - -## [0.4.0] - 2025-01-08 -### Changed -- Switched to using Radarr's numeric event types for more reliable import detection - - Added constants for EVENT_TYPE_GRABBED (1), IMPORTED (3), etc. - - Removed legacy string-based event type checks - - Improved event type parsing and validation -### Changed -- Added documentation for Radarr API event types (1=grabbed, 3=imported) -- Improved event type detection using Radarr's internal event type IDs -- Removed old string-based event type checks in favor of numeric IDs - -## [0.3.8] - 2025-09-08 -### Changed -- Use Radarr's numeric EventType (3="Imported") for more accurate import date detection -- Simplified history processing logic - -## [0.3.7] - 2025-09-08 -### Changed -- Improved import date detection by tracking grab dates as fallback -- Added warning when falling back to grab date - -## [0.3.6] - 2025-09-08 -### Changed -- Improved import detection filtering -- Reduced debug noise for non-import events -- Enhanced logging clarity for import matches -- Added more context to import event messages - -## [0.3.5] - 2025-09-08 -### Changed -- Improved Radarr import detection to handle more cases -- Added support for downloadFolderImported events -- Enhanced path matching with better character cleaning -- Added fuzzy title matching by removing articles -- Reduced debug noise by only logging relevant matches - -## [0.3.4] - 2025-09-08 -### Changed -- Added downloadFolderImported event support -- Improved path matching flexibility - -## [0.3.3] - 2025-09-08 -### Changed -- Added flexible path matching -- Added sourcePath support -- Initial support for title/year matching \ No newline at end of file diff --git a/CONFIGURATION.md b/CONFIGURATION.md deleted file mode 100644 index 923a431..0000000 --- a/CONFIGURATION.md +++ /dev/null @@ -1,45 +0,0 @@ -# NFOGuard Configuration Guide - -## โš ๏ธ IMPORTANT: All paths must be configured via environment variables - -NFOGuard has **zero hardcoded paths** - everything must be explicitly configured in your environment variables to match your specific setup. - -## Required Environment Variables - -### Media Paths (REQUIRED) -```bash -# Container paths (what NFOGuard sees inside the Docker container) -MOVIE_PATHS=/your/container/movie/path1,/your/container/movie/path2 -TV_PATHS=/your/container/tv/path1,/your/container/tv/path2 - -# External service paths (what Radarr/Sonarr see on the host) -RADARR_ROOT_FOLDERS=/host/radarr/path1,/host/radarr/path2 -SONARR_ROOT_FOLDERS=/host/sonarr/path1,/host/sonarr/path2 -``` - -### Example Configuration -```bash -# For a typical setup: -MOVIE_PATHS=/media/Movies/movies,/media/Movies/movies6 -TV_PATHS=/media/TV/tv,/media/TV/tv6 -RADARR_ROOT_FOLDERS=/mnt/unionfs/Media/Movies/movies,/mnt/unionfs/Media/Movies/movies6 -SONARR_ROOT_FOLDERS=/mnt/unionfs/Media/TV/tv,/mnt/unionfs/Media/TV/tv6 -``` - -### Database & Logging -```bash -DB_PATH=/app/data/media_dates.db -LOG_DIR=/app/data/logs -``` - -## Path Mapping Logic -1. Webhook receives path from Radarr: `/mnt/unionfs/Media/Movies/movies6/Movie...` -2. Matches against `RADARR_ROOT_FOLDERS[1]`: `/mnt/unionfs/Media/Movies/movies6` -3. Maps to corresponding `MOVIE_PATHS[1]`: `/media/Movies/movies6` -4. Final container path: `/media/Movies/movies6/Movie...` - -## Zero Hardcoded Paths -- โœ… No default fallback paths -- โœ… Application fails with clear error if paths not configured -- โœ… Works with any folder structure -- โœ… Completely portable between environments \ No newline at end of file diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md deleted file mode 100644 index 3e058e2..0000000 --- a/DEPLOYMENT.md +++ /dev/null @@ -1,181 +0,0 @@ -# NFOGuard Deployment Guide - -## ๐Ÿš€ Quick Start for Docker Deployment - -### Step 1: Environment Configuration -```bash -# Copy the environment template -cp .env.template .env - -# Edit with your specific paths and database credentials -nano .env -``` - -**Key variables to customize in `.env`**: -```bash -# YOUR MEDIA PATHS (adjust these to your setup) -TV_PATHS=/media/TV/tv,/media/TV/tv6 -MOVIE_PATHS=/media/Movies/movies,/media/Movies/movies6 -HOST_MEDIA_PATH=/mnt/unionfs/Media - -# YOUR RADARR DATABASE PASSWORD -RADARR_DB_PASSWORD=your_actual_password_here -``` - -### Step 2: Deploy with Docker Compose -```bash -# Start NFOGuard -docker-compose up -d - -# Check logs -docker-compose logs -f nfoguard -``` - -### Step 3: Test Database Connection -```bash -# Test Radarr database connectivity -curl -X POST "http://localhost:8080/test/bulk-update" - -# Expected response: -# {"status": "success", "movies_with_imdb": 1500, "database_type": "postgresql"} -``` - -### Step 4: Test Movie Discovery -```bash -# Test that your movie paths are correctly configured -curl -X POST "http://localhost:8080/test/movie-scan" - -# Expected response: -# {"status": "success", "message": "Movie scan test found 1500 movies", -# "path_results": [{"path": "/media/Movies/movies", "exists": true, "movies_found": 800}, ...]} -``` - -### Step 5: Validate Database Performance -```bash -# Test the optimized database query performance -curl "http://localhost:8080/debug/movie/tt1674782" - -# Expected response with July 2025 date: -# {"detected_import_date": "2025-07-08T03:30:04+00:00", "import_source": "radarr:history.import"} -``` - -## ๐Ÿ“Š Production Workflow - -### Manual Operations (via webhooks) - -**1. Manual Movie Scan** -```bash -curl -X POST "http://localhost:8080/manual/scan?scan_type=movies" -``` - -**2. Bulk Update All Movies** -```bash -curl -X POST "http://localhost:8080/bulk/update" -``` - -**3. System Health Check** -```bash -curl "http://localhost:8080/health" -``` - -**4. Database Statistics** -```bash -curl "http://localhost:8080/stats" -``` - -**5. Debug Specific Movie** -```bash -curl "http://localhost:8080/debug/movie/tt1674782" -``` - -### Radarr Webhook Integration - -**Add to Radarr โ†’ Settings โ†’ Connect โ†’ Webhook:** -- **Name**: NFOGuard -- **URL**: `http://nfoguard:8080/webhook/radarr` -- **Method**: POST -- **Events**: On Download, On Upgrade, On Rename - -NFOGuard will automatically process movies when Radarr sends webhooks. - -## ๐Ÿ”ง Environment Variables Reference - -### Required Variables -| Variable | Description | Example | -|----------|-------------|---------| -| `MOVIE_PATHS` | Comma-separated movie directories | `/media/Movies/movies,/media/Movies/movies6` | -| `TV_PATHS` | Comma-separated TV directories | `/media/TV/tv,/media/TV/tv6` | -| `RADARR_DB_HOST` | Radarr PostgreSQL host | `radarr-postgres` | -| `RADARR_DB_PASSWORD` | Radarr database password | `your_password` | - -### Optional Variables -| Variable | Default | Description | -|----------|---------|-------------| -| `HOST_MEDIA_PATH` | `/mnt/unionfs/Media` | Host path mounted to `/media` | -| `DB_PATH` | `/app/data/media_dates.db` | NFOGuard database location | -| `MANAGE_NFO` | `true` | Create/update .nfo files | -| `FIX_DIR_MTIMES` | `true` | Fix file modification times | -| `MOVIE_PRIORITY` | `import_then_digital` | Date preference strategy | -| `DEBUG` | `false` | Enable debug logging | - -## ๐Ÿ— Docker Compose Customization - -**For different media structures:** -```yaml -# Example: Different media structure -services: - nfoguard: - environment: - - TV_PATHS=/storage/tv_shows,/storage/anime - - MOVIE_PATHS=/storage/movies - volumes: - - "/storage:/storage:rw" - - "./data:/app/data" -``` - -**For external database networks:** -```yaml -# Example: Connect to existing Radarr network -services: - nfoguard: - networks: - - radarr_network - -networks: - radarr_network: - external: true -``` - -## ๐Ÿ›  Troubleshooting - -### "0 movies processed" -1. Check paths: `curl -X POST "http://localhost:8080/test/movie-scan"` -2. Verify environment variables in `.env` -3. Ensure directories exist and have IMDb tags: `Movie Name [imdb-tt1234567] (2023)` - -### Database connection errors -1. Test connection: `curl -X POST "http://localhost:8080/test/bulk-update"` -2. Verify `RADARR_DB_*` variables -3. Check Docker network connectivity - -### Performance issues -1. Check health: `curl "http://localhost:8080/health"` -2. Monitor logs: `docker-compose logs -f nfoguard` -3. Verify database query performance: `curl "http://localhost:8080/debug/movie/tt1674782"` - -## ๐Ÿ“ˆ Monitoring - -**Health Check Endpoint**: `GET /health` -- Server status and uptime -- Database connectivity -- Radarr database status - -**Statistics Endpoint**: `GET /stats` -- Movie/TV counts -- Processing statistics - -**Batch Queue Status**: `GET /batch/status` -- Pending webhook events -- Processing queue status - -This deployment approach ensures NFOGuard can be easily configured for any media server setup while maintaining the database-only performance optimizations. \ No newline at end of file diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 868805b..0000000 --- a/Dockerfile +++ /dev/null @@ -1,60 +0,0 @@ -FROM python:3.11-slim - -# Set environment variables -ENV PYTHONDONTWRITEBYTECODE=1 \ - PYTHONUNBUFFERED=1 \ - PYTHONIOENCODING=utf-8 - -# Install system dependencies including PostgreSQL client libraries -RUN apt-get update && apt-get install -y \ - curl \ - libpq-dev \ - gcc \ - && rm -rf /var/lib/apt/lists/* - -# Create app user and directory -RUN useradd --create-home --shell /bin/bash app -WORKDIR /app - -# Copy requirements and install Python dependencies -COPY requirements.txt . -RUN pip install --no-cache-dir --upgrade pip && \ - pip install --no-cache-dir -r requirements.txt - -# Copy application code -COPY . . - -# Copy DLL to a dedicated directory and create entrypoint script -RUN mkdir -p /app/emby-plugin && \ - cp /app/Emby-DLL/NFOGuard.Emby.Plugin.dll /app/emby-plugin/ && \ - echo '#!/bin/bash' > /app/deploy-plugin.sh && \ - echo 'if [ -d "/emby-plugins" ]; then' >> /app/deploy-plugin.sh && \ - echo ' echo "Deploying NFOGuard Emby Plugin to mounted directory: /emby-plugins"' >> /app/deploy-plugin.sh && \ - echo ' cp /app/emby-plugin/NFOGuard.Emby.Plugin.dll /emby-plugins/' >> /app/deploy-plugin.sh && \ - echo ' echo "Plugin deployed successfully!"' >> /app/deploy-plugin.sh && \ - echo 'elif [ -n "$EMBY_PLUGINS_PATH" ] && [ -d "$EMBY_PLUGINS_PATH" ]; then' >> /app/deploy-plugin.sh && \ - echo ' echo "Deploying NFOGuard Emby Plugin to: $EMBY_PLUGINS_PATH"' >> /app/deploy-plugin.sh && \ - echo ' cp /app/emby-plugin/NFOGuard.Emby.Plugin.dll "$EMBY_PLUGINS_PATH/"' >> /app/deploy-plugin.sh && \ - echo ' echo "Plugin deployed successfully!"' >> /app/deploy-plugin.sh && \ - echo 'else' >> /app/deploy-plugin.sh && \ - echo ' echo "No Emby plugins directory found - skipping plugin deployment"' >> /app/deploy-plugin.sh && \ - echo ' echo "To enable plugin deployment, bind mount your Emby plugins directory to /emby-plugins"' >> /app/deploy-plugin.sh && \ - echo 'fi' >> /app/deploy-plugin.sh && \ - echo 'exec python nfoguard.py' >> /app/deploy-plugin.sh && \ - chmod +x /app/deploy-plugin.sh - -# Set ownership -RUN chown -R app:app /app - -# Switch to app user -USER app - -# Health check -HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ - CMD curl -f http://localhost:8080/health || exit 1 - -# Expose port -EXPOSE 8080 - -# Run the application with plugin deployment -CMD ["/app/deploy-plugin.sh"] \ No newline at end of file diff --git a/Emby-DLL/NFOGuard.Emby.Plugin.dll b/Emby-DLL/NFOGuard.Emby.Plugin.dll deleted file mode 100644 index c21545562d3a8c5df4b23f57ab35564051749c86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1028608 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

C{-6?ibFgXJ>jJmP_9VL3wKjt!c^Oc|c# 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 z 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%0AA+tfdL#160#6QqXb0Sgg%_ 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 z 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 z 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�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 GDbg=;HJaiAX%;ey;}Mw^ z;zc@Cdi6uRD8R5;TtwN0z!XLG8VVHadWr=RUNB8k*0!Fr@eQW?NU(2AB}_CT97|}P z8M9GJy3nXpl+}y`24rxhvc%Cf!=%we_cIV?)bHl3ID>*A3R*XT_EgR;dSsa%VEcR& zijmsnT998v{|y1q927!}ax|rUb2@Ft6C*?-<+nrw(=w;|Xu4xHA8eXJ>4C)ktT!uu zQ|OKkv$F8DKr-S6Y;?zF<7DY3LetjI@1!0se%A~P^IcOqP2gf`+36XWDc+%-qQ)o^ zU5FuuDvkwL)rd*r{XPRMyo8uPMRXFR&hK%nn3IOhaCJ=}q$7&Tq7W}Jp>(hi^C&70 z@r5Z>1VQtZ5B-J}*F5R&*i5rDXugu5xIn*qTDmCCA82n(5$<{tv9$@OY6m!S;ai|^ zXX4;ZW<%z)zQ`|IR5~R*W?X^Ch-+EmTtXwM5KSnNpBdPy%%)ICf{CM%vHQtRi`vcc~wY)V$C4hsJn@R40XIQY3@5o#B=LDls~R}lg=tdK#e1KNoowsYBQ zo4ovlylRR)HFXABtvmtdIw0qbKmV}BH?atOu7jzJCMQKX&xcql z9mf8-IrET_Z*4kLbqPEMbeA)%nH67OQ8Ye8#mY&|H&c;J(}6F3zX2_*Y2=iO{Cx9X zPYypUPkPT-1yuT(^~zSFm?9yaX|({g{y>B!dX}f_GPlSCG-(IDx092T(!4Z|t^box z|Ktb!joa44(IR@r;N8t^jN@1jK%iOcJtEfQimx6U)D4c-l+qj#9-E>{ zxO>y#6eTP?3nL(vTh((OfGsDd`|Gz}yYv26@3?b!{dzxH0wdXJ*%*l(M0+FURax62 z0B0VoMYKSZPn-TK6m>R3U_=b}<2c-m4 zZLV(^7nG|!VhngS#Ym|C!#zyFh%7yiLCq{=H&fh-SSg{s0mP}wlTM zu{k1q)uyPvi$Xrg-YPncaM!lljW#`>Wt=|S-4MEufIJ&1e-V<)TL?i?Oex51nqWyF zvh`MPlw*Q|??iqGU$;CbHZbtbTm{Ze*?~g8d&ey4=x}v;1P^BKUE--EU_LZBT3Z|kwr1y7?g7eRPsm(6vLnDB>WOBTe zVBH891V*Zg-GpjP~n6ZCtEL+uWzdQl)b~LFs zYp|++%DoF|ko<*`b&aHahj|1qx$9HAWBa>SiI>O%H>n1y$ohSj?P`RODAa4^G)(zn z?nU3H;3{xys2m@am`#DnG+b>ybK^CzDNN#U)#v4#SS}LBWAa+jO6OJ`g0v66&t{I6 z5Tw=TF}*_83DB<4)ESAqnwKnE>CnvCcrX&1PC$;I0iZzi-b?yuhulq#ZV>1qkAVjV z0eisxZvVW`e&jliV;w$X9M{A7A=c5tjF>N1r}f^JT|c|BZ`KDgmSu%ka<5F5Gy{q27lK@S1u%RKGmS`w*J$E94?h0SmWvc%UsOSI=&_?aCbwxN_U=%h{FIdIws$|h-{p9-Y%8mV%8~yC6ExTp6kKPY%X1mwE z<`2K=>!1FJPx-9JKH+J<`P;9)IIO|4?7}t$exzE1moZzjoHS&E#_;O+1w-DbK{s0! zp`LyfjW%r;3h{3aBlVjHF4I<#l36&ipsEo{CgL|Kim7{5Gdc}_4pd+UoafeFloSZU z0y*xo7YU?Pt-_`zCOS&9$^}zNZvf9mpFuT@LcfC9nE%*l3DLKq4& zA?dj6Up#HL+>E-O?ruZ6W$7~fR0trn{;VOK04rqMQK7(mSOiJhsQ53Y zhaf+Hf_^|pJpLL|qJEO6G%+kC&nN6666PA0(`ZDtQRt-t7P9u2US>4D?%PPToUYJJ zjF+^4=@-I{GPS8$^n%)&3D@%#+g!_L9;qJ$cQ;OsWR#F8)PB8=c1e8BrzjpZ<&C$* zS-0(S5LkA~#Aaz|2sKHu$(q_IHjbkfh00X~sT8BMwXN7-5++F{F-P4slkku#pv}TW z{@z9!0JJX5XRKT_K7D!%?0cZ>74wNQDXnvgWQjE0u0fBkAgNWrn2rXBp5)2Z;WEgz zX=<9D-)y4lDcz|vAfc;>6enAR_->gGPX%UNYnY++oHI+8INI1ORqaHZ#In@>awje| z8#by>fhx{rTSzp|b{=@kRBx$=wmCqxajleKMD{WRQ1SSLacLQYetniILO4`XjM=AO z!;oXX0pH@mlysyf%?^SoqG^?RRwh4wQxBk^OTE`@)0CiQDl$oIdmO>6Pcspt{0^YQ z%owX4Ip~}(!!rTCH#Tn}d{idB#={qk&G}U-69KFm0KYHHJ-G7#kOfIm1yVtmLUvt; z8l*qxN*b{76KF-E(%ebx=6?XlL|jy(OhAz!hede&i_iJ=-ELV(BKG~R#aR7#^z}H_ zV+QT@87UUT9Kv;OTbqPnnd{)7EvOoaf{BZCwTJO!e zJCJ`xR=Y7DVi;rO*5|ncd;dg49L_I}7dOpDxVOOJus-DpU-I-PJ$8fx79++wU>U?s zFABYNL+tvpnmzt0-~Q5<{nqWb-QvxThjDT9xb&s<7Jv_Lz31TwVq>ZX1uN0U6>E<0}(0*H!wn+i79W=^c5%p0u~;Q+N5K(IhY`wQ7A#bgMbP&RY}9yC)&Mjxi$R+J~lX&rOZHg5xo zR82e?s~2MP$24m`oDf`3Q8?KEv?ViwS*$pr9&Nfr#c5A1&3&GiOc-K=PzgEGl=WsN zhRh}_Zo*ooJhm0%$PC3zBI!$`_RDUP3qnkPLk^Xuz+n>HqjfV4kD>7lvqH`cD#fIy z6tag+r!@bf*e8Yn#$b(#aKjczD+wS#MzokfetHqD36yG$l>d)nFgGPPh*fMuVDVY_ zH^&BpXjPYfv~v=dIx7%#Z|q8p3M~uI@q_8OXx4P(id)84pos(HRsUhNlmJSD=r80C z_=cFKmDi!I(h6-HpD!&V&NmqAkn0(wCmIBj`9DfCJwCNpk?<9WOcw+O@|OgVH@Yk$Tej7vY5-y~$gwNeI+aMqFhV?ug4$FwMWvMw zR%@FazR-kof@65)P^M(KYREifSFmx91j`hy*~0kn`JLI_6qLZ}2!|XFDOTImpAbFD zg@8g(3@Vfi=4z2#4nsx-1f(V2DYQ)fYjEH>oxCG%eIs=(N1fV-$114ZfGm;Z!KDAu zm=J^TeVg+o%1_Bj#Ux#fsSeDLrL-Ug0tog7r^gsk;kukx3nO(W*DmTg1O-)26lJ*( zs^`hmW1ujEJNaW9KtD|>z0?RqGjmeClO=`Tvr>&ob0fm?)%{~W;zK|25r602dv6{O zYZk~JvnNmXZ}HK43-|RnV#MqIzc)LaDZjz?F?6ND<>Rtv!;(}mG7?E+g~7snjW_e@|V5*Up@A#KjD);?b-kS`NuIrePeQh?y;_83=gn=ZB(*dgq>RGI_qcQfP|AY1kg6sHsO*}FxuoqWYb%gbZzbFW=HpeP1H1I2-vX@? zmo#T;lTf}fm|_=)qQt@9%DiQL&oDpa$>oEzUZ|65Dce=sP+@B5X)^Xo;qc zz@`?KilRCa*&Irg;o~U`{X^K9F^L!>)5nP+o0&ExrVQ1vN_uk*i9rJ8n8`d9TtWd` zA4xmT9tH|1)BaY`0YV-BTH61O>R+$gJqa2MKzwKL_v=se6~K6JCjFEbchMi3n0Nz zZNhSVo7X6T5~YcW_U1v&@Pt+w0O=XTKs@T@8|aucsZ!x5ZhtKwribK1Z_zXXh>)Z&vP|8Ddnyis~NcG89oh$-Kzfs(X*2<*j9!Hc{ zVZHbLZufOx{YB_4A$UYAy9EtChL7-djCEBWJYMyh|2LcT_pUnw%h;!M(mRQ02=nMs zCX=8v&;rZ8x26B#8{XWTS!;di)+`!&YaZqU5vFxB0OYA#bBC|dtgq|Zm)3W-J2`PQ zpnu1=KIs`xe%$cUjNm(4Tn_hej1kMSxQ}I7Vp*Q}tndDz7rpq_8#fNCUmVus&BM}L zgPXhin$7Yo z_h!4EfGTJjB8FSQJiua}h`h-vR7uWAL#nMj)=7<75xnAxS=u7LNHd#qxv4O9@ObJ& zlsOMKv*8}$8RBm}qpvYJuI6S6ml#65J`>;%kyM9M-GsXRh|nTEEG!fVl95t|$YBG# zisJ!;=M~p7LlKtQ9!0{bC>`dhr-8OC%hhXFZolK~wmWxMuJxV4yv4}$0X&*@GmFOR ztV~t4ye+T+UHpZB=zCPs2pE$mG>W9^1tOxUcCs&vg)Pgn>`q{NU-74Jc+-El`v>0r z?)Rj|j+##a4lu5f8)ejNf`%4(iAMs`w47<0J^Mo=uT4#Tl_!tp1cSuj46^d54?S9e z41&n4nddzlfQ7FLcxCg6CYRNv*j=(`X41xpqPeD)22EGhDOq0iXtMho`^5~lZH!bX z5;Sp6S?atmCCcd)VGU#`<L}i#iv0BK{fard_UJ zXzh@Gz5Z37Lr6VH{X(I6LEs6Mh;>blXWQy1;-8YDK`o>g!MOG zWviICNuEOHU8 z@wd%*raQWkg>u>w9P65md7<~^=SRIa$Dh3alqDGho4J|cF*dnr6E`Bjsygr(n|g(Y zkXHUy(*+>8qT8@kY>yVKHOq$Uc?jy3BF~!v`E7T3{FIeIxaZANW%e{BrT7@Fse=^q zF<`BK+9y8zAAG{c`SB1QiF?KvVbPZkOGb(#qWAWy*SzjcZ~2Sjy4h6Tp+ju*s%J`L zi=hK%kqt~^jPt|Auf5`bdPKy4*%*Uth~eRxTVN~FQW2(uJk~Le>w0lmfQy6Q?|yf@ z@IQXr*L?XGUK}o3UjTELv8JrXvb5uRSdZi8@%W^>zUzm7^rx5J9ntr_n_aoGAAa1Q zwDXIbaa@lV$M8TTRbyB#NO)hCfbEyv>t6qs|Mi+T?3*1f&YSgh9loxx=)IYlXB*14 z1Pyw&XH6@^Bj?U)R9^X;8Z}jl2c~r-l5-!F>WHi@HZz`x3hxWXP%(xVD=_o+02|=) zJHx>w7AfZjtSk2+jm8*00ha)Q=QOA|Jh8jkY}Jqz8WjRaLk)<}P-0RXRKVC%mq)^^ z`s<8zX&e}9)?=EFj9IY|pzZdjx88c?_6MBZen&gIVwtM&f+c~*czn7n!PvBiA_Xlw zAQ?tPUPng#8Z8D3cN}g#YWXmRk2RWE-z~fS?&NHY@UR=#Zvlb*rf0(hNQ_O&k>`<2 zcgcF*Fu>ETdl(!^#!;JrOuhK<2mxZM0`}6OhD#HbYB>YD37FOVl=x8hS_T9VOLd48 zAYVrD?+{+38n|qGXrt2k-PBn%E3BBWkRmb^X~$%uVzYKux%a8hjru&>YR}p^LDe)n zYMxWMh19gYnci4ZYUE9{)&)8AkJ%?40#T5XD?W^JxwRoCubL*<>sCJAD@+F{A@YyEpeHMD6NE^k`-fok=)bzy+Zlo2+pykuj89 z=vQZFLrCXPj6&plPk*d~r9Cb&`y8kCzf4_@m{SUW)$&n1s^ z?z&>(8(kwK1crk6GS!?i_LwTpJQq(6Lw7#SD`N$>jbnuq@BTR z_HjqvGobC|O%7%Nh73)h?g2o6_W)p)f+d==3LE5titiCoKs#HXm#0yuP(+9V9Mme& zdTYIF#v8@xZib~TU-wmyIb0lCL~p$<&6@Srto6z;B!GP9yWaEjFMCB>+8BBL03inC z?par{3Y`SCydV|PFB{w55-AwE)~sm*wPSKf?R6 zBz$Zwx!uPI&+d+qZE!3j{btQJnc7GbH7hqZYEpK%bgz@&mPE*~*1F;>(ao~(G_9PG zC2ZDO7)ChdH)+pd@PQ2a#I)inooxyq8!|f0D09+*jAtXqs4LR5dJ9ou5n394XPOKe z>-1!Oc%_X*jm5}j47}f%-M3n^>@Af=oYoU7Ld7s)U%CDMC)aN6 zyG7+S<{quJT(_C+&g2`i<06%5%lu|$O^l@&S*Mt;fqVEGvAU1pF(TG=9M^RP2HYvP zt+Z!~e^NetYcevnxya3G8EdgnR!=}y>^;2i*X!?f`^ zTuEuIvbGtdo1Er}U|Q=fF^M$n##jXFSYi`>p-$jBhm_c+8$A>v1yUNz?3PCmrA5j) zkV>S=rJWMinhxjYI|@{B%V&Zj)w{7eR5omb5-}%PXm#tQ1h(}68&Ci->B%(PR^B6+ z81Z1F4D$Da3F>)X(lMZBAF*`_3XheCFrn54#~JbeBo38=febd!j$N9sK8y(<@z=0f zYXu>vB`u|G0$y@-X;mTY@$OH*001BWNklZ`awK8Wt8cI ziT3Kr471RMp01?uSCo_Bs?-r^6^7U7$fcRj=aLZsDPlH7S&+jnEqAT+^guE|D2HB$ zFAC)u&rdBzL~KZGC6`3x!G)$c%kvY!@EQ!oaSqR#&DO;g<>f(8g^gtT(kW*gSVD`+ zF}U({a`z$kU5Bk^SjUIjHo#tQqY~$G;*(+N?&{Yd?7VTALOMdR_D%n6;cCuv7Q2*a z*>)e(kJs!r&##r=h?4Y5fy!z3^Mz6z(u@f^Snku>(h}t53W~Ruo2wBR4R6dajIO(3 zpjQ|hlt4z)^7mQ`=$^IIL~ImG!%*Te&kkg0`MF3t$nBvNNShs>r zVX+hM6e{p7#*34iDO-h0RKXbuakhXdSO?-5upjtImUy|*9z&p-F>zq&8g!{K-g zN2Yty6$GNF9So3UJ2?Z)JcgNtJ9>ZNPyOuS{Gw%CV+{ZvY+ICF1|wpO)ePZ2jz>b^ofWyg!2SXQTu4o{o zJ;NHqvnOSPMY6+F4lNKZi7W=R-X#FE?-AfFu=$R>JOKt{wV%P7wT)q))x!}*)SIwS%Q!}iEQQG|{76`bhD>74L|~vrrlc6CC}n~eV?7?n@tA7;;^LT(Q#Lrt ztYmeEM~pETTMh1)I$VM={5-<0mX(e%GF(_pNNVdMyHfvj`5oc3#uHf@1aXB?xDJuf z-wIHsDK%pwNH?A63Q5pjhzgW&2lcrSi}dZZlaPli#Sh7qqEs8aAyg!cJMB)1?FPtl zMN}6@T$D{*x#u}74PK8)2T2Q;NM>X5h`3}^xoB3)sd#*asQI&j3Ou1X6%|{QaY@6b ziXosJBo{ zP*9#z=+v-Lynnven9xtz%gAGE(9IK(%`nq6k>?teu8PK0x1T88AC=E3-Gobua~@oP zu1|w~%QrlJjEh*;aXgH}!C=IK3CMJ%`RiZzrtkaF7w=B?sjrTQV}>@1G>k51CfVa$ zu^8^lvV)nszv5ND|I;t|Ciydx0H(#JXkHmT#?qc0gpYk&UE_dNP>-}EcL_B*%SxMj6yy;U+0Y92%0 znaIoLQ~kD7<}L3YZeiUrcw#;4+CyPc1M+rZ1P344VG_(w!p+*r$?1(-uikdY*^OJR zFX=<_Xt<@=WkG<_CaL>eJgvbVl?~Pc18BO-!{OYz(=;EY#2UL7ZQR4SuGY0kBH$d$8NBW_q)%8=Z^Xi<(H}ZWT54? zvQB`yKZ_I8=bo)I6@BqlG^#>5G~TjS1;w&Hs`Q)J_tR8m+I9koR8d@|DA2M+TTnGh zin$DBqS$=C>;ToZBu2VYK+EGaKx||QYyk%KHUuV(LL3~3f+LCwh=xsvOpD3CAS9@|-k^BBA6d6tMjw(-`3a~_ z8(Q1iFEf>sm7!EH-X>%g1JfqpCobZRZxAMzBO!yBOFVt)i0QULep(>dsSFbi7V5I5 z%S*&?D73*DG!0dTUEZG%XCUo?k33h6E@J`R>D;5_PyPU=PrIoU$-fHuqz25}$I3x6 zOtw7D83hF*3jyBh2)1Zjv&)OTBMAC+KGfm`X|P<$~G_wn{tb{oy9}` z;pTvE=d1uN$B#!n^6x+D(?8{KejhuGxMxF%?Uk?Uy+xocO*BS| zSO%fB9i{$YW`Q^!j_-Qkz2Eq(=bztq)3S+)L@FX+VM`B(ui?jGVc9Sd5q@09#rb;k z+{QS+dH>`ji*{@ONClcJ**rcgvFD5}%62faptK*L95X-iwQ`ddjn3@ms&Uw07ag zaKG<;_bz5@;BP(bAwTv#-}XTddSD*V<6-^sM}PL0{fo~!9xu%O<~{eUhhvNwtB-Y9 zYZ0(!eZRE6pm%F|k(`?u)1ajb)&0@B{+{aFSD@{zWV zX(DwEhf7LQ^6R~IdcejkF2qF70ma?t)x0WF1OqpO?!(iFD&lM#4Wr~XQW_h#n>uj@ zBl47m%jdOHM|E*#&Zeaq&9s>`v3_TG438L)uOV4y<%3)%ixI;kT5qRUPH(y2$@SaX z?u1R++|7;2Dx~t| zSqGdhk>cf`vP%Ef%Ggl>xvamWMd;P!kWJMZ6R^qf*^~;DJ1Ra_t{K2E1(AGpGnQV( zC5x<58+`^$pq3Gh*4qXLl(H-XXfRTwbYlPqPpD8{MXTc-v@aE$qQ2b#)KbXciGWQq zc`_-W^jAXsS)5uPL6U-0pYVQBPTI;m@O@%MtGU&>TJ%V`P zT0on^3$x81^WSa0rtBRN&&F6MLMTUOYsZtQjWQ3Zd1p&)9!(f#nZ=|{$fA(SqBs|| zE-{5-W|h)Ny&%jk_KQNKI+P*!ZsI!E6Cjkp=hY$p>yiz+%Pc=|rpSXnB`i}MW>Bg@ zi=(8H1S>FkVA!}WX@_FE#dBp~Z2DHTyc|!RYO8w|B{9$rZIch1e^I>X6W4Z%iet>8 zP(E`nWH2eH3@uIY%2ld0RALWv_ifI2&TuQWIszL-Zq*)G3@PDzX++eoaKWcwV2&(c zm-;KK|9!p#fK{h_2I;qMZl3nb6*g2vzFAQ{--2;{F5Y~v&8Q$aPSf5^SDV`r6jx;) z)szzv0o^A6%XfpfEpUZ5RKZdKEi-*;kIULn4x)~y# z`;4!%hTdYgU)r*3yTuyZ2eOZNSYLX;@4e^ddR>(*Oak1FrTppi$oFS`X1yT06Wv3~K_Jnc7s>s7bkxPBb# z;pTC@IPQB3vxj~72mZjfKkY*v`~j`^28+OMzl6tkKjRx7{;?mq9*;}2^?0${wbraJ zJstVBbZa)&H4m3X_!tR9!l7nTk^FcwMbvX|I?qLR!Lxa*7i$lJ?Ds;W&?dGHCt(~O z(Wg?dq*}oSa?V?RM6(uE`vvRVBTMJ;Vsp8oMH0g2bD4>}F#`#AvMn=3|_m zp6vHKY1c$%xk6R`8}2GIrXe>L9A%~12yST}slk{-Ak4a2YX-$51k8kV-Ba%wt<-|4 z+?@8wY!mj%yhsA1OpzFw7($4`bfEtR;b&`B_jUlu-7_Y7`gC5VJ~SzCNVTS>B?_EP zPoUKf098XLyp0g&WP>9^eh~`PIT0Fz4Eowe6KaZ^AL3Vnceu080kQ3~H1Tw7U~9gw zj9+U7GNb|&lgV~NtZdefLjDpR6}1wQsz7#w%;{tXtfsH!rYSEsp0;vh%7N+=K-f}k zI0fDFOE4%oW*bMPx6(`Hf59e6DY#Y>Od_CMpE80KY!gmvLbeh-2s}FGkDP*(OGqjR z?rGLFZ&+&tGPC}~Q2i}~M}f{mP^5Df1=msJVHk>6oSskH_((R9Ub4ANugiZh^#MZ# z#-K9~jhwkzve4*WNscK-9Ho?I`2$+em_VewKijU1oUkoa%wVhoYD7geR^vDNQC#`W z%;mRH=}C9$*Yh3CSFL>eI-_}}NS6})vyA6timsK3+hr<}-0{)ceKL0m<^LKZ>-8@{F+2P`F z^~$NW{-Gc8pr5?^Ss(Ji2dy59HTjaT)^>gQ;pg3T?Uq|wUzXkOxUS27>C3{CI2-jF zM)-QnHl{KoFgCtHc59&}VP8&(AWy$~a+DcD_IC9n}; zOoXTtPIlQ+mQd9W2Hi7|(PAfuSUQoda;>5OnMa{gH^Z{*uHV?-a@+3e^}gG+Zir|Z zIOiRZ=Ex>HBgs)@u(mLGZ7%42<+Pd-(YD*|ObKV98H{YI>yfP{rarYvShto0E*a@4 zkxl}Y=T!uTObRtvEZH_+HolkL=m8JgIvm;8YXWB1WDOt+BZdCm0v;W zF_n^U5DT*nv58Pc>Hqh)JKDEPi!#-y0+IT%nj>xOk;$qOe@O>U6D2gB=5?Y;3hQio z5j7-}jn+t`#%Jurr6rQ@l&YhZ5qG*#fST|S+EFAZFLNzmW^m#1T0ASfAv0zhUbkk# ze?}P!)B?>vZ(N;nu?$54ND=bsk8D;&7uFGJQ2We<-%`rwS~0Ym623+9^%Vm5m)I7=BVEI*?KF>x_fu?Ym zd~hLs?n1$?atI{h=3cj#>uly;m;^v8pWnwTZ9!1 zPCzAkVm`1WwY5gHpBAX<0?G#t6zHOz)BOPI;9?w4*Xan=KS;&oml4s_Vn6>m#-K*l z6>>4TF52oa;*C6_iea!+CRcs9EVMk;tZ9Tt3~p@rw>|ZV5B`u3_T!4NMg$oh=|{Qy zadhj=ti|}tx4iWWzw)Wiy!%D(JsfxYZtxgG3fG`!R;)*8?N@*M)t~b(pZt(35yL$EfxGuZhvMi^kXNNWJyyN!of6l*s=m$IqOY5x- zXXGO*-&T)@J>&zw@85s(eK-Hg;Jq&+QKkc7c{f5X-+DNQHCsAT5h;5k)rKed;1kPfwSn(7Dmw*s^-sOJ&ZWVSP& z<59G+TpZfFO>8djEumQI{*$zQ5qaw^^^AM6s3VIaQZ*$M32h)b<;`G_J_&@nQZ$;< zu!sQ++14hpiFsd2?H2*MOnmsZigvSxhH{A|z>pq>H7gFd>b|HKCXOw(QWJ*WyoIi` z#>w@p{bTK4@ZjXo8~a&pyp1$sa{`5G=T{6?WWQMfKc{J?TFL}RYsl)8-B;Fu91H0T z2HJa#S+;2+Gfjr3o25r7KT*Y>3jS82Ll}qak@uZ(JgRF_6*%{F&U^z7=cdm##9M!* z91PX>=Nk=xxqOeJMH}T-Z<0TTjR(V;n_LY*Er}yi8@RwtOeUKWTv}%;!pIt0nz!;r zDjPPHei^{RuAHCBq!IFxStLz-;>N~X!LDVx#%wtn~5bDMjz;<6D zK{qqiQrCgv-R8!1gJcK>>E1+vT+h(y$8`22**a!a6C21iv9f-N#px=ChNhnLmu!@N zO3i4UcP4C)7|&#GNH#W}h3g*J1pIP5Oy@92Q7$jPbLlh&5VBq+coKj)ySXFt%rfd@ za$8OQS^e9H$@Pm|d`eer7ucFkW+{ZJa)eZjtSUid)#FA*b_}MTCyXF!`x@(ASz2Vl zM%{u{wFKC_78&m$bAz56r7dk$iJHMG92QXP`ci&@LPFCAoNK8aX~_TmjsxBtXTUix{D z`}!~Xif?@N@4a@hI2@1BVvKdHM?+?5-H|FbtQ$tUanV~lo?jT^VjXwhdHV~0;Mq@o z^5ZU!2SaPtGe7PKYXTL9zVzc^HP~DK_q)FI2~Yc_m;T1C_w(b$mFrhbQOrB;xa|ec z|K^YW@DE$Z*!Lw_C3zezVqM45yIK2Zk9y>@pYaXH)|b=M)|Uvh-gdiQVjb&wYi7%? zloHRQRd19;#)<|*jmA8XS1V-hW(?z1T#3si`O>-+x{1IbxsPB|8ZiVAiayRrCyPom zDGwk^X$={a)@;}WIT>!vx*)VPRB(>;x*NH4<|QnHo1vRvgvC=bOAGM` z)iWzTm+rY)y1uP7`YAd$X~wN(HEfpB2UUCc)DBUewpnXvtu3b~x7>PqHDg;O zIommw#=D_XpGTJ}j`=*Q$=0m3D_75!-lZ)C-{n&|?MF88M<8M-?8;IDo21il`Vw61aam>eG`e>ZV>rXo9X8~6eYAK z?uMxpDK^ik0SOP#9gSi~r*uxE41yDhog)3(aILFJ-Ch2XZJL{91&#_8(2CD*hW>6E z^$j|xGf?|jRUC7uo1$tH2&eY&&5-Mv0kDNs0XKS*W^8_wvY4->pr)Rzz_BELnc9>| z93)ADTO1P}YAFki2@ygnh1*Yy9+?s~`0%U%=GSVWrN#A3VZc<*sbhJ&hXSll;`_#p z1c$u?m$v3qU1c{(t9IZbeKAYq1D)|p-dv70FFR$zd8TD zWBSA%)06CqIc4<%yJChlGq;F^SR{# zN&6Q$9&v{-0!?JRm?wfqsqXMnF(uW4sQ+Zs8Co+RAnhl-HFK3Ck1<-$n}#9%4m{PzFrd+&VMM?CZ+9{Rzz-+t@amD8K|oxklJ@A%U{eajpE_|5Np$2%>s zEW5?b5!RX?*JZy)>yGHzLxxU1+VJ7tb`8MA#l_XL{eAacJnX|h@F#!p-+knVJoNnH zVp*1~_Gvn_jPe+kT|XYi()u5~@lPK2_22S_KmL=eXD9cbAC~<-0%L^1E)M5k`~{!& z$dCWHn->>XPEN*HEw?R`PIa;j7dOuz|HYsGqM!bSxBbO?%sk6@kDhnvwsC%MjAK8& z7Lm1;8_gH;&DbL~0_>cVB$mc@W`-4I7_2vUZ|o`?XsO24=*QXrBN)*SAW11? ziUgO|%vvGNL=wSyfo8%CQ8@&&W^jV+t=T6eZIu?Feg^7Kya`9=g(@xAw@_Yd=HV@@ z?M|1IGe0>yp5HtkZekoGuK?%>_tt5GU5449qz5MgUq|YuC8=VODg8trF@`6*qqevQ z?-VB(g*m(t&^x_8*@y_YX2VBT%okK?OVctM(z^^hC9+?a}+l-FG#lh#4m z2C3(sQ-Ipy%RDJVo{FUy{MIHRDz9jW5xn$z(Bvrv4H)kPWI6m6Ifq<0&rf*sC}fM*LTCLC0W4tK#!Fa@+&O@TbH9*H{3bS+F0TIY}hSdzxc_x_jmJgaB6P%;a&(w@;YP=pC3sjVSe$LOj0{;>;P$Fyn00a;4X% zqnxj2$fCepqJYveIwx{Fxlsbgd~a+VIew+pwqk21Nr^a&k!-(kL#LKYG~HNTL;=LH_q<9`v-pV zNB$!)(0V?0U60SZ>)*Wm*I)U@H^0@|(RTZ#b@v$IXvjMk4)@+%`Y^-s=Ebt#_lA4k z_SWC|i?_V;rN83g)?2v4Y+3fO-dgXcyVZ|??e-_*V#MKyzGO>#wmi&Ogxg3*Fd}^H zdb>ERk9hb;{rLAi=YjXXV~ufoa&lbP1~}PSd2J#B-pr22wYB!Y-teZc`o_Cn|As%= z^?u*Q!K|-`vFy;gS=jz$_w&E>EC1#zAG5QCsyD&1&Q9-bxW^dxj`6u)@#H^!>)WsG zPF9b;v;c;Wi16cK9BwYB*HR;AT2@Y4shbRrFiZ#53i3en9P@5RqIkl0OqZ|RUY^{I zfiXd9k72rk-MT59lC3#g_=u9~NMm4Q445fp1vQ~Jv#RG~@4u5Jfwp(Zd z)k;{I@w)EWTdbL7mkPBc+Y#r z#d+&3>O7elqW9K1#_`aaoga>mdgR~xxu3ZE!4J4|tfO1^7_FpCAyP9eyB>jN{kLEH zx-b6fr@i5ge|GiC=|~I$EDQMp9=_l0|LFB^{<^!q^YnDT9uCv6r8;O0z&MNxYhV1t zXT0V$Z@6)Kc5ytn=Ii0$V-1fuuItTv`flHL`z(Ed&E1gZkJKk+MUp0D48w#;y;BHN z4+PM7AucV4^l<4CQ`ntnB@J2x0Ck z!m4*v6WA5{&*@g zmfB2SO!0Ih!a%~IyBkb?8irIcrN<0m5iJ}Zj@J6g>FM>`_SbIf`;*qq+{@VMq|srN zt%m96+V!i|)48Huyc*0$6eX$4V@Vy5eS0jj;Q(lnnam8@T!a92Hd$VF9RQN*Q~GD6 zL)TJ&cHTE)Bbu@-cDawf0qoFchBkvZ;n6zf6PA7Axod?!O-XNG$;&5>Z@OL73;T+H zpS!60US=!<1!S#E9!vl#gwj%psT4l#3yor%`dNCA|D%;0s(qQ)WfZJ0JX2T?dM=ee zhpOw&OZJ6Pi9=*lyueu5@g&gGm{jmim|IF4xfBtZumd4}Y~#fMm=CO0UF9!vnIwl+ zbKnW)3h=yhcJmGa4!B4Yd06tw9j?g+dBkMJ2rs>#%_@jRgB9%72(IKM{;f(@h;O0K zOA(0Y#yTi&Q)rw-*EYXgFs_ute3V2Hb2cn*V$@@198lxDyaxdkS!25$5Ezwj0EXM4 zpVaYDeZ1@-AtFhyF?d7zS>WCaVIS~y137<{j1xc15J1t*bmv*5}RZ**@T<2d& zpz~K!k+Fk`;NBEB>ccDy5QXaPjx9Z|)bjv4eB`s3gE2vw z68N-Y(D&1}tC^4H5$QOw`Hv1cRc&$-z)+^#F@l;fvoyGvFet!FKe&_7+?&18- zdU5;wkw?yMKXQKO-uaz-7k8d^cI)2xoqK1u?qrF@;o_Dphvoe8{E=s@7k4|;6EHW7 zfV(wp+h#F3?0DQ>`20_L!$0`STNh`JIIM^5w2k38iHKYofr!@o@wfr_rGNQrpZUTs z`kmkTz25uP=@ePp(_3E}%+k#s+qk^A^?h&p>92mxYkO;Bcx!FAhehixd>pT?u6=yU z=e+En{^GCPJ{+#Dt`5tp0Vv_yX-)bcVy9z!K}5G zpQIXTtnmosZ6|YR$uzuKPHw%SiXqcQLnbgAV6At9hJ-Rm-h#Yqt#z~J9%052SH^iX z4j`+@nuTs0$fEzKvX&jlkfhf%h@AkKc`>?n(ON5o60(kDZ@xU6kST@`CAqJ{GNv%L z3R4W0B&}|DVIs4%j0nI@^SmQ4@~R8=pO~Q`8rvnpmc!Zk?R#gp?ncYneKTtU?F2Ux zKx)Sbzjb-JGo$?5(4g39g`C%}g_&x*gR`h&rqAi-u&6IM<+<@!deaDu33BrCR7GnX z4mEeul*|4mfjTEZxl(BnkpqhgITsvh%__;S>j=3rpR*2VN3_q_lSs@UyjE9 z$jXasv!u6t5*=!_-p;UHxgYuUrkR_30^Mp8ZqDcM(rzoPU(VG8C_8viP@MNp?7*b* zF$Jq+myvdselHQC&CN_Q7TN|)j3bm3CCk+%&Gnlx0fPjl(o@8lhFP~Poj}@BFJeA) zPH+(>ETA$GuF)8?pAagmLD7Nt?Z`c=A56r*LxPxp(haCS*gdr()O;hrEe|6-tpePZ zW~3N`fJ@-D{z?C-LK&bxRJeq!tA*|1Z0O%ga@f$Ip=^7^rqnL+A8e0wt$5DzqN}!J zxKx?F0eOu`tv{_0o+5{ZFI%;rr}_|f%~mSYfE{O3TA{T`!--=PnAUu>-BFRfENAXI znNk`1oVH7E)p)df31I>{<4j^ZGwZ!&8^*-$mGdymdumKeC)%gbv!+G8n?rXso2p07=Cv0@kfWAg^dmHsjp=$b=Ni9;9$3 zht!pdK70&`Nx5F!q(nP7-V9(!QP}`9>%A8~Vm`23GD80l zSwKC@6gIg?gTFHEVQ|=pvE`i$S@X?nW$)g-WrpAT-QWAn&wYt4OO~O#kG}NN@E1P+ z(?0PN|JwDto^0E-Z`Tbzjt?UOZ9!|1eB)cdJ?|p0=FvP1)*QBtM6jVfWRAtcV#5|o zZ|idXx43!^h|rV|eTBYaV;itH0=_XJ?B$;I?h2HYc1!635JzwT&^> zrT@yW|J%>{Td(}R-+%kX#bNU?1|n=ZEUmZj@G)9%%ewTnU0V#HdRGFn5T9tsiwWj1#hGC;wL!cpdX3fkuAW)6q3j7E(nL$CHQdZ6gHxP_-3&14v zYB~_d{kKHCrmkPc+D0^R{mERtHH5XEMdMOJlr4)03m!){htT>YQx6ZQo|6%V8lGyk zubfBKtfk&=yZ+P;4ML$}$v5Rh2W9pHIk2X|SUi(D8D?3}mazj1>*;+tYlkxImHv>y zvirQHQx@*-J_ZIa9as+)v{U$iB+KQPK9{`M{=BaPf;oKF9Bz{q0Aq?OY{>VG9Owe`m zp%A6GI{{*oYHFqD0ni6&i2z61&(wQX*hUzzlzYC5Y(lNrWZ|J@3qjSdlzmD4%!dTQ zC~9coWWO|#^)S9M0YjPQ9qx+K&w@9*76`4Ypp?QoJIKK>QN-K&1lrDo)`~8=(dDQUMb(4)&WPz9g!I z6b;Jia$8BOtcKNi#yy6I-oqnm;*6r|E(I6!to3-hMuxf#R*X$D);{vRy309s@mVv= z>3LRjDS_#-hVt;O5Hf#x9vR1g&bh^^c%I&QWNFPj47Nu_mF^U?>QuBg(KFpFC0!wz zqhG=On{X75N7o`08(Tpco>lI%iFazl37~~fCSUCsiu~jn7*Qom6tNjpmRFZnjX`VL zgOVtoK|&y&_q-4hz|1lyLgIZp4CQV5IMzp4QN7P~IU(KK)6=u5TCRxhK zvl%=v89T(xpH3Al`4OxU$NLTClE+%E+XT=vAzOZzi8T#I|F9MMmt>-x@*VP@S7<49 zLj|!{f<*iX5Zu|mhRsX3EK1gNrn&GaFRET|jO>XCr+38QP7_u^Ir01+`6_2)cWS-T zj}lS#OJ&^}IYB;~yfmBcO1^~go3tP4-WCH)`bf3amx07aoWGESl6_JfVVAjLB%!>K zo`AJZRNBV}L;ktD1U~uFR*n%@AFXwZ7}?@U*aWb$SUwu?$lcp$t6Bf~pZ#AS`>Jo~ zy$?qcaXqY8*Vo_i_rLo6Kj{7abXvlX4KFWv&)NLc(0lKL5n>kAWK`G; zKF0C-WQKqK>%Z~hSN^@XzvJ(Br4VObv@ug=cTHA&OleOx~n+wpMgHoLf#s41jc+PjV} zp?|`*@Mx{&?Oc|39AvX)Z_RkeaC)^uGMe2>Xl4wEm_>wdA<<0fPy{|Qb!Z9=k!oxj zw+6r?#)Qk7tS3y9r>K%#88B5Kcwov(q!6;2)KwZvaULEwg0K1E5SP-Hq>m&6qE5{w zMZv`|z9=>5WgVQkP1HJxQfVQy$h`M}hRr!D)d0nQvJ}C28$)JSfC~a%k?xQj zdEn0N+j|I--yPdXKP?#e({R|4nYPE*(NX$A?-pv&jkFmYo?e5bogXE z5FN%$KhtoNgf@+xRQ%0POrZdKRz#q61|V!-NIZ#UwPlp+RQgG0Y7-VQPFMJA$DF)M$bgzf$s@?3qo$BTy-Qw5 zu7JwIS$t?VQ8z`H^MO%oF9xDYDh|TLkj0!P^h*msX)?m>Ry%>gS}jkD6JDQ=MiD&n zGN9CDCX>BW(AfXV4fZXu$u;L=7$BKYE+K#H_?U={*G*1W;6~kE7D2Q^Hi^WkxP?&j z=wdS06f-@>1b9`kV?}J?!~DMJzyWF!KQ6bVQ{{GiJrq`$#EF1`v#p#ZJyH6E?iaOX zo;m*}eIYKNmJ&OLBXMNyYL|7VcSOwUFGc9<$p}~{DfndwizjD6+*zZnl7wbe-oqqj zS}mJi4WXwR6(Xj{6&@Aa1*bh^93s2b_j)0!Q5&V5lb%feM1gE^P`NjN>NU*(>&nkW z#E7i#ES+N6$>=eUFmX>+fbEmB7CDcI1%H4wrUEE1L&~uk-z$BWN;KtYPBABE@B~7U zef}gFo250|az4<5Ky0ms0P8YYe%d@i|f75Gk z-@6;Y+AR?0m*-S6m}1a`O6ALivCToTp#UOu<%YGkWO&n-wp^Uq(%aIz;o;TQpZU-a z`bTg22Osm1e<`~N1MnD@MH$Jr0}d>Q-j}{CYis>=KlGEI{8@kJKm3RP?{HWjULONC zPGjklWP;=`NYQo8HX z3`@xp>WE*5VDb<}*@_%V|zM<_tXpObcJui285xTU zUF91Hv{W;$(8XYVfl|i`dsS}8W*-zBAZ`Pig`&}+_oi_%MNj3~lp7!>!anjPy-oXG zN)l1vZ&$p4r}zU}T7`aSB5BuX-zCYiV-xoa>QunX40&mz%x)@qVt`rc9rPsU^J5W9PeHdC(G z#9$^r5fhWA5xepIiP6f)rf<-Y{Le2J`pPAFK}vlHDU|&lcRin>793N=4Z_>f%hNBb z*}KydsMZTihAeKH&fZRZLNZvo1(N}z=@iV2_4lb_CY0Ra)%4GF&N~3g&xH%9TMvT1L zCnwK~Yna@aSXQ0LAr*vOlWv|^md8}f4ggV)^r$yYmkzA2&~TY@;t??|nPnYzM202< ziiG7_O3mf$=Usb1QqH6-l2i7CN*IcYmxy}Q)WyUs!XcsZr;0{cq6(Wnl7)w^ZKumy zq~(svcPB|A3g{aFP1^qQo5iwG+oz=2Wj2)G4vyNW54Ffq}wE=&3(9-%l~Vvh#;?GcFpngw<EY;M5y!{c*4{-b~D2fy{%@AaoW zytl<*Eb~*TrdbPMZEZVl7_o)F^vk~fC4cv8o_O-XHvGZWu`O#vBUnTrYi3?J5P zS^5~`cztZWZNrz|-~RZMf9+F0@2CFBFRhp7FM8~2U-$h#aqDn)JYAiipC{N}*2T>H z`YMhOtuM>@Ww;Z^b2y?{H19r(2=-#+eU$@M;VXcS085CR zKgusRYi3=xK9MY7&BA<#9_Zr+uA|j$0TdehzssAFP zwbrwnir3+}SpX~`1K@dwm`hGgmLs!#Kv+!09Rb*_%S$axY6`faUIH*vB$ov=QLYJ0 zC0>emAhO(4epiJ1*hborA{3{LWS=f;B3T4jIDytmFs}kNf%NYT8mdd=(kx>QsmSOI z3=(6^yQ>LqCmnJ<`4ffZY>u=@r?52NWCIb5#wK%~Ff+Et5P!o=gBFm=Y(7DthU+Q3 zdJ~PLKKGqmaBT%C_U5J{z7!m2s<^f!C?hZ};3BU#_D?Hb5l&`AlKpZ_0i_gVR!sn? z{rcSVv}pj2%VSM6+Gmn*P&k`^tYlC zrsIbRZAFo+Kof>2oI?N>3|uFPd<+)r5SJ!iMR0BL$2v1h=S*Z?ZiZquJ3oQUDZ~u1 zHwsVIswDKJLh#8ZPl&ORTp#^+HabXD=sXFCgO{Y_6B;2SN=j=R6=!1{Lg1y|Ue1Ne zM+IsV-sFxlJ#LG`AkvFi^g2ARgnp_)=YPrQf|3t>}q(ltbBE0N7J^l z5WbN?kL!%5S!2nc&Xjm&UVJtEd5j0{o~bl%yz^U7{_wQ_m{*F_>VQ zB2Fr_GLX4j;}P%>5-MdKzjRP)gbG!uh<|=RJ0OjUFW)AZTB;2whoK@g$yh?`{I>kK zs{5yDEl4_#n-HWHr1GkkT+n#I*3@cKPO}bGs(;MqbI4DwcP7*;d}0Rp@Jb6n4M|h3 zl7DifMhfsIEeT*r_Dw#$Eltv7-|LzKx^=uSLo^??f13aus}dMoSr?2f@m^ zEMuH}vlz=0?|A2@KKF(9A6_T)9NTtrIGj8_;?Mt?H@@y0!+HQ6*iOgP(bkp-pmnSk z1_#_V(u%s5#y^lH=YR@QGvRT(KK9lOHr&7PWuN`s-~8pbFE2eDu#rP+a;|{Gw}6|w zFTDqRUHXI5^=G{Ji@);?Ke8@sz&H2Prf>yp8v_ADEQcknh|9O^YwJtv-Huns53jBOI~`BHjXeMDcO?_*D>3(?GSc`fZkeP?rA^x2J z%IwB2B$t1;Ip>kTkRBpCE?5~t+^};}2v}yYU$D)z$DK8qP$8<;qwJT>%CV}a;`X${ z)-1c2z{DMa5n#%nmnTu{*!9#F%z{=`WRZkgWBfbWLS(o8--shdCpophLYse069s%>rc=*nOmpx9}LQ=^2uq*3<3tiIZ2 z9xW|Q=%rdwZI+n_lD*`Fk?C5e6#;X>#n3!Vo4#5o6kTX_0zODhR41`ALHt)8fh4g3 z3AWgRnRZeBAgh+A`O^QZSBboCG$S_gt=4DdRweGQE4%j?H6kL~ey;qkRc_i^Ii>-Q zo1-n4f6M^s$}wSZT$8^bpYQ9v{-JUv@&G|jdQ3`0bF6)k<2 z{AD6dR9_u+c=a=s8$U~Ku&ax$;dj|eWk|ajmH2`{%=GSNc&myZ0M`ABb1+dl*dxw+ z4|e;_a-E%~4n#y>x{9E}-FfdiOydFNmwI>_;)2iJxc zbtg9ii_NT?ZgXhO%vxdMEINt^_hA;T**F~!OCQ7UK63lpzy6hvz4-Y_^rbJ!X%T^i zv7gp^c6*&pM??JXA3gq@&w1Hfe(L9M-MYlu*YiW`-G?96_Tc*X?Dzds|H(6-adkQ( z+_!B#tk&A;w0T5ZTkCB*ZhjhPheOtVTs_==^EdzFVO_3{SAAW5#I|iIz*qO*wLQF# z@OC(F>w))e?GJ*XAgI%-v(%37X$`>@{1rtp?nHUr`qACiPP_42X z2au+rF7+DVQBZ3Ss!UZqwD%K91WVH`c-2eEFi~|mbkh3?hPc=nMNqnM2RYR)FTW_4 z0_mvWZ375+SZe`GoL$XuRNAH217)uoiDMN;0S#aZatjc2H)|ddK5QZogR^;7>N*8J zWO@=y0NtQ@eb&0c+&mEI{r0WPsk4NHw{1)t0EM5!QSXX~aO~!d!lLyI-a8Z?nRd|7 zQ+QL0giQfhlQu7|1jp?+pE=D6@iaMmoHC-R74lL{G1|29ocB=sDE%)q zM%64mU-&x8wt#?pBG=ljC|Te1F_Fve%k#j@sBdqW^$ENik&=+Q2|1AShwopV7I2s5 zAskF2$T*`=S(`ymWB#Rtsg2``Acs2ikB_8_|NnXwqFQt&LErZDd3jSn7 zofmenn-XM%RZzV{E4-w=n}B6ePk7i{$ zDA)&pwF3kJLX(9~(`F>?vTm<8UM@DvY=Vc!JZfZIz~m4W+c6~)M7q=&Z7#UzML1Zv zUnYU{5~ixidCPt^)@^d_)6*-C*@+yguFlIO=<6(J(C>#JBDIfds%Rl`=dS!u-54SB<2Of4mbR_##Lk8+rOLj>}QobbI0%gN1j z@qAR50`X`>6z`k0YWxTXl*mQj6|iMLfXU=EUV@QIq#UQVXi%5fXS$bSCsP*Ky5;&2 z8nK@&(9L=kttR+xty|@0qFN7q_FhYCWE{jOr@ZAiD?Nxoif%+L)Tg{ZfoJX5-2)K3 z2SD-;qaNwGELAj=R?@)PsCmr2=bf6exX|rnln_o~hdT^J|7|h~VD}!mef#!hU)$2r z+OXd4+Zrq_Ry+2Y}crH^r14{J(A zxc5Md=*iH-X$i7`C#+jH&)!RK-OO;jx>|Zap2qvU*E8Sp{jd4tzy2}D)1WKjgA*td zWMtK1x3;dWSzp?3{q7%p^8ftuU;00O_5AF7i|A`}kL~(+>+hTW$_y5xTcV0zi)5GyE0VKnL36#EwywHkRcOTSQ%0EKFM0p z2@gZ*N#~GaO^H!evb1VBes!NZ!hKl58mZ!n)VgaF7b}4W%(Im|FG`pANs> z`G34lgg#j_TM}1902sjTazhwmbB1yQS!!wBGV2?mgu_lxipipKP_;XV>&$2eVR?f@ z+A4YuBCP&F+nvv8(8y5svw^h=f*It~5HKLMcXL*Z?h?wV5kJ(jjHztFeHy0uCwTBo zx&}ktH-Im3;#AwU7@54umJx{UhDVgBkHV7qk*HTAJm9+(?a*KLn*|M<71YklUS(=y z<}GJLqcGGA^gm^%R*y~Ct--92PtNk^t|*uA8;Q>m2^DI> zdV;*1JgS;SL3&dYhGbl#Ht%Rm&S2oMl02FQ}> ztjtVf#b+-Bjdapc3m9Z=7(1LIFOgGb)~3EI49(%TC@7G_|N1t0f1+HLiyH= zKDiLH?l+jWz|#HX_&@NZf}4+sx=kR-8>(G40`LH`KE`eLhvy<1@7B9>0CRy2pqHwC zYe)r73$J?y=z}+5qf&kO`L4bbj8U1D=0|w&-d_a>ikSI}8rRDul>E2GYAQ041z;X- z#!Ef7ZEV}dfyz{Ves(y&xH$K1B*yFwTg3V8yI=Md-|+f3y=7_Z@pNjfxo_te=U3Oq zkNfDq{9|wY){9#gBep~D<9GzZ9Oj74*TzW-Z3{DVIzfYv+5r+SRcDK`%LPA1;Ale_=w+kWeBe(o#&)vvwn za9BsPzAne3zw3zyXJ^aN$NRtUGk@?kU-|SqcR%1g-|I)d>(%!jy_YkR9^8N6$75U{ zubz0)Jl1vTXG=RQZC%eVF9)LawjNexI6GQ9J$!Jwf4{*TcDQ{v?MI+WqAh9+F?iJp zCiG)ED?_KT8%`IIgFg+b(xF+b_y@T#CypD{jBcT~W}coWvd_|C%u;3Yhl4Stkx*#9 zl(boPZbaqoq-2vTxQ~)VS_W)&Ra!BbFoF-DHCvV? zJw{~Re`AiZH4xo1Sd(1Am8Wk+bd#srWGiGqtyx>e6dl!U-nxP&^sN|bGTs{uY-4j`?7Y30p2d8Hifj5qtH7rw=)VA6bcbe z&%yjIfJ`mU@k9j0dAN-g=6i=BF>X4OX^CpA6RIGkfD_k`#xh6%)Je8`BNbv!4Kluh zX65)AQ64=%lxWS* z=XF=M>u?B>#H5DmRpgI~!OW2h+;6MT1;^7w$Lw?9DR4U5Q#JuQb*`MgbwgfCn<1Q- ziX;tNO$uUEKD)jk3qSygI@|)(5wT0`?A%jvkr@@i#N-A2_jT$%^+{sp*f+JH4sZV1 z*~?Pgzz_$6b^m;a+I{%^I?XX%ktu|uK7uuk!J)L1K%{EYA+j#tsN%a#rskY}1b{Rl z9?T3Nt3MF(wbJ66Ap_V@qC)Z*K%iM#Z`1m%C_3)}(ESFv{iZTv?CuS)tjEn80~nUf zlkQ9JOHYnX=oV2TTwbUdvXwd7(n*lW!VGc&IwJd$9SCfvZERbu(1-i*rMI*5voSI_ zk1@7!JdTr}on3tP3tsWoU-;#9T~FKAT1WW#+1c^5edJ&Gv;Xv`zyCe|P5){lPm=58fHu)pmU7ry~Fle9rTp^ABJDjqm-Z-Xpy> zAD&z~f)Fmk+z|~+L$f$6?N@&NZJ+s~$Nt^F|DE1j_Awl!NQ5svKz#903$(`dj$r_TI|7g zYpu&^mld+sY`7EpQ)NUtFqOSA8Yci*RZQRx^@`@ddX{%2CHo{Vf|1>D7$;k$3O4E6 z+&le}aG?=MaI}5?$dUjpJq56527tMyX?hJ{QaX-6EeGB^u`N{F7Vc;3;qulkf}v(6 zUn6vZRBeYZvs7_;@jUy8P@@q5Q!!-fM&nY$BYLK<)hM0w{?ky#KybFEQO`J#+7HSw z6z~XUXc3V^gc#wXo&=la0xHYg8FATnU0` z?O0jIIDG^mH6us}WbY$MS->%6MtcqA`*!XIDlr+m;;PB7x2gbx za2sy6900{w}3&k)ZG~LdZn*T{NyYx{W7KQbE<;WfzlSN0aD@0f+JK0rk0p8J-H{78YX{Azw1mRGHi(qLbd$AKt7)= zt4NmIgf;4UfjO>6H_YbrAG>IuzM#nDzXKf9+T=j!rcd9jq{V2(NyV z2woC7Hvb!+{=#4W7r%B`4ySFvT7)0gWefknXTQ%s``I^t)PMPBpM3I(%geI{-+bdd zoZhxERK(hHVawT>9nP_==*z|B#daFEZe4!sH+<38KK7ChL||EZc=Se0pU^CTZ6pTq z(>8#3%Ugfpxi9+ScRc>i<K*q89GV$7tlS9Vn|1L0?$DHG>qDI>P(JDEI%P{rZP&j1*!rN3|~(9r!WRfQE09s znl&JN4B0O?j_kyZ2gtITbX3BQNbOsujC|#FiB&G$74(Tv%^oP=Q@N$s5I?d1S~Hll zFwAJ)h&7Xq(}l1Ii_EHLd?#dq<&ZdIhny!?L@AMp+Ky@#W6tuC7^~kPk1rxzMYmP! z5D51z5a5k(Qr*?L*btd-b6D8<`Nge^i%jq4kRw>j5RW@YjiugU^alXDcN(8+OaUfq zmR+@(RZWxa);p}F0yZ@TB~XS(Wwmt}RL6~a-oyqIwZOojt&?`C6XX}xGxVnnaat&p zt%RNrP92@L5BuZMdkI|2bf$Y)En&eaZ8UkxjFow*un0XM>`afDt_CZeZYZ3P+aSx( z+Y_f3aZno*lre*BwU)87clFgB-qz1<_<;4o*qJ>V*_g1Km__Ir>hzQqASWYKHK34a zlnuK9S`+{+A`~LRL>*E#Q(Uyh`EMvpyo>r`Vx(!#^@)|))nl}>&^P#H*;{#3RGwOE zXb3M2v8WexQ3V^QKN0e5csRCS?c|tx=WdHgy>x?uLb5kL68b6@Dxi|b+$OV7u9CTD zozO17kagQrIOhh3&Q|11(!>yYOA763`bEzRZCz_#Y#9RZm1QN;wdXgJ(bLy zYYxnlZ*g@M$x5r)-snF$%3R6MJhw1W!Jr@rb&+z0o1zD>4?9 zElS;-V_qVPF>3y<(af{0lmiEZXH@xTwSH7xrkSZxuQpXh8k*CeE&Bkg4w8i@rjgVb zv!cQCnvoxs9K_A~S_3+Q8MnFz0BC`}ucH-U>Yx(>z@zoHEQ{==CbegT6-8&w5D$cV zY0LBwQf+yHfJRqnY~z>}JJLKbJDjagd-M@Q!ju4PS(hf_U){g|37`D@fAY)!VqKQg zb~0;-Sgf74?e696pMKMKzTzd%ef;gei#RSePTO&eh@7$%#vYPDw1{r8_T}PySnGn8Bew0-*7f}EBZz1+3SJ{23<3T5dHWQ1Rd>u-5=fkQcHNHO2$_XW1UvVx~HU!LhTh zF{9{#(rIOY0k)iuoyFz4Qn@5blVy-f0oAiZ((b_AjCq9Tz4b8-dd&J&PdjMM)@6azDl4I+KiThu2v_Xi z7z)+>2*EbrhD@0fqlRkMk+AZHk5?W3xe(vMW!9Ro+atmwbDPLDjV{Op5 zGRbRI5VP|Jfj~7m)WXZ2rXb`xt3TEll}OWX3VfJkFxNnABf8H?NcA%Qhni=iP$Mz5 z8-@0F;Yk=YS+$-k`SP*biIWiLxJpTY}z zsv`t-O!KCmJ*3_pMSd~nDe4hWVHqvFvCG2dL#PJ$dm-^atwD#4`d+j7BZ`GG4^GH!RTBHs*JKjr{_Ctl7`}wZB%qQBMp}z9p4moI z?5BRO#-65tsQx}vYO2yUSVqf2IZbe=S!pWdq%#K5xpnq1u?AY2kbYyhxsCy*q5a9k zQd+R8>++p$q2sFfL`t_A8k)6r=@g&DTM)2>;A6f$nR99f?V{(jKN+luh}gz*=(?%!jYblIQYeuXyQC zz4<#2D-eFRuH0C+aGbVb$WaSzI}NkGEbHd>34i^s{_Kx`&xd{R2OhU=SyzLN%}w{^ zsel7xL|@u)A6pEMFMQQ&zWnRH%{`9c4^QLz!vyP(bwhb`t+)ozwod8SAX$%^7Hcx58Ji@z*-CFjwcXAZ4Vz@J^6U=J$#ti z+3h>QVszfo1G9Kar&Lne=Q+kyxm8w^Y|^5Nwa5vLQ-A~`*cBsSkTt)h8HkHE7QP@5 zBhL&aHOX6^8(;lvV?|V)L0qpr^ZkRR^oWuYhr}-2crjBIFRScF|gwLRKE3T zT2lej(*DA-QQqSYYv^Bvrfi~5nMGsMmnDdxpPaaAj`}DJ9LRf4ZQ_{NX>HxjlsXh- zyoq;11~g{EJhxw{e~0ZMjH-X7b)Mz8Iisel2QAm5#+2f1X0%EGd_aT0Mt0~nX%WJ~ z!73u|0OaIZBC-R{;hH5?@RD4iO_jZ#_;^Qv5LDnEN&iZrON0e7HJWQi*{pU@h*5Bt z%d{ek;=eIZa`$K2u#!B9p%_KSJ=avOM-zg=jSWs9W!V2%6_qTzr9yYzdn@WtACFn4 zKm8WNQ~p>%L{s4x@xKx!bep0 zM~eXKrSeL9+aG_b>DF2{p4K^$#Z`oZ8PPYSjqf(OP&}v^v)rTAzIXlm)1n&p3+e?S zVa>+{8MJdiy{ok=eQ zqhHAtRNa4|1|}xZnEGu>uqoIhWfP1b>n!S5cDi+ErUbPZMCZ$9l_&Ulesc&V8_0oF zaG*yQoIGG=<%pK@nWE+flbb3j%l%G)t2_zRN|N8|J30)yMuD(JCd3Va)_TN_-I<** zR6O4RfO0oj0-mxDn2(IVSwzhFFcD*HT$OQMK-|8(9H$(akBAuCmeSu1+i8oFZ`Y?! z{qz@o`x}0EU6<48*i@N)JYK`Sx0W*ywvkB1OcEE(BK&xLeOTA9cHI8#DnS4MAOJ~3 zK~&;PzxZ#x;oDyIw7Yj;ZE4GP9O2P&0zG-6!Qt-9p~V<2?CNy-?7#CB-}u@eI6E9{ zZEfkxvM%e|mlbV!cshOLU;5DR`MNK?b$)jAvGh))#j%&>o3~{d+xES$`Ko6<`@OHn zIGmlw2p^2Ivf&^`0ONRl{p34Yqk=epZ5} zplMrEz`m;#_|Eua!8&e{uGTGs1_bBJK% z%$pp@3s}S5JGajdXXz%25-kgy1eijz0&<(~v-CGSMo#~94hEMQ&a%LuR!CYM&JF}x z8NVD{7gAHH-OyBfr0<7oj0VsmLZ`Op0CnL`^shv)RhesxJWPqeDed^Ar zBAlp@3QA9wk}pMDxdp9{V2{HHRVX2hf{KacVNQV8ApFbX)#I*h7VCj6+b!g}v? zMSb=poVhq zGDQ@Qs-B37wlhq?Kq(})8Nn7#7XKgzxDl7`t{GCrQ;`dDj7`Jqb$p^HphMRx$!smx zDg7yl5u|LzNz_h2X=+qCM=(86ZXckk2^Euw0YTcy@N&-{=t#$X_k}FgB~zqB6ONH^T$fVOOsGA$6rH4dVohlcndH{; zOjQ*SGT6!ac`uJn+f3Lorar(7U|6zvFDF1#FGJozR+;Z;iz&Ua6FJBw<(%Ce0S zowI){^+N;*niY^m7z2Peb&#pon)Fr&I|wB(>;7{l3T03S5SZIRO(hI#b~vn)To!F&G-D^fAdMtd-!l$4`=JzI|5_G0N~clx3OJccWc{eJo>ap ze)xO8=@l<}{&sSpt;-S-&8%w*ege5M+~L-2Y!0*Ef5+pW^0_a2^N;>7=gV@vogBEn z+O~n^uz2KkLHLT7z2MQ?m#y3RvN-GD$#)TGhHid#etzq)yyf+O|IueW!vn4Hs^H{T z1I+sI;lrzU{!yy2Z9AUby<>fiZR{gXbew#|aQ2TgGAAjW_C8!~(B%J$aJh_Hf@$Mn zq$*V9MwSn0mZWvG7C9=@6Gn%%?4NT^Ja1+R>PF1GkQj)o@^Fvd8aviocAKacC}#sz zWL=~EsKp9(DM~^`HbcB7--%x<`3kbSnwvcnCa#2RlnzXPDFwIC0PDmeQ%Vc9p0cBe z-53lamL#!iQKmWyn1J?A z-U=lmGw11Ib!6*8wrrS2nRB5Ysn(jnYSJ=P0a9SQqM4v!5m+R+1fYNsC5baeD}A0g zck1$qgT$Ql$ssrOoIT&~6 zT4X#z1wB>HEdtRBMUsMT6N1o_;6h#UH1wk~4W-m=e^~0VEL2>`bMlo;-5vnDgr+tQ zK}0@TJ|P$@6z~sJ{xDW#1R7P~ z{}j9vfLfCQR4m`il$8fV$*;oN^8T#+rBrHQT&5^fOjfok$Iqvzn`|Kf9~90A5ci4l zKI=(@IvcN!V~~!bH6!M-oHSrkO}UW>j}-E~ge0jcTjWN0Df(XI_yrLyC^^NBvwX{N zV;-}7R={@i?1Ld~IjDv_$5dgn2QIUmL^jaeW!3#p%UjPkRo&dY2f)Z&bkYzkbtNT) zMdVrREH-vNw>3kjQ^EZv0iHUKpLxApkAi0r5vFOgxtM&VWusvFSP+`?og0~@u6d?^ zZ0=7^l(TN6le`Syn|vAT%zUxWuEHFAO%eO-HFH zFYq4k_Vl)BkbR;z2RuL<9Ak`dKb)U`!OOq=8@}`Vdh6S1oSmP4$=7`IOF#dWkKTE7 zT@Gjl_v`!j{oz9&qb=RS{j?pH<#arK$OpgQ&;7*f|J(oiBaWxj(iekm+ZOI<2xPRP z87xMa#j>^tG_<$<*8lt8f5r=c@t1$)@_apxaXguOYs=c^6z4G<-|+)KyevzDxvW*+ z-OcBSrT63Udg;p_zWwpxk#y*5Z!IqyaQE=-bbQwnsiu58p53`~xV&vdS~(_?gF?c+ zDJz*ax*^A(MFZe&i7+AzRbN}-E(_*oQt${;lwz(@HWLVF#zx~Tqioh&bf%x&bGV8n z##M?xRiZ>&C?pkY>nzJt@oEs-DI_MPw2zKck>&ujh{$^YY}Zj%s4L+>zHSab0L*kx zAMvYscp(+j{gpWaxV}|^FlVz)g16M@;bSDQbm2ZrVvOP0RvU0cv!+=Zicx2>L}q5l z@$e`mSi_1MG?>T$XQPs3i@K+2Z(-f6+3@h;ckbLyQ8W}9vn9CU4~VvY!pC zpi12xKqV+*cfT^*{b9?plxntWtAl43IyI*STBI|R_pz{ktMoj8LH(0(XXVxW!$RuM z>?@ddO*icbye8|a@m=2+80O^uS%;PaC5)0O8e@)^2vVUUmU5W-9}>36ZbAm9cBRt4 z#7n^!xx%$<%SrPW6L+aJF?KzK1xRV{s)3}Sng>4&LQJcHGipWPYV|u}FeYMHz@~9q z#HbW0!70oFZ<^*>L`~gI6(~RmkueBjQh`}ss z{^l-XYpjS-JZPRw{W0NIzJCuZlPqFcWr$QrLlQ7}p{S@Hna?r#rclyW3-rAuyV)C!O-XA{M0H3cDp+i8{bll*Pq;r~B<4|Fq#mt>`GHI^FYW+b! zp~?Em;j0a_{pUrcqC>d$m8m%ml?sP-%gSV(L!{C2$zZ|fCu-S?6WB-)Q+pw;eJZz` z_WXfE){bTlyS#nx3tsV6Fa45N|6l+5-+szxz4R;p-fQmMe%kfbY4hRRc71gn+v#-w z$v9o%bZR~4c7d0dieO;!$<2quq_uC=eO^UZG^ift%=Jc zm@yzeoz1?80Z!15lw&IXsX4htGj=ecA>1V*RDtPI5UG}x4+Lwx%>ul1CShc6^Y*T| zakA9jm_S^15)qsZFhdFwcIT`~sW{a3OXEtquw$?)1kR-^9O}H5%Sua>wp49rNQ2dc z--gIyPX0zVUYo(-me8T<5iCgomSASLwgQ|9Dh(9}Nt`6Cz^9|_D#T^f^!@C)wpPMx zEfdaECS_Qg87v-s`lH-paP(6E+t_@#!5WA5kZ!8-F<`=ClNTiYoKX;i;%h1Ut+#bu zC`P<9C}A;|ds7dqa2C71tm^w>SR?(a2t;O*&1QhZ2Uu5{NRH#jO5+*TONa%e|7FQ# zdSy70d~9+%;qZLmw01fp>VL9FnXdGp%I1O+To`Be_>yJJ zEN9fxA*>`oN|PK52%%Dkh@ud7Hx&c3o{;sg@f0{HXCuKYXL4l6$WBJe^p)hxv4LPu zV6JK>%iuXz;cizz?jRQhN0=v;$gG6VMGp@4;l)aj12=%K^0l3DW__RZh?UElng?{1E}ckVsBz8b??7EC!} zY!M@l_hGRChqJRU|B}yt@$)`y^V8U(FMT_0d%4a)W^2v!dfz z-+yp^c6fL?^?s25Xn8Aa<%34}dUpQU*M9p4zVCZ|#Gm^whI?;q_-NLmM@KuIwu_64 zH~-Ynz2FPK>U7-J-iD9vEqt?POY87)egBD^VGkdDU2i?@QRh9lMon$mZV}-*A%Qra zt~C%j&y5ukmTaQ)Nx!SGa)Lu?&O`^p0raJ1B~Eyt@t7>NP`VGp148F$X69q~7RYXp z>@0SV412pml4bo8XAp=KmO+YJP`lFrvllm`@{ypL-3|#(gR?JMF1ajUXjZ+2G6OR{ zWDFac#8&l(R0%_oHV+SnNA9Z;ySud(9u1bl8U_rfnwrMTB4T)Cq9#-D&1%)rB;>8B zF1#>c0um}iX*qB>Z-$3F|DLE&f#;O|*800YdN=5fHHG5rbv z*0r#()Xze1#x|{rlg>$5vTM|}G6b#J4GgwRU(l;U8RUq)pP-z7!Hfp_Xie*B#yBJ4 zV?^C)*@UW+G}&;X)e=$)=U6izsu~EO0lwQ6pkM(Jw(X7;>=);I%V?*jvg+jF1s*rO zl6*sNg=fm@SQ!835aLa}NTVYSz&nz2_y&Ku86sLHo@{Q}YT8&v6b$Yui)0iu6lWH2 z%&RhXucy*Q9aUj<%UXamspL@__3Y@#J!(3$C9)zn+GHsr7O_ZjR0L`i*52_56)?%k zAiNFKX2|!ZVk{P)r1MdozC0hwz^>E&qp%?xh{ zYN!@-4ps=ot3uOM2la;uUCtK&8XOE-O9hHnyHAp; z8E|tQ2AwBM|J&u4grs_gsA<~wgqZb9)vd69artMVb|?9GR!a=3U0OsM-8@EYQ$u+85a=TFK0LELwd1vQEG{K%K4zw5p&vL9!$+Vt#_Es11t0&Q`04h>g+0X%7OXghLp{NO4l% zON~j%euE%s)bvZPgWw3#8S#Kj0#z+@Xr(WAP6yEYl1vy0={(%)URY=BK~*|FoWssd zE?-Je?z}|HSnaTLxB=ka(;ivZMfPzdd5_0qV6?S4+=14+_1?RU&DO)k`T4E$Teq&Z zQ(F(qp)ZHEEz7dDw)EbxnvVzf-|u~%`7=NMoiBRc-@G12Yi&8K+i7cNeQB~zT<|IKeS z*zt7iy=Q^!g9i`Sb@|HIyzaR#ehiz#$MLlF*0<9sx$$&;ef7jUV%yLf5Z2qpoqO(K z5wp{dUO-l^XW4q*@?r*fq|jAKAmz!U+E^j0tN0T~iZbp(J=;vk|L)Bxf?h;g&dn5yC&u2gPNtBNxhH&fXY(3B;?`C z7^M1g**W>!o;r<2gqzDc^GR}=ex*98N_e|)LMEV@1*4&*iRf$qp-T(0(o5zs_J8RA zXTUM%(poF9-(|$tV7h^zI zh7>*b6OgsGJTF141`$PnfuI0u_>{*9@e2((fEWs@Qoqzfh>1io!>$%e-!$r^Y`rp6 z?ov~ggh7M%4D9O9Cb`l8sQ4I@X$t4*O@Zn?@Z4SDTivcWUue5NU^WrR*w8XSC{Vr) zg(F2bDt~7I)@?`0oU9p#NH%3oq{#RvsRKw(t1eT&Wwm~ks%=^gs$qB655Ra__KsOq zxJm{fg~DZI$V<I8$8J03~qA&j^^!W+u|vBqI~w6HRCy^Pa`b<~(NdCQJW|vk9YV zE-Flt&mYxvD_kpPAQrHF-Dh11toc92dVMISNH_w6Ye3WdT<}8@CbeRmd!38tHKutF zfRxc6uLpGrNtCZJU8-EFadPg|S;$L~a=WdbAMQKvDd%wW`xy!mac=Yj$dS{C^s>l@ z!^-~hJo!u$2LKM=X!EvX#!JKiEp(5J7U7!|JNDc!obY}Us%xYRJX8JaB( zE%RNzorbZ>!r=ok+{4hv$#cBTvUY==9hP-nkJqP<{kXsUzx~V`|H6m;XMu6(3kG~U z^~C}?e?3nMX3Y_8=@GuP_Tc*TnJ@X0Z}^t)i7|$c5w@P4^(E^ZqBVmL%|*=Isr!i2 z@#LHT{_nr@(?0iQzxmt0eOL}jitV(m=NHd^`B#4RH+}b=J9kfG8$McVW1N^i%B78ZKRj_GR;QUEt^roC2zCzPP((i zVX7Zt;kE)D(v!*0E}qU0^D;P zuQ0m|xlH~9(^68UU5Tes+D&j!(SjV6PY9LNlfAYxbBJcK$rvnH_wRAfCczx7HLg60U zfjMb)vz%iAL-Dyuu?IMuBf`UdS$bc4;anc?)WZr9R-HHFBSIg}x_mRBQy-?%W6nga zUnUSXNtkPv%L@gYs6PkUCR`q?^nX$YRlCY~>a=vF;3*OL77+38LnLLY1b@V^`QFsg zZ5N`?s!m0e02URK&PJC*!J66^P;kpJms-q|@k-V(@BD;$??LS5-)rTT{Vk}{vwYn| zQi3`K0{LsKUqVC%h}rtz<|yIBEqT6$TCo$CojhVfDSaM9ZxBQgZ-?{Dt1^uQ zh!Ittr^1J<)5#7S8PJds1*>v`o0#yp{sPt`5}?O4(TO=Ci8pgz#AGgPEd*9fNnti^ zLXcykz+E1o&`;br0?m`z`4;KO*6~yFcNNJzW-v9;vW~5`o4{BNF@>vRQo6_>=Gr?O z#h3uiSnRQQxywdJqNYUg^lh^2+^KOUsYplfAW^wZK2~}zx2uT6tn`t4;%fNf|We+e+3-U4~A-B%OT4Gp}1AzWnlASh1Ec#x;ta3MHkeOiHef^dT&h90rF8X^}gjQrK(itn)|XF+(yGR z_MgMl0V;79OG5a+$FtR*DKz@|Og8<0$+jZEQZqh%sWEe2nvp^=n`K*qgrZ+wR`Eb&9QHb+^1mH!Ym- z&zx4bowf%1kALv^$9~$2e)PwG=3-q=+i4qqaqD7P7K0tu)y(2Fu!V2KT381x!iU9J z&(=V1%kta5`-h+K=`Z^AfB#zn+`s?e6z#cx`<1VM<4@eVyu7-4U}nvlk6{_GJRKjr z~hG;5HN+1Cuj(F^=6cA z2#zB|%@;P+;(63Cu^I-InZe%V#G=9g`LC6VkOJi)@Rq}h(HKC8&#Wn71$~m3cdM7$ z0I?dmu;py>9fm8T-*{~@fb46RPzS`^W+=0tPOP!2(x$;^&AFq*xd}vC%@Q*+gsCeE z6LZ51HTI{1p=K$WUcVcGX!+2bYMd)fNM(rhx2@$ch^7mI8-U*L-Md$syucD200TU> z)2I#Bp+MLMqO9z!y41@#F(8cSB&>cT=lb(tSfa?oYZW#MOj49)0)jK9OFP&4fv77l zlYG^=%gNw`DET`hPyz3WDeV8J>&>HW+pn^~Z_eM^d!KWg*QR+%=n|5U1|>rU5w&be z(4j>Y_BBM*LKJCY7nD{+5C~{!Dt1IgP^@Ag3U*a8954pMvWFBJ6_j9tg&0XlUS4zW zJ$tX;ob|{2zPZ+o!-K=TyU#vr{hHZ)v){|TjWR)vVY(XWSZW6B3R=v19vM-&`L+QS zfn$$B3sdeWpZXLVop`I`dhf0Yj&KN7P+=gkR11N=x)kQ9g}2MOMmO&DtT0sDGD#po zk;vC6r-TbqqKCk(jq!a+``r?-{ z=El%at=>1j<>78kC+I2VD|RU-5ZVMjB=2)4K(rcSAcw#N8|EY`!Y<)HNDn}2^mW#I zwIe)Aq|-9O#lOigg_}mY8=DxrhClX zj(QMs7{E!HB~2EXRdzc740ksVWaX4c1T0-`iDPYRGtU43AOJ~3K~%=9X{?^oAPMZ6 zJyRc4W-?vT37jvNbxs{SFZAx+JJ+|a(xUp)`{Eh1x-rUAipV+Fb7GER4$Si!=gT~w z&9Gk9d0x%pyk1`Q>W}#T@B7X___@Cq1~*@9DU-v;fLYe?AU9?-Eu)xXjOFb=`V+tA zfBk*`>|gxIX^hKU&zE&QUoJP7SP|8SbA}<2(_nd7;}UVHImdKw-@kXx3x4va-t(!y z_4obbx4+}P&ph{QKjU-0`|te2Cmwt3x%>BF?qfvGsveCwZ=Qb+bEcu10bSpDG^NZ~CfbV2Txwp@Z1{%xB)RKP491Bt<}?x*!FGx` zv!In?Mxf?ULQAcu;-W+zQgd8`Qrnf1M+ByGBPTI&oS4{)#H(j#rD2%Ui zCjCw;l}t3rTLAlxH0072m?;P_$F-JSU6*HXv&-+mg0+ zW$5+REJ#|OAQRl=%@HxSwJ^9`-3y>uLk&22M8vVWXuW9vjm{<#L@de1!l%M)lnhic z-nx=J?oiJ|baq=`0-VvPichO*pj3#)?WkT`-!sKL63 z(}3+tl|!|&3Un7c`%yHyqgG)#OJ$+cs3aDQu@C*a_to^y4?ox;>V!5ST9O6EbxgIBPNJ zY^~krCchES7yw(|7Gsbm1kpq?WyW#!!BFXTToPE@+aYqPqzLq0*>5W=#@m{SKO6Z0 zT{eWx^fv)Qv#kt>`&N{>UqrW_1YF&UAT~Cco12tC-*&%IDSSM32^~_7kSg8NG7fjn zltib>_2qJfZf2Dmr%NYwlLtCmW+%jQyS^>ZzvCN`isYmGC5A5W76hr?k1a7} z*ju@)Lyq)H&o*su$_Q#(YvXP0ra+oi8v)h=c9%43H!3~y#$8H~--GefQ6O z-D?BWZ5RfSRY+E}y;NKxu+D&Eo$KYYj%E3-zyJN8`sr_c=a0YZu=pirrp21`GGo2m zd+_{AU-smhD-3haWej&9GcIfScw^>zJ|pdPINn^Q*?7;-zW+D;t~dUY|M@e1={Zyww{`?O^gRGf2Nj#r1PTQS3BzX}W_G7-%A5UHzyt{H@z z3r5oZQ<6@pK|s-)@<<|+WwM!BxV;Fb=wX2HK?1N9VO1uS`P3>cizQ0x!OG0a9g+zS zwFq|i)BHh5ytLj48Y%sUG;ErkrHoVQzxzBKp-Fl@_2rhfa0?QfbK`;gQVT*o5Y2ibSlo7>|JLHSD2qjGF%AqXUWoea%Z@}?Ag zuhp3GWweOut^FSl5zi)*sO^y(#>i}V%2m^tu|E6S_10K_d$KWQYlG)#fMeE>HPs5= zfF2aWXHAtJ`pz<&8(!Tyg5(a3@d^PD%kn$hX^ZIETARAg5J)zlgO5T60=KGfqtNL) ztZk6Wo>b??XEh)uZCReJLaH_HsoI=I+8U%BKt+EQB5N>2btvSFbSp8neW)q)O zV10&3TGzn z5{}%Ud`AW(pt&0LyeJG?0*+Fzur-W*^tU`HD`yo6-&#_$ZoAp2isG$Pm_kf#+Z+G_ zlm^YL$EBpsMESAG6IzB)B4egintSQ2spUlbxltmoh_=E7b%|`tlc4LpoFaqy_w1Il ztzVWy`{`x%ZPc>IF6vicnR4Nq8AA=cR-N;%+oM>Pa{v;arg(bw=x|r`(=f(xuWn7< zZPJ)iTY@6XH{;E+iHtcpeInD#AzCO$Z8;)vSqs+47(`xOT|M^b-7?X4xqQfoSZ73x zav{&ibzUCatT*R*xruo;%RJv$+?jL}h{Nds%iDLZj;G~=_wN0U-}>wR`QQ82U-K(J@&5T{ z85S`s^B*yDuCY#Jx_iVWGLBbQY2$G9$juzjK0j|=-#X9rcsk~smN6S|;VKtxurD>L(&ebE-ap|;aX zshX#;emKq2s&bJwOszga6UdMgv4#OPX<3Oty%x%H(C2Ec(rGkAHGJBX5vv;JoHGu` z)2-|4%%FvDJg+%tW!2IGoZ*{dEWuo6A=K}`lXkLCyM8K!G9wPlvj5zyfurh+q&p}N zH#w<=wRJJod$2^%uuWp4XFs9jKiV_WZFx4uqh0Le9u0<&9x>?!>5Ed(?5_e!JamO< z>H1cpTQD3cs6r9i=g{re0}t<4sLqp4837VvJay(VVLWC$b^Ae)HuN>yQAp=0HHI{3+<^)g z(Rgo4Whxo~83{bh&NAwC*0)1W1x2xFN9`()1z(9~sNDB9LPBi=h)*&$p5!Ow&m`nX zcAcu1D*2+ADU*hru#n`Kh)NtzTLQWxSvA`RH^Zz1DuIHsmy07rS6Cn_GtID|;_%&o zXz5FrmS=TW`IyRbu#G=c2^(E+UB|}SeHl+&!lub`qn_Qd_%*_T?$gX8+$41{?ixhciO1x1@4@YLq==`7hal&qqPHyx~ z&w-$lP&Orhe^CEZ&R_$|N0pMrZHdJO)4lzXbY7U514~nuaOz0m33W zJ(sZ#M1(87p>SSFiG*4KTJH)5=kuGG*>b^4>BUBol77fdiWkVM7AEREQ2hjt$3x9O zCLQ^x8KgQw12B{xRuOa1iIQ{1SO%lxh31C2+2wq>d2sXS-8-##GjsTOx^61$MwPek9^&$zvJ8f_c#2U*Uy~p%WzyGtL-q& zH=~!g{7GZ+^|B5hKl#)D^|Suam;cirddHpXQx1&dI6s&-H<#1tG)|}U%s=+|zw=8z z_cL?iYrg37|JA>H=X?L_2j*p+ReqcR=De)qu(*3z&I~_XAFd9UHJ6e`a~@Bp^UXPC z*kRbRtPdVso_p5Z0_7;k<#@cheYg6Tr`l72Rgax=otwnUol_RY`y#}t8Z96yU9eG6 zS!xM`#Tc0twt@Me>`Y`e)sA!<&GP+fYePOZ?vj}*1q|wvu9I=5z-P8gvV~G_ ztX{MwIf}^ZILt?5)s5|{<1?KX=|-mrK@W0A@2pxgsa(k*3Z;}S01-DV%tm@dKT`E? zRct#&k*J*6O$y5iy~U!XAL_fjv8-e>GvtIH48gC*Oz%Lq&IK~>8br0=g*Zui z0SfsPrH44Kq=qPEDl1g}N*Jo&cVc@3afk}@u&KOKzU{;z9HHge`a+Jvm??#Vx(ep# zNk0}ZwMrylEgK=SmqS^sRHCeC4>tO(8}QMs+dG*jCE`Wx9kuJeiP`dD=TcM$yi8as z)s0DmJg3a;{_G9E)S(dw_|np^@lsPuV_zd^VFYWZ+xfuaBaL7Jxx38zayL5+Zn>t2 z5yEdW&-hLF($#WkqG(b@Uky!9?UnlyX_~-llb)_cP(pxfP3Zd+DI35`Y6M^x(@j~iMqL2? zR5hNN^+0voR%yHCntWWYzAKwzfS8a6$svJeDw;4Am6~zaTpC%3MS&ZFr}gzv!oBhw zs^Oj0)iA5Q27d9SWq!M=e41Ccpd|gmA}6KNiUIqtstVTF&7*eDdgATOg+03$FW<4z zs}y)YyiRM_R&OVn3&2N*QFvzcuc|;7&A=cMq&1=}z#$n_CplU)(^JBA$;3x0Ki=v2 z0~BgkVAsG}8r~mQz=)u`*zpYMKP&^HG+N?a<*&9k#)Z z-iYjVA_0sNIlJ?h)5zVA$D=uXaUW*p$*c&;E9>#J;S00=)p)^{F_0PS1dtJ?tc=Tg z&T6Jk8J!7?WxVKxPfFrvCVX*Qtazjx(y;0=yT-iC^*lTm;Qlio{FR^bKm4N~_**~! z4IdYo)iE(6=s;wflOV**9L|+4%lQ6({6nAen|{wf|Dhkbb9GoVE^}tuZx!3$~XC_gpM%8;pnh%ha=;1#*C}$t2A390W3Z+Vdm?3 zwal@&j}e!3z4v^p2TP3QaO=@03MOlqRw9#g(ww11H0J0W2QXU#89Ac@FF994AR^{O zMyxgai9W4VhG^u(plHa5ITKluCyLHl*hzJlW)%~Qh*`3_l#e^ykug!;?pY}~VMt|6 zAm(iEJ5x6*&@(moI$~eAB=0vi_-yoWkE$h5kkG}h^>CigPSS>wwiC(jXS7P9BDWHT z+N-36863{=OC5kQd)pW}3>HXd?XN;PJgvRQ1^>r5jl8VMR zd?h8=Xr%M$iWZ3y6Kz`cdxh(2%Ny{gJR~R1v>qH<38E=Ws(SQM4zuYHw;#JlDWq)J z8t}XMSZWHoDf6T;0ydQdY1=0F!mmXrxj|~{S3n<*R&avJNxwBEgJ5gH4G2M@jeMgx zGW~S97n_)N`%N)6 zA6z~@jbW{blXpWQRWR`Z{9JOFnKm09OvoE9+Mr$3S!%+eM26zE_BDtvHuS9DG~vnm z5~FRt!X}RTN2andi9bOgEoyg>>Ibi@rTXY9S(c4)=-;do!wma+PH(RH$vO$SueVXP<291rAvc+8MiB^au zkCmnmQ@TH>M(FF}6hqN*36@=DGq$1)83|<-xVifnPHr6Pxz%jl-5caEp_OAjzEPA) zP64`9RWh*l3r0EHHl<4Fk`!#fm`h-_`zAfis*FtidVw9ySY>UgP;|%FCewD8EF=k4 zSMMgzQvw)c5c+Gd4mDrh>7H*2Z|MK9(XccLNr=X-$?sCX>`Bk`I7lvJX(JO|R!7vN zhovQ(ZT8=V)iXPe4Mo9q?6(zP=cVgX)Y<|vI4jWga zOnI(dmy(j1y1~=c$=E9}x+bp>A{6h_Ax9!3YStggwF(W)u`F%|^O0t+e8tOO^uiag zwJDoVrI|hTq9-fosA`kUJu~MFvnrYg#yH%%_A!t#mc@aw;E#Xh7ykY4`D>3na(Cu> zSQfejsAwW*s^yBWbIyp%TrV>gTmI_b`uo4__q^%9yys_z`FXB~Wt?v=>t%iPkvjqV zh>v*cZ@lemf8(e8^84qrFN-BEYyRp_`oypPlFtjoGDgmI&S@|oKG&IRRav>Y#TprL zS=Hjez51fw```!ef8c!*^jXuRuI@gTfXheIQZXB=%25N+IfJKTr)Fdse^8;5Z? zjl;PDW%+584HcttW#T`Y@^uXjK#xRlAZ86SM&9 zzo7Dh&G+Q}R)sOL_)$X5^l@}X03X7|P~WO?F)dql|4bkvr*Lbxn4Cw5T!5$a$HMJ^JV{1~wa&t?Rn3LhxoVi;P)5{y}@Av{4rD9LgsCy7b0NjWGgV$#vOO$$YoS;+1y#A^G85P+w28!<%f4W_(P;!(|P zD!s6I1n8*brrVBbsMcITCY8UC0(b{ErGN-mw3a$JN)(vwJ|&Q9IJu=Q6>iCP`xw~M zbMsB4lAn$JWE+)PKYz#n$jmKc3Qa`Dv&!8+sW!Xby)h43S8-N=sZyGKM-l)V^_X75 z?k~1&)3l%{qKb0Bbw>eagLge$?i9NCSX}imO6=Rt#%}-%c#3WXQ2AxyPXlV+0%eC5 zhAkvQoJoIBHe>Qgl@SUVd`&=0v1rnlP`@)6m^NWWvBJJe(N_8tq>qH+P4QiRN1)df zzo^%`jysv%wE>OXkTK69D*;qzY1TI;k-$snKViIh2lWa-)UQP_sU?tw`16p1UpR|j zLsqU>Dno{ip8J0Tr%lc>#b6x?#N;;>^Cb+Y^`KKQfK3nj`4DrN6`cX~ z{H>@CKt|L}s@(}0oW*=KXw#LI;Yu4#PlE%;<0&J|M}>4a%bAUp5}0N~rx)Nv#afg_ zMomyfSQzGI9Lo9$aTT5;k(_Uu`RJo}FYENfF(TY6@zj@PL4+SIV*255 zIxg#j^U>|zv-dvwH6QhtzU3Q!=`a4o%e=U`*;v=!tPRHkOF0XstE57s3f6XgD{KFpHT#memX33uD%>g{*8k#wnRp*7)#06Y31cJ1MKGcXD-h_=VKIF^hg_i>#-*= z920>03W$kl(eYX_BT9Ldn#$a|jsP(Ch-%4QmE38AO>feWGfapfA}Rv8o-eTBE}4@= z@kS)?r~$P^ma(OmiOy6uT?&(0XH$M9u_-hf(6(qol1QmQ zglRUIpnMzswnVh%Wx9K{M>Q(lj7pDnCXqA#;VN48#>(i}TSr@KwyMK6A#!2&bWyoRD1 z)>$?*X2jNfsT^}H*+-wP3d*JHH?awLb+FAev*mD*O~JdeiEOCg8uuGgAn5l#B*!Gp zSnpAgLsjlO|MUzZn~*x7hq1~nG6R0F+|q+KA!#neEVRHiS#n-VxqDh43B3Wr>+N)^ zWcNwue@b79l=kstp}vqlYIQ-Xmmc)(YuPp@TZ>j_Dz2wZ4?UTFG~$lNKfNNinhr$W z;?^|0TMv&VGyD5>O?}Rd{jy&Qb;;ZDhcT56QNt^+gP#TEp@6f*7k9yXsaPee3tA#( zb_PFH?PlI>NHUwAf%d!Ck~HjW!?6`htA!R|sL7=Cn2B1rMTwz?iPRt!f28|?mq$|7nh8uRsY7&6 zbqcBXhj~@7bZ4w*W~4@p?wm0@2!g)rm|Px!IVaa7n+oJgpgN0Y(`Dbeq7}L81KpII zLMI!I(&-*ELS+^8C#L;{^2$qg%80kP`!9Dxtw0rIbmb-dJcd} zUf(`{_`N|~Ur7QMnU+;;M-DgD{*$I!>9$8JHUmgE1)Pp2wGgnJ4DfZ+!ZKFp45S&m zl>^9iosrWFmbUl+ECWwG`Q$J9g}>lMPd$aoIW@B}02?-9jdh(bc)<%I(#*#)Y*;4T zI7z?^?zW!K>-i?;4CHVB9lz-Zf8g(Y!YBOv%Us=;46NtX5;JphHkJ+Z!?KLwZs}g4 z5KljQ@6$i~kNlax@EzC3)6L~FBV)$8u7F=%Up;&O=I8y~SO2ZQ^p;n=?4@hO)zwwZ z80Kyka~)%>Ykc_|fA??yEx-2u&DntS{Rg>5CT1|y0NW%i4YPl!*G-7AU|(J7bJt3JD@2UW5L235?5 zVm&ENte=l=1%Z;xw$qmY!5=lj2H`3wN};;>Qzb&TXX<3#3R7>g9g>L3wczfG`>N|P zl!a?Nc9k#zQ7Ik6EH}l}u!wi+!!z_`?ATQ6lphCFu9`UMa)u{o#Ua*s;_=68Sab_E z1J-rTOm{PQL^4+E@*N*u){J8thjBbe?o9vwdgvHf(+=n zD4<=(g9-MKYJe77Kz8flCuG+Jp;UPsHk7aee0k6I^> zG&7m6+x5S@z&Kjl@eib&66TVt(hCnkU_#DR(OGL-G8th>uY_{Gj}J{Fn;FwMT>A;l+LL5v_>UYy7@nBsAk|EXj)QdWI)cD=Qee?$+g z;mkS77XUP0m4oLS>G6L}b@}eDTmbD>+?;cE1cY3w?I9B-|O+;q+xdqPcm$cNc)BwsW{h5=am&a4ZWqf+0v z)p|ih^xmzV0VTUkN9<?o~5fMn=P81|^s)M$y}5G;C{AXjv|>Dx=x7i&aT( zyC|B$L;z*x5-Jv4)ITLUl9L@P_Bw4iB=EVf;xR}XZq!6n=j#2k&Cak5)wiQv3KL28 zuqr^&FK8~)Xd663+eV;wv=?#?nqiw~auq2603ZNKL_t(U2viZ30C;C@f{sjHW%-yj z>AmE8?hGEZyQTQk0k)pBEGJ6I-vQ;rLvlY8^|=&6bbUA)9hcLnd;3_qkJFT@B=I;3 zq`?48RD1q@K4nm79DxYC)Jc6#nK$GMNg&de+Kyqcog&OIyOTimw3I+t>%Cdo#+K|8 zfY5rXoUbKQB0a5i@?ftS2Xa;ypUg~O9Fd5Qz~Xc|CNLwaH>quSuXv8W+=#Rq(b|?w zqQ;j-#<20~k9p-szWk#YUJC184OM`e!0~W={@w#i#GECY<~j|?i1l*u#mDf7Jl}h8 z>(=$3dh?fm_Gf;^&E=etK9;#oB)khxk)ztRMk2z7MFJUzW&FSY_MM;k#xMDacm01? zr)AnaEX)1-H_KtE6xQc&&Y$=RANx1n_Lj$PU!T``bv&)-wUPr1TVLiJ$K&O^e&d(F z=|8^fKmC(`_9KU}TrQX8cqsffd}L;nfr&M3~vF$DhQqWTcxX zEHa9pXIB=5T6H9pJb;){lOpPZ3R)D_8)H;5eP!&pk38MBt6MpiojRg~PnQoS zb!hb+YF|2mG?V4cq|~hjGM4xkiZX`j+PrQz3T3GPHH!g2rZ%>|GB9X`OuDU6*)^I& zMt8(E)#HnA(Qj{Pm{PpXNQ-ZvMCwqQ5lWs;WdWvY z4+V@DgSvT9eGQG`iZL9a4d&qSr#aG z#U+Me&^ZE63x(hJa#Hf&fSfHS6}&AO7}&{YGtR6v>Y9apz06HL&439Tm8Nf?JK3np zYYoy1NV)l-&qJyzclyZ1YXu`q5f?xcT!Pe7eLquPuc9v#_<300k)aIeUK$Z8dj{2~ zwIG2om}IVD2hxy984pFowNt5aE0 zJF`0*qk#xEiBC4(z29k@nG2QImMKdGmL5*$E(wDuUJK9j$zd-soZ>XW@c8JxR^D~ zeKE_Kk(d!rz2wEO`IuMUx^*W}MQ;X#aT-akm(^g;KY#NDU-~tF<*$9$ox8VZ%r!Ho z`S3X>&Cs;P{r-dV$A7{bzU8fNe$A_1@!)b^#<0cL^BltqGo`^i9d0G@Gi@xTsNC&4 zzUTk`qhI!?KKRTtemFdL{|qxkjHSL{5lFgN=gV*@WO8<{>jmaV zU%vUPzVKK4rq90j%yT8n-8^OtAC&KtOI3lK-X9Auo zXft3Xy_IlCi5i1yyNojjmk~1x&^R(L7e5^Qu_u?8eAww_A9;Auiw}1mvBPoAI2;ZI zl;`a zv-Ax`j66h}s>ybPNa{gNzLK>e3@^V%g#dGC|~puwPONvqWXtGgLsOT>-Pm z9KZ~sw5+vpLO_*?CzoadcV%Fe(vNuIlTTuUz4VCOd;VVi;ml0KpkpP<9*6*}POJjY zn}YV%I_<@i2{+uUg4w{1$(eyLTj({BhZ`*qcXF@gvmgT>3ucihuu$)3jJdM1>rS%) zVcEf?u_79GRLG?qE-pQr?e-x)7ETo`Cjgbymu6BXXDe{wIn8@12BC+o0K55aznS~z zZ^~1elx8%Y)5?A!4?y5t1c<&BQn0ndt=zDVZd5A%Nb12_N6~Xi50a!IgiW)2vuy-o zsLM3gU9cO8ErExB9q_?!!m3L6r4pdcAf zgy*KzI38u+X#sJ?vIJ?-@5nv~9fv6bz`rRra3=&{_6~T&DN>;OLjbTI-jrzWnNb3@ z92nTacLs7|$LQYH6m#mav_ z&ys?W`Rk3nfqYns@dTKkM>D46h9$-hEp2>??qtQ&a|*ck6r>h!8tzT#yc{$aeb zh)g(a91cLvOh=C8@UQ>vfB4;>^GANfP>S~QSX8;Dz!_^UC^MdQE)8%rxxm-T? z^M2RYe8nHVzB<-5MF2V7m1bTSoHecjju^*fU8k9)`4@lfTmQnh{-2AD!|5svSGR7( zdf~njz8se0m9PFC-}8Tc$|wDTo14qJ#s(UlxCA+U;5e3No`3L~mw(i&U;T==|I2?p z+;46!hvQ*cmay|+T3%n0iLI2#`R-Q_~C?@g;E2km;eHa80Klr=#l8# zrEiYSgEb4OMGP~)zBNATRadY1Ij5I>_~Gu|sKINInK`0l4D4_i%h7M&J-zH@S0D3w ztmn(qPv5-zoj33N(aU>(+Hx}EjpRQmd0;Xu3&bQDESt4cszgdbIHryKCb`NzF)0FP zt)7~3$>NntlasGY7|WgJG@JDqxm9@~6hs8cTPasW1%9QBlWwLYG-@8;WwZ9lYTssA zPGv~^)}Z1{_c8;blH*GoLi#&1%bu{Fg9hmWt+gsC*ch?7eG)Y@EJLAWNZV5Qgj(y2 z-7v;@^2x_Sxu5!Vp3gUBdN?5o!LK=U{{%A9+Be+FkHVlqJdxAku=w!I#xj+91{PC< z+=A2#BIAi|Jc~3}%YT9b1A_h?Q%|#Qk=0rTnYjjK9MXp;*lv!N7b?xnUfViVNaTUTy?c!fa86y_Bc0u`Jx=Ck+0pVp(c*${kK$=e3tN-ofE zbs{RAPMa1jYohJ5B@`EWs(X9GFZgvP& zUJb7|A!$Q*&c%*4Qetphn76x#9FJ-@N-HRnlGh~H(btB*fp!xQ>Y;#(9zT+O%Q_i z^NUxbJdP^3euyBHl)~W}kv@1yEtF_`s4$$ZuZ^u&XwGVNHkuu!(?VCSrL_n^3myP6 zi!zc4gUXDm|88R`>CIq20cObcpjmpkDnP7bG33l(Fr9_~6X{&+O-H*~TM7ch4I@OR zrC<0c$hx&Y1kzkXXbGncH$F@jC7MgVOK5-rQ)|(L{(F<>d`CyZ{Z=biSWOmS3u0F| zRb~Q&$<34rPXL>`uGWOIR&qmBe2bt!J+mSS%}%EAXGAMbU|!eVqrWkAdwzhpf}CZ$v(D2>Iv4gQ%KcChp$l9-Ma=aROIf3s0z@m z>w0x{{q5iRy$uX{vcfR}Y{=n-$`W0XBS)YDcFUQkiPEBI~0x^~mkvHed;duPPAO1H#@vff+ zY%Gp}F+Ax!w#>MB?%DIRA7oY%!hw+%hSS~0{CE{J+$w3V)X>P747WR}$jr*q*?_ye z%Cic5(-Aq`@^p24&Bxt&!^bZ#esPYGbFS-*Nb`|dDMLQj>0amvNX!STx%oJa7ryAx zr(TvH_wf(j{U7hY<6l1bsdvSCz65NHj997&hm}ZSqv|mLB#o|&s(Z`8VDBXW$tF~# z5i-Z9!ieP9Gg&59)~U3lBnh=(b7%?wZoyg7ip_!=Kr~`fPC}c6f=b0dnF(|Xvdj`A zFEjZ{g;eweCr~#Fp&oO~jH+8mTKCxj(^5WL`a4H1q>@fE6P{+nlg&WVm~-Pm!Yv(c z9y1N_;p@#TeJMc)@i_XFIGcIKVL3ec_~RupQiqe74<6i<&UNLnco&LLc_1>!7#!T^ zm1uABk2nyOB`c|vV=R)tdzXYEHC4E<%hqRt;LSCkMDn>^EPIzQKPR>Wb^u#OrVCiL z9@sf__;znEAOSvdJGV{ZN~cM5Q_VGjw3nvWT&;cWHRR}=YkNXt8y!;q{E&YW|ZwgNGnJdn2*N6D1LSTs@)GaEHyjbL-C6zV+K)_v)8_>aX}kbH*~3%jHsr z_gF@(GuJ#PzU8~V=g+?FuRs6nbEm_S8N&x6=A7wcEXVc12hY!Z05&FooYj9ma$Z0B zm|tDRoOO$4o-?Y1qq4}8jn80k8)S^g%IwFwt`(UZIMirk`>0nv_DlZ9!%IKRd?2Ih zH`WLVo!Z9T7Hp_b?| zr};qUj2s1LnYxqKMVz}xUCE-N!)~S5u8m?xbFXH2*yIT_cX<+KXq6<37{+)qDy^T` z-6ZhpD`q8-TX&EhttQ>EIZ4A*aZ}Ya!{Ay^DELspE~}cE0t%cyX2TH~P*hufQFw>4 zOA$C*gy?%EfU|6A`gB1dob5`H>LYeh-Jw)N8q9}91$ltXynXlf3t#kv{xXRSBhKd= zhn1mj=7V*21+dfMS%z8c50bV4*J3r-i)n>sb~+u6BLe9ZFgG<}1E6}RLX-=;hZ%sG z|7|@0|DTJcogp4NU%co9igfDJtw4nuu2rkL&=4%O5)|PORjV!z zw%b_B*u;(ku$}XU>!7{M(Aw(ea-&ZW*wVtLrcmlQ&!mrp=z<}L6ohE_Td2&p@WpoR z1in?i?lhoEhbykq@IXGg+D@<=uLMxP2pEiMq!oFX!k+S@54XB#>~e?D6NEPKQ>I0u zYhagnrp5=>IFkv7{cYkaQW5mEx;@fmNfNEVEd%YM)-}q}LSRfPE}>nlTC=+=n3-dt>xu&1i8$r|~o~Y^Dmc10?*2%Gy}W+<d1}wDk&I#%2M^ z@a-?4)mX*Cl0DRzLNoa)qlD%g%l%-0dgSjYXm_YE+ej9SsKDnj4QAlkG zKjrr5hQyg$pi|t_c4m`Y>G{&Gb!6nMR9uDsl%E0Mi@4-UkSOUTw+W*QI!~zz4qcWt zmr$~v0aQPoF;pkkdAF$?pt_s{yO~x!fYDa9R0|nOu~OiQAP-+oS0~1c!78^ZRL#s> zXBC&bTbiviZ{I$>{~Y;_TK%&;c&@3UR{}6t{Iub>~L5n;^uNGC^3fDG_7SBpZ~>ge&L`0 znosySuREX5$HP*dh0BBUvMlfZnfHG7ANi9%@{WIh>vXiZ++5;#ILtL*>4zoPy!V0k ztq<;*FEy8y%{XITJ@(kRx;0nk{j*82IWl6x%YF+HE%jLuYIR*n8zYeibF6`@TepAy zFTV2&KMB`YK<1q5nzjrSGsqFpk`-A4zX2fKXNKD_v&)3LInu9ASFe5D=_5Y!`Ty{v z_kQ>X<7a*vHfCTsF22}|*;U{Mt7_xn-ehG017#{EI6P5$7;e_J=Iu5WjFY`u@THpJ z$l$~V!$_{d45yMl4g>rBSDuNAEa}ODj-xbCNicnEX4PYD8#LZxKeHU(ZD*EhPu8gy zk46{FXR>;*x_b>UK?t0rYncdyC##xRozqjm_|9-syDf7hV$O`2Gb&`9`ldn*O4)I#G@mvMxHWDelmnlrq{oZxm#w za>mxsfJx$z6(*U(TDQ*MN_IQlibPW zu+w3c?smGqLgvhHcOQd&?Kd?9b6@8);KM)cC9i$m$DB@AOge;FR)-mj8S}E5`+MI1 z{?GjbU-}RJ&JSGOx)nJd+{~j71R~;aTIM=W13=C>-|&Xle#@Wxx;K36Yj4&I(%r^f zr>b&WqEUQCgbgg_mg#BtE|)+4jc@(Sf9-E(28N$6>+y8$=Ido<+V$0OR^|$F9ESUn z8RzqPIV|gCBI9|)r@!%!{q4W<4X=O2N5Wwk=LZi?*H_>AH^1*o|KvA6^UO21uCAVc z{<(F=7)vz(%|y<;JpasmaNlg1Ie}2uqj`Gdk>%=E%+<{d176)Qlc>6|W69+(_hCxE zDB-%!X=c7GNcf!j*b{eu#s75Yb*~GA0dv+!SVQ^jeam*P@on{->R!h(gBIE|B0VxK z;F-8{ee37_yz7sC)iXczPo96rKVR-WheX=&#fMv&(q`^MU9}S#U{{&$JSj(+sV$d5 zF;Z7lt#p4y`P$71ra={`XMx)6Y6iz3J?VF0VS8X5_JmJ}_>V&>^qvV<`Ox<4|@##G^f!{C+S>>OOd zuwgkZawaP2C^IvCjEHq!CStzeMNdBZ$Q>#GiL@DWMw;84F@^y?b5^$rP_Y=07}-(x z$VvtjtdyYJf;Mhfr_)Yl6D^h4rxfaDOA~UV?3#-h=a7&pD$2qWu|#%#l!X=$l%HyT zFC)68_b$An+C}L&XMR@6ZKkegmEi9p=Q1cHh})|~P{^%{1YpvJu5IsW%iOTmLvxvQ`oi#{ zKt@|N@c>Hf*#mCu{#pOQ0{N{#g6<4&2i#^e=x&HANe#qZGufq+ z|5}*pf>OSnO<2}(D%ZG8++q}pOPvlQ>ahipD-;jNBqrm5HZ}QiPq+!?GbdE4!3thh z9i!I?k(AYu+3D&8z)`KYB4(x`BbH^9{pD^~r{im0^Xiwr^rcpHkmikn%zZtt>pI=X z-~M|)@CW|zAA8?_dCzjXx`}|>>DIM5&gaWAJm+dN$KvMs`JeZhU-5;%-+inR!xu!v z%+Yn^+c6t2sA?G_0et88e&5%<^;>`Dz3(&kn>8}*bi9?3G0kjoi!_foBXW%}_i-3A z1D-&PVRKDS{OtRm{){(%>Gyu?H@*0Y$6|&bkDvEtZ~oT5{=L`7(?Fch4-Us;I+7(@ zmgmd;XP?dtA0vaCtdkO^<|9*|Rdf$n;R7&_j0UwkACu}oj&@b(=ubsv^Ay=bHh~1{!q_fbLlkxZ?u7)$e6SIWifL`R6A0O6}PS* z`(>Ye{i@eL^H0D3@}J&mK-!peb_*R!Mwzr;{b*t|={i+3Qsv{;Y4ubhDaWKB6ezL) z`eo{_O-V1EI^B!}(ASFq03ZNKL_t(-LOPJ-LSq7VV~~J^1WzH+ z$^rwuxoT{X^KyCO@kbA1NVbqo&Nt`F}L>0X2$y4saB-W$CVPlE9u+5d5P^J%H-B(bD(+Ny4z|tzGx5%IdWwuh5 z;zxSQxt5)dOK==}<+j6xxkDO)&7}o+X*x%Gxa7Q|$`V8)4wJ%aKlJu(?M*len<#@6 zh4c~e6>Rf5H!>yrKqj-Lj+%d23l17nC1@P-i*F`G?#~${Dz?$AcW@})21Wo>V$r{uawt!S+*2NFZ%E&4Xkf zGI77QsU7MxyJ}#oK-l0MP$@u+A1OnJm}B$QTJy5ejkV>#^sik#!<4VVJo`PGRkP|Y z10e8sQ*>s(0BLoZ2QdTNpt~-WmGKZt^;4aSYUU8LMon!FYW9DC`Vj#FYBGHz=|Ai6 z4Y^$xl8vrPpiqbLFoowL(wrpB54S*}sG=0Fo?BC3k-a~5u8b^xP9 zlSfgeuqo+q$GY8{xjYRnYg^2S)H;=VxM%O3umO_78rx=cN|outQ)k~_{zS?g5LTtY zYT}eC-}k;PQ4Rv_77AX)Qc%vK9>rD5WaUE|^Ei~}DuR(^f?iKwb}FN(me)mVFpORP zeT!^>`SkUVgytUX`~4>Z$*{8Z+<`JDvgtz8DJH%>dOlZe87i!Ob&boij5>)vwR;%f?HeddX{E`|8u_y3CR4 zdXO`0n3=EVH8XGK{KH@HmEZnt-+5~phpW>~3HaG-m#0PX0N!6M>1=L40mQwmfaKUV5desuBr^lvW zKp0l1keN;aXT~1FMzcinPo7)K0e5ehCO@fXatc`Emu3wzy`^i+RWYQi3ZnXg+a$t4 zmMeQ^wFnC{RBbWkm3h^WBUW|^t*wy>%EWVw<&ZO>kz`N3cI@D3MdKW8Um$;8ED+M^;bzG8$Mz0ib}$8Q4O}A-O!j6 zxHX!94HXL2XfK4&CV;eqlDqtSgmkAuNwPyWGTv4qP%F7FTH2Uh$r1dguvx+3-q-HJ zat98XvA3BwX);*}39Q37h5dxZ3Tv8~RsSVkS^Xh1nQPPZc?(lWr`PMeD|+4N;|Js^ z*tJGPuV08oP}of99y*OqlP)TvE3Fa+f$U^b(Xk1EW;yHy0Xlq9U#Y0CRc|ja@zEPH zb?*W0(cDYb&NZxucJ+_W=b=9|05qm|eO5?RJm3sdi+AYHh(X#qQcidQqJ_7-wMwAe z<2G}<4-!MUJDi?owSZuTF?ucaSCQ?nr>P)RN|aIDLZ?hQ(01j*I|GgQxIXS0nj(6_ zxWs7E6VY-nz2(h-N!7LraF)zX_BPpFhXev-TlWWo>8?DM`qh>h*2dYk_kJi}v9*4G z*tY0*iwq3HsQ@bDFjOU$lp!Q^DSdVzvaBOg6HGb)R9Gb$q1TD1TduTO$<6BM`8kzC zSKb&H27z%6JSu)h3BOBE%BHl3KX1V5uF(``g@6Ov|fIH2JN zNujYtZl_V*0K$?@Hh~PVzcu7_?tIoE3YWv7-YkgF`Td*tXsNWZo?HpoD*P0)Q8%Qz zxH^4P{;0uf;1&;&MI8y&17x+fGvXX3GayS&gh3(oa>Y&fVoZrP0JyroUY1ewkB508 z7aw7pjC4gnG2!)D}MFOhirJO15g{oXJ5_wV@8tE=OKbkxJt-Sc9HkgsluuH`jN&&~5C4uKmcl)t- z{^Xm!>}&qTkNnu}Teod7Ka9Aa>$;wf#}%tB`MZAer!K?);$Q!stHWu%xo=n3Zk9e~ z=3lz;%gv3sxsMFo zd*ZGwgJI z=a>GP<43*RGJs_b98Zh6J-Gj%q8n0%W)ZrPN{_Er-$nKwG2J-pp{8kiGIw(fKOPQ< zYPe@{b$IOKKk@D>Uj6=m`U97D{u``wu5*oC#)6oUA?KW#)FT;4z9hGYlh8_j%S3Hq zOz4ma1u5xq7HV6Em z#zCA%PrmSf#c)j9B{;->J@V396IC`Sr^1zIQ^^!;{MC?)VMevIg8Yv;t$FLAtvw7t zYG2t&JDD}NVG885ErCWDgme5`p#ojYc9<#_G~4Ve$SmYHt#O5!vE7R<%XA33a^hhv znA%x)Oe0-AM7FquR?XuQ!^s5Qw0m8L%#QM6&2;citNb zEY;qJl$5k)Y%{!ebq^*|kU&RnnKPn)(>w)zBs5bJheuJNpY2z2pr*=}T~6+8$y=$a?R&d(H+BT)ff)RVTUH`e~W2kZoRjdv*Ji5 zOb-CJwkZ6D)FomfBoLY>Al3m6v5w3+=PA)O5F&`MY`m>*K-h^X4NnOH5XA zR7kq6-nOhKeNF}|fi7Gj!i1&5EJEt_x$i!S?D+%Exjz7G-#rbM2!<5cpL^&nVDRMD z)%9?{++4=+v5Z(_&KLt9{<4?6_I0nhzP=X9Ofz$K!}OT3Ue<9~zWy8E_Elf?7Qfsa zuMQ8^v->bhH(Q^-=f~sWcwCmu%lYcgt+)KCFZ`VU?Y99LnQlI3RYcNkwa7l>YzxfH z4KwW9zU%LP-8a4MndcvzuCE{5JXm}ghQqMi*H_QooL}+M7k|^Ac+;=?q+bNg7rx+$ zKlu%R@%GjAdO0tLBi0KLF;`891Kh&W$8vMNxjG)-{qCQR^UdvBx9&Z7uq?~)kx`{S zj*0uv{A}Eu-91oYlXA-2t1DQHyn52g}>^{{NX;7?VJERp+`H8_X88 zj`EHNZxiJgq{x@dPI5F_ic1c6RwoOA2{o!|Qo(Zhz%ofZW!yX386XktoWr=;AsKA_ z*@l%E&4LJ^>SC=X$n)yiS~?mYp_p~}oG{G_puVe3mjvVG2iGn8-QeyvjUfkU&|yL& znLS|`!~cJ_-aXv5tf~(jW6ZVoKIfiuZ@s80>j4ENAfTeO#t0f(O|(Ti_-MfgXn(%q z13Q)vzETkdBq9p5EgBJ}qn{t9W0crJ1eFN*VIzFBiDFO`4F(l?RYBFg_uRernq%}I zc+dR9=Sa?wmRR?O{HLdHSMP*6^vF^oD;@NbxzMuN%$v=;zp|4E4KdTrX7i{=J@S@YZjo$N ztUC;HV46qoi-dgOo{xRqw>;}jum9a?Gatkx{P^T}cX=PXeN3~2h?uGE_x-az>(hSb zWiNcxogbg4V5+`&j+O^#i!ikiRrj8XNl^=N@1@J%^MgP38?SrgG;gHYVd>q)uN-6( z(==UK`WJl8r@id?&${J754ybHsmI;l_|@-u@B4o3H{KxKce{g4tslCoPOYh;p2oYk zX4|79_rBe3`qaAj)8k`t@9y3EG;QN>xOmS;q<6I`lJMr@HktLlOeg2&(^Fr%@qQ&i z3Y{r%kwE!FUfQf7IdWfp>9}B3)9VpapKg2D(WgJ&ChgubXP_p1Sq>4JRRu)AdA(tW zVlSo`qMWk8vGTcInW15;ZJATBY=38#R@16he^6o#LF5jdB}74m`Ns;TWc$=UNS!m;uhVwZ4)M$-LfupoVJjs7K1VvZv5fGC8HFlt6@|*p-?}qJUgAZsyn%M0^~13}PQ~ z%hIemm(=4CO*|05)7(XAjZ#gbQO$OF$bIQ%s@871_2X2>P0VS$&aPYu2I(TF{7d9r zm?r9pv0Y?RcF`JuL10U%ihWs3n^_Z$&34n;G%hGrRA3JzjjVm@H`=#UimIrqT48Yb z8^cED=?@zbf83%3P@m(k#&08Ra39qRxsai_XEo(^B?} zW|`JtAX;TbO#)Vzx^#B@!Bmw%f=gGpGt*~~g$|`fxX0LOR?u-9bOIHgFpVSD9yrt7 zJAh<@o>q2MYELCsI6GiD5f^LN2(j8afiJ2y@UWt{(>-{@fJRjZg-{y+5Mlemuq@b$ z;1176n2$c>@YDtZOFe`TYR*O$ucUFYj;3Ek=vczzp?RZOD&0t5TB3;&UJTB|gr>sn z31_8PPfU%KCqqCfBJd)zHG9B8-1kEDrV=9FF>V2LP~sQrT%JMlNx7*?=#oJ{8>@&R zylUEeUr7vIYSWOwObG}Xz38eVl&pc&^+63JM9~bwk>Ka`Vg6If2s<*Ouc3;bX#u;av7cw7MkFO5!6x5$0i26Lhjf%^HJHi{Kks@N6rjz4SwU#vox7~Wn zXMOe)ZoB<<#T5f;>1rF2Lca9P_UKn%`-ac>AHVqj`MtNEUV9;03!Uce(V@F{7je-( zZB&e%G5`|L-3C@Q>F9?3K54dkpkXPf69(CNop%zTM1k`_F&!`dJ!wZ1H5Awf(_wAmD*X4BEpxq04*noZNu(YeFLOP4?Vp{AnK9O>G-Yv^Pay>CuV zj?Q0G&YHC*rEh790xBRQ^coU1e8=*PIs@cU`<^5375P_5&}M zM5IRW=n-AP&!QPsbyxB9F{+4PO}cw$cW)PQ?`A4$9U*I(E?l_o@tT4sh95qToI(G`Ui3AHl(%12?3W>W5ay3#ew1e#Q7 zakcu^G}A&VV%Z?!D&oFGWUsbKMU=>>-h0o>QZzim=K01OZy35RMc93}+hw^?&#tm0 zr>cv0$4G;~^)iVgpq61ZQh&NMYmt95*>1NSvbR1jm6khKktqEp%4_NKo27rCmuNM6 zS%kn0#J-9i5&h#V%+lzWKS02;Heu+42fX9#2fT%_w+fPzuv||JI7?!J?m^2^rmVJB z3?an01QNohX_>;xI`aR6izE0RKAlDpzz{A~K-cqEh1MUh#PbK|Vddk!Dk$xSb}Bjo zV#4l30V-7ziTJG?U}gN*aC3@LK_yk_08iKC@7g}t28%z-%9keT)exJ?4TqSz`1 zZz#tDI=G#kdjOD}nYO~#YL-K3#`D2X z@F@yg7dGb4hBhBwBdSh^uZPNTC-`ZSKM)y5HPPhh!7Xl@iTZNqN1y8J7Pglp{S|WP%+m1 z=dY=Wy5c!CEus`IsN^AnUPcp*y2QgnG+JvXrziab@4x1{YajWDN8WVPjgs@i=>>Bv zTlDVk{?Yr+zWtk?_3HoY)opI`xucyQtXXSq-kNul5a~LFED@ja_{aV1PyhHQJ?2q| z?o(@J$5{OYCic1qEz8<_NW|{2JpZLH|Al}1A0o6()83=GSevFv=h+sI?RN8uAO7xV zJmpEtvPf%loBZHMo5{m(y6(b{KKp62+-+wN?!cx1h;`fF;Hz7+GZ1)#C>UZ zK6-xWouWCb2n9BI8-tqR9XVXm)U#?_M4P#bHda>#RDyRG+%g6)GQXeE53{_X)>CDP zYIk>!Ce50v%5>Xp+Z&&CZ<>nhnB#?c7ST0|_GSq~Kh`7s~Xa>kQ6CKvHMRtZr78gbG2nsn87=@U~ zc6+o&HR)YSYGJB3;k_lfB__WEh2qqo5}YM9B4~vKYAfr0)?tz&TsmHjE(HvSV5&LQ z=>vOVQvzY!V~}hZ8u03{N15k`K@UcqR4^f~wnvU*Lol|3uyrutlW-a4n?3!C-@RkF;O3>jC?CBhLa#cg9VkNWoL19ZnE?W444tHbJwc_iaJe>-vC50 zqnlu>1bf0x*dC?-pu*ipMJqX@L(75Q3&PLv6HSmTo&`gRc@rsF} z*(POKA?^ZX(-9=iV@*Boo!Tt<%>kKUrdJq9i)8RbBSPxf3iH50Dttnopq*d+jlL=& zCl(x)R|`srkmU&=+ue8H4PPhNks$B_wHzqCywU)yDNU{`qoykkCmblfK);N32IzPc z&#Zrx3)ce76m+Hcm)_e-AAtLl)CIf{bTLC z1XBd`;}nUlRaGKex$@{&upUiNL+c^*?hp~F0}`Ao0zYYQtns9I#kwMuCUtUkG%8g$ zkA0O_5W&kPMsxj`oFvK$w*1{nphDR28*tlb|FnF;s=Ta~Xt4^nzy920MUxWPf=+nY zcxE0MA@|@qgHBDnkC!n}RHbFgx?e$x>jx;e;ea5h%wnA%e7+K&1hl+Y%M z9^DM;MI}jUt1!6yeDz-JUQ}w1RuLk}&k=hfnnj3^7&V}Nl~t>;f*}#Ki8?6_8}^At zGJnf1UAlC7a`LI4@+s%9xj+phCYD_^89wvw^JeqwuY1#%Jnb9)@U4Gf^W4MTWSTdJ z{nD2uD-q{ul91!$?Q@@Z_bXri;v25N&PC?dG^b;FUJ)PO-C9bqsDx-(OZ+8sYyaiH z{>9gP+xNWow}0>C^t`JcJbI65o~=!4cDCC+clhsPvu{QY-qrpcqv^E{a;$9g0$dzEQsgxD;We)*mc_uUn1Q&>9Ot|F$biG;^= ze7rfmCc-t;*o2)nN~vqCSedZ^l(Qs6G7*>F-C9dCXvgPHKKIF+8?NsM?}3P29yqGB zBBZK6Mbb>DnHcnHcul#J%p$3X1S9nMFk2g!w9YCb?mew~4~bBBX{~wFxZ$Sxj)(WK zxbI$Dc4@?IGHVtnrq4(LP>8CEp%4mw&`?mTjxyF%cy^a&mFWm&q;2qo#1W`^jGFGC zTI1~_qBMj6Z7HwGq#k7CGto(*c46d5X)N#$18+gl7#Kj8s484|W21;L(~eh^=n_jQ z-6K;~F~CMm6`yEDd^z}jN2LiR4`9~2scM^5B%+7MEw|is*SCMecC!)Od8Hz<+wI=_ z-~XCvmJtAUK#9NSf+Iq-hWb%>FQXy?9|?Btz#ehiZMU31J%u}@S&jlD0Kn0xhoOI{ zmzq@ZWF{PO9Hqxf|0|72g_Z>PhT?=hW@%Gyqe5nB3x)$~EF1xQ5EqqOS%09oO9hS( zX~B@x2^#pbSCTEMpD&((Mb-Ps^ETIVpS2OBU zZ~XsXj}D+xlp(*=G+~BKa~0!mT}Jsy=_t2k{1;?6rGuz|_B6&(M4;m$S3oBufNfN( zkD{br22E5V+vm#Rzseg<3KirW5S?5>lEnJ#Rnub`a7EG5Kvl4kB4Tb8;qWNJE#Tc^ z0oC>D2Jj=`$tYVPOU6Cx1lLcdQWe4gg;`Hh5Ne4j?g0p)FyIF=rZ?77si7bw(0-_q zfTY8oUx^0V001BWNklab+mbvccFEr+-I5ZK}eb;$t6Yi0>V_AN`_3iB@!T`3h{TW za7LOc@1bg}#^C{Q1xn8Zdz9>&OpDHN6@&L<7D7f2Of?64jk-D^Am9!-en_GmAukGu zRKFSyiae}?fmhf5t^7kA2Y~=H!F#_Fo zs%VOWRx((`q4I>IPKyhqKCdn1d9k9NagP$%{B^HUhF}Rp$RY}9N#b>{&SO46X>Jj| zFV!hyUzlOcL#UJ^*(rM<6us7UEi%;`V~n|#c_+TANJl zuauhb(bit{vY&tPPyYNNbi3VL-tW{}s7{-WHj5sI{qkx5 z!zcgh&%W^blanj^{q|_P96EMrVPd`aHcf}czyF!v_^x-q_g7y1y7NcdY;+X0HZ?ct zy;}}&)W}PS#dJA4JKXnCaTm25%Tk)fRK)vq?sPsr*L%-`bymg@5Tt13$tSP7(()+F zokBJ5=~7d35nuY|);msaxy`#DTtuR&E{81mMp>v9uu<`drg=NF^y~t34UuLRB0WN~ z#(SjN@`^gOP}a{#RKF~2Wt2~>A}&xB-7_cEw!TNgnX!Ltri{S_38jS;o+8$eFZr4SVwMnh*_AacOM3Zs*+HaYg1+6 zv=A9fM9`@zlY^9WM3_qNy_tFMH$LcwlcOWLRVn;(`Rr`J+nZVs&-)^?Av?Js)#=m_ zoa!!3Q~Jc+d3i{tuce2#)_hq+bTeQ8m4CJ3R?9Z_h)H|sj~W{)BKGqJ3)I&Sfp`8(~x4kSDrE~SmC3> z2T6V(!({kBNGJ3Umz$i(wTL8k&5^!=BxN8vOz$BdCkz;uB_?r2^Kws~jIkF~HBc|W z2?5R`xU7LtQ{37QbNj9J+RKekwqpoMc+awE6{-tGI89luI~q69)E(d z0Q@&mas|mm1V}ycZfWphd50&i%1a#RnwQ7~Q)d)q$VdKlT@#Gc&4n@Zs|jHopAAoA zHH*fx1lBMI4cgxTAO}VthgaNEJ0k3+RuUQDpHd2Vrj65FbU63JRa-?Ku8La#Lpy1{ zc2!lf}(3c-3gFrekfL3?YPuS-}z^0*%b$Qc@1n zNC6^;?Sf{jfnp*6;?PN~6J7a#6bTqifmKyOl{CL2gEdr|P$`74(Jq8n3sc{Yk~7x* zi$rv&_>fh-J~bD#RZY__dxmYpl_G}XsnVB|$X-d{{~X2$BeZ~rAMoC)PYsExqgCO+ zY{5G7H&sPCNs%qBDw2H-%Xkg|c|ND-r9~1Fh4*|xqB))EHch1-R8g0Z`Oom!&fC|# z{!Nej%rAJ=D}QOTX^VJ|kdWQk?r`YVOv2Bd+xG4cy6(cidBsb9^;JLj;D_9{3uQkBI1m7<#yL zd3WzevQi>c!rgoKf{=Y_=T7I7Qv#X6(y2aLLsM@vD~FIEB0Rb43W?hGZHs+gIfR8mD$%n)n1Kf`JV7_?}9o#sqRBj3A5~mjHt2D zjG8j-&^EKRmcHx5?tJh(&nq=7qH=b2CHGsliPQ(!GPUmB`{Lp%vEZ0J7vPAM<=qr5 zwZt^HqoZx11-dzr`gUNH#(a3N?mxfTXy}Ii4^fc`pFqDMoW-0)!KTugX-rz8ijgWu z*sD7Fl!m8TGoV+gy0tVfwRe3k{LlOeVPaX-M5H+{&V5aIMq*N}@lbdv!9TEr2!U0I zQ0o>dPGDbkh83Pj#ImX@j=I`5>7OVl2nX|J)xD6Phe#s#8n{Bdms&~ia~v5^bmEf` zI`ah60c0rj)9Okh7ANC;OWN|i$^!w+M^Y|CSfrhz2g(BjV5iJFs!H_=4hYHs6ab## zdGo5R?SnTC}tc8870Z!dePFrz{xbiNzi`5~&r=lZ+v7%^0Pzd!A1%yPZ)mYhSO2t>gHom>0eePKyz!J`@ zS6#T67&6U_@20Gv{~XlZgifif_Ga4CQn zRAYEJofsFn_x?*y|Av406<_i7fA`$y)P1CmbZR7*d!duL&$R0P`Twnv0YE1r~P+#^Gp)B zizgnBzGT}qX4vN~(m(di z(IhS*ed!VIy=S$1(jgNA(6qn~;@*jkLNy|bQxM32%rVxB(JRBir!w{kVCbCCoJW&) z4@0fMzH*X>5P(+wRhiUG5vY#EmQkSJgrANiX>P^|WnsZ+dQ!1#jTay!WlkW4OEg>} zoffV(dS8fPq21DdGV}yXI&t3Jmww0Xx2?1@wArPLmzKklP|3Sf-XnP;x(B+X5^ZO4 zE0-hU8NxT}K#%Sc(%Lk)M&P_s*roS$_(=3=hMo+G2k19~fq{ZjpChEA!2K1EOXaD^ zG~s_xSv;v!l|o2RAr+y0##u<60pD9Ncx8-a6`f2rGR@f(`7XR{h0G!9!$g$>A<*07 zeL*`2j6=2|Xd5I}+BjJE>bwX20OS~l4-WsR&&Pgg%R$VmK^y*^=aG3AdII!)29GDk z5L5J{R0FQ6pui8=CZZ?8VqF1!dJn}7wc!#PZC1fn5dD`8~+fQE2j3#FQ&0x66pnvhymrGjC~c#tyg1qUN&0wh(|s@OxT z`d@;jP~2*cn8X*ohfR2ScKu4;!sA5P;la2D*@*g21+%duyoWZFg(!Q;c?U35aTd)R zF(chU$tjPr8VW1I)4+k!dr50yHR>Nb6fdnQ%FYsEb~gIZdl-77TnHFl)VJWJe0FUd zMur7rsA#ltMni=sdf>RERaxBHJs`tpB^X2;Jd+$0oV$<3P)H!OU`!?@ogolP0fKPM zsF3;iIWa3)W~F15-Gms$ozIa_$@+wv-=E)C%oQkIjqme0gD9(YCK*CnC`!UWkmTM- ztWXlcX;PX-B7ZqpUuYWHW(v@m)|SdWoG8mB3_V2&#-h#U61^`Laklhl{=kp? z%CEov+|jwCbH`V92h}#|6k*oPHm1#*Kwy3G^XE=q^3%WY_)q=B|LO6c)^oZgX2U}- zS!>;+_ul6Dum1MK^Y%D;b3f?R%oAgFF;!`?9Cr8J>-&SMIvR0;U?(qB>zmW_?fAsq zn;1{LyJyflNVPC)nqfRsVRa~@3TWn0syHx$$8^)p=We*(OnVQ{8b2I&h?tnLo-DPG ztEhOG%98yFq1H@P-Q6mqosJx5@*}*@aZoVw*+2(N7FCOjx&1w>F)|yF2*&N&Yfe7< zbN3Iq^XzSJ(hvV#19xhOv?P^t(!0B|KYARCgqq;$t}GW6Oer$eUM{|+bp#&@vfDH= zIVUST)rE<4Y*VCwg+oy%URVia=Fm||rO-c?F}zi)7u0D)m+Yv{4?Qy;7*$>of~0LS zo`o;EwGOUc$F!O|9K-OicVhuQ`oGGUTr&Lyt zphZK#NR6$xG*M;pl>In`rIT~P1FI)UF!shIb4XqRL|WGsY*Eeuo=ZC$K;lZ+t>ep} zsN;T1!%7x$X(>K%M{LDeeMAx$L*w3ZU;=tYQY->|2(hdU z!v|7;LRHk3B-k9V3eI=}($!!VB3&?}tN>Gz21-~4=o^4hkTF(lK4NgEAhIKAHV_pf zi|0LwxqeZO72{zitT7hcM~vT0=F4n5#xD*!n62Dyh>e*URTcjvCSL73l8kwhRmlS> z3d&NY|D+TdQ7j25XxoyI8pB?cQq}QZN_OQI#mubo-}E@SfVEf5(nh+=N#i;g?2dcn z!$?9}Atkt9t)6(jf)IEMUz&D>yRbG=-cnzqdw^+33@~Vh#}tr#_536|Tx!wPlK781 z`7#e$0RtkUM(`-d1JI@vW6PjhK@uDVZAjL|Qu!KY@(R;XV4`wPvE_Pit(YM%5!8EO z2c?mc4p@WaaF&w8>ZKP7J%_1D_TVO+F~v;ae7eWtzAU{j{=s`b`iyV7>#Lvft$+VF zA9R^^OIMdT9QvXAl1U9|HZ^Ns_cc#_>l=ULDNp+R{jyh8v$h<1z(z)Qcibjxp4Pm( zi}c?6vP^Ay%RBz$v%cu*zx?libGzBbWHFm=e#07 z1xXTBjpUt#j$+9{p52hFir0|v?uW$>J-Wxz`{CeA?}uesye}TTM~`J$vfd-1x2xm@ zS0Pfpmf>B+O~Nc%xI~X-=iYO)%6FiExj@VM$P) z34vuf_|kn@mi@uqvqT4NwguCx*~w#syb$%zxQ)?{1{$8B=P|=|tt*oHL2HAfNK@%i z-i2r?3q)ulI1pA1e_ z^c(K9Mcf}mNPkC`#ntTg+itx|pNT}o#Y>mC>jEgK{;##AJ1!wPCN)qeX&T|syKtC9 zqs#j5;t5Qo=voFFOnp#gdP~vL+R^~J4ia;Hfy;vEMd@OWX)C%%P3IvzxN7t9}D{;9P$#A>#K#B#b67^7D{DfLDMjmG!vzzSaHTE}o+%X-$Pt zHE}?6-^`oedgJf^(#otm``)HaYm+p^x16^>;mIxAeX&0rBy+nfAMbiQaQ%{}p#V@7d3P z>2}^!Rk8OF5AR{p`lU;U`|eFk>*9*SA(1W?=oLM>aLsglEBggU#Ev&q9H?=Hx~8|Nsfi0IxA z2S4m%zl&w@!y)?O%M!~W-1qx^?~C^(pVi&nyZ0VhFccEed-p06cJF>z)IItlAsX(> zUL__Cao?To_h*ZC-&}Kg{H5va#ISRxD z*Dp%M2rguujHdRrWJ}m7T1Pd_eghjml}ZF|Ld>(||EHk|gj783j2Sd`l*8;1-CZ$T zMTEyJ-E$a3bQUX$u18I<+EDXp(My-9p%Ey12MCz53O{eX6F_4mM_HASPw$7G8$LNb zx#PjN)KYVOz4yzP&UyzD_707sqTaiARQSX0c=Vph6O+(9dq&1AJiIUBF77Aij+OcM zh*;lSqK&F6M7@jv`ny23K2#v;)Ty7j@~F17tV9yR)$utEApot4T-6>L!eYz9e^p3^ z?-S4|>)=2IwzuPUG+y0qB)dWS0WJimwpa=3#-YR>&Nm59*fq>} z&x!uCn4!%!Z6;CK%=6p-_%FWw2VS_@Y&1feS!=tqU2D@@-udp&f9f~?$KU+jJwYHh3 z?K~ZArtLg!nzqSW%f+iNUDHi8ix5{P_Y~9Sy+<~OcE?>BgzPTv5@8V%ak#Sc{mz%O ze(m`?zvO8T{=zS_>u#JTZQA-GSzo6nX4&G9v+r0saeb&5qxJvXd|S|W(I0sk?1wTDTOne4om}$fW3OK z28@c->dp_LT^+Yy!BP@Gh@$s8Tbz3q4Q0gDtT{1eHVsVkeA7)2`na2JD$AY3*zNcG z{T@b95RyR8F$htRB|}ISBJK+$2RE+XA4prpq~N6_zhMD0MmK8F6s|ANS3=t*OZ zD5xG%{bob&QE`z$lm?Wq0KGD#YE`EmNbXm7ng)UaXI-BRpAT42CThMCtXHCOGe?Z^G!Tc)~`RXx)p2SBmp-^DT{-ZL=Lc`Cs zGX#X1&%`#uUFRE0ya>40a6vVD#&X&K+<5$8^~E)x)O(4!tA3T(FRH0BjU29W;?Z3N zYC#Q*Qz6tUo)N<2dSlvCM#R%tuL@lvV~Zh@T`Z#{tQtX!XtbaMO$FY~Rn|rrsRrH# zdsnZNL<}sk=B(9!O9q&ViAtf0C>xnTjj1x2D&rvOtuZr5UoFD5VWvL48O5(^wdUl# zXGGzAKQv&$BvLkg&ryXe>>Xg$N34(&bfU1uORH24wGzVE!ZUTACvVog9RYRPe*$< z4>L*RjCBt)B$9(-bNEBhU9loXF@4|;ib}{94yNMOx;iQuY&Ae_RCA?slErMeZ!)hS zL23&+pLPGr$PIOWZ7J%)dW2^nNt!+kZXU?vqee@5N_L%^C?`6{kjMOfS*BzL4g)FI z>gsidC&g4E)M9l-G1i~>CmPaILt<6n(>qL_sfCKWtLoBwsQvt_Ui~9K`jUG-_z{cN zMWjVUpEpf6Cf%oLyBzjn@|92j@)tbsdmnno?T2Mi4O4RtU*}3ks5Nb4n@yS?4&B|S z?dHWV|D_*)*(=Yk?2k^)9n_*9CTYjVN7DUpSg!2%^JX^bed%r5b`Otidohuvnf66Y zr{%Ce+HQaOKm7JX9&+pR@A}q@XJ^ZyU$}7kORs(7cRlCFbXkt)>0|fZzu9ch9UUbE zSJA`nY3csG{IM@YCfu?V+m+Mb@*HibK&SV?bqAlm>@(H@-4pgh<-sVrVm z<@^ePWyt$zqI;jLwc~TD+TFz@78l7|X2lPlk!8gDEhKV6a)f(VjqW)oQq88x@_1Xz zGi}Ge@csdEr1tMM!yuCn}^d;sZ5cM{2|n0E^Q!MTG`L6!m5)p=K)pm#Jnv001BW zNklxNDjza9n%iv8Nr`{x#Z_7Fs-ZS zm&H~IPQW9bYiDJ@h8+>%G+cg#>mOl3&p$#!CgT1? zHrf0o(nC3oG1~tu}a&w%F!AqV8G?q$24fGF}Ky&C6 zR0_E+Cy4P%#KESFpD3;aqu(5G)gw^1W96_9I4B~5(X9~TM4#eWf~}>a2{?7=bV3{y zW0|fJW=hX4$f<%J3C;Eywg!jrniN&m@hX|VSSMomK_y;TMK*8Yj5H+75`>k1oQ+c> z{sMhcP?d4oai-)mAp#ci?gQE$lFX6q$keS=k1%Em)~bhPi6{-1t~r61P-dw#-=Sk= zQB0EJLHkOwWbBE&6fW9IOcBH>%PIiviKGTAgXVQMse>7TjnOhVz6|43EnM82alcS9 zD=~oXsa{FVT3zLP*IHz?&Z3Hlh*;u4@F!$JY&_rdb4T+~@a`?4nviT3bng+%p?CK` zd(V6C`tBci>wkK4J9j*7j}8Z2c87iUW=%AvDVnM1{Dgn>ssHMSzwZhE_|td0!{R+} z<6ib%8>gEi{i~X@?lr8LM=XbBIm9$gfAnX6`Q1PGV{d!MJ5SFYZRWX$AI=V9twnfW zu3XtY?y;Znw158jul?P({N5k@=cDNt&)xfl^A~>fCw`&X z{6qip8}I46?|I=*{roTf>UN&RS?ijEGBs@w0JRnD{XZ;6B2<-2E2#&*_w(!`1Z zK0^5t>5;M#7i2V5kGxl5SiFQdkwr2&(iF`z2&OiZrLzkogU}*1Ck}cQLLkB3n}jLe zF^?-GXBD;RJ;l>-dkJo|;~>2JMW5Oxmct_+e#bP=f>8iauxD4!mfn$MG>$J^bwEl) z-rXiSq&0HLtcEx`;Y0F5HC&h3!zS5oj;QFMgjU8}qi|axU8P4?`Y<#ngc<^K!&Wk^ zWEe?An^O2Skho5-Hgg@c!VU%A0q6%4trI_N~`@KsiL8i*fAU8Ep5JtB_nz&h)T$zM6OT)@4l?$k8;2tCr* zH#OEc37D31RD-1Eae%6@!*IyiTruo(_7nSxVgrB^4(917ak39Y#(%?Ald4a4(Pr!f zUNal0xbo#!2#Sm(5@s6gvqgy{acp=fuSq1oU@;Svqg&1-Q8lrU4h97FvlR$T-D?`; zNwPF!oRTymqX`2BvAVVz4B>@qV`LTh4OJa;Ou=`QWJ%DRP1g9#R875mj9_`2s4vV5 z9m(9mp7+sS8WA;u3p$MOGVQGpuSeL5$ZIsK%HdY2xbMOH`%O_$(Y#DiChs87$hpqxLG>K+PBfz$T^`_6RQNR{_WOf} zU*0b-`N>zj>?eQr@<;FSW~S;GhZR$s=1ucu=}W)qrt7}%d%xpbzW(X^!=Zc3^OTl3 zJld3t6Bkxxg!Ds~rmb0DdiOBX`z~I2;ZOebD_`|%hozsM9`F0oBwA}N^z`)T(xo#E z`~L6vU%&fbeC@`jXME|C{@K%?`QQHbLz9}Awy9mY(iN9syNXKpz3*+Zv&)x{kG3!T z-(T^^fBI+d`Rn)p>AU{oWP5aWb{0LFYVV7hs!hJz?>=^K-|yAbMK!Y5HiF$Xsv5md z+oSpPG;O?~+5tAn+5ZKUqvBzrIS<}p6@dq|FFom;m(M4+8k&z2?J! zhf74)EY$HOIWHTpv(G_s<{sU}`_%NXED~{{`J-+;e#mtv;{G=u-M#YzmoDwKwMn~+ zc$=oY)Wf^G1|TMMt_aI_Q>y^N_H4$H0AojmO3>kr|5x3p%{)LQfh zf5M$NKJ1(S><`}l-Z%YrzvqL7dm9{mu>n6wBUHgEmCGe?Hc`>$Di)=7&|JlkFrBHg z9pS+O6_r(cUxZ}~PO3F{PHHIJiV!pDp}6#o1z_Oc(hr5OOjR5+Mth`p-P2?^G?_aB z86lby>Yl!(NZtyU{v@ruDI%qzYQl7N7#hvMYbG)`+jn{7!#^Inve0el<;!PTU9j|J znx@>^fMKTM(wD9#&CIir!6l>{x*@|I&KZoe>UO)Cw=>D8B8UNL>B&YSuk~#oc0^k0 zw@}ge2cJtGW585p@q0#0f{K>mU4i~*^Q!lo5)m=NB-* zv+;R88DqH;OrW0_M!^Znv*}!8kcsX>ZoN#hwpD%nsFO(jmM}n=8e)thqi7WeR6usY zdIliGMTfN{FMp2X_yEJ1%y$VF4O~F69w%59KY^U8N;B$!l^2*iLvW(XF9WHfv_i;# zQ5SLMrpg^tQYj6tk+wXw+*kQyaKH$A!H=rmBd1Ceyp^XS#bBup7*tTYr@>lr@>-~f zOw2VvSqM%<_<9*6fmaKGKuj@rZ`BGJ?qLo5Bu!;Zv?JDv)q^8axe(gb>MC3*BAH&v z;|F_LQ$&6X2NTCrCm{8ceN@f~FhZYJDQhA~D3ri)>T~)Bn)efuJC%Ma+2{e4Eoi}E z0}4gBFV0Vpm%%r44I>vUD~Jb=a<~>w+#IFghMxt;fDTH^dEL$i`sCzRM8kOG>-@8F z#c;YZ+{{-D;LbkudPa#s2`qVuJWStLL_B2TyVFw=5zX0N{EkZW^`WHCsp*18Eoe;v zDr0rv<6LdM7e+GQ%g0KthxeqwDGU+K=VTCF5sJ%YxN75iWF@WT_Cm4YbCQzl8GQ)p zJ_J?=R1p&FaLVVDR}3)51d(f|26z!NI>wOa(3(dQsut44RdbY~hfWGRmf1iLZ56c8 zYmS~%EN85RFkh)(tG!CQ#xFS(^@ z);6_EmoGoz(?9VgKlojr{D?=ME&GdoIXOQ5sTVx!i@)J+m$ocjTh8Uu!(lgzOlpUI zP*bxOA${qadHWl``Q~Qrc;04@!DgQO;o#9HotDcN50@@Vs7)=BSRNj}3Tv8#x1*!^ z+=+x_U2*Vd1fx(f3cWAGfFSWvo%h02qrj4Cg%m_`(!7T>q)^l5(Lu#iEdSNDUPTmR zp?Oz<_rreM%vDcYfAXWQfBNGd{)ii{+0L7$wmTf&{h^Qk`k%b_weR}ihtIlr_?3g$ z966OXi~}YhL6{RT<+44a<>^kUiD`K6O~cf#J=s3w#_L*ZBHCU0Arl?qvCJlqdBSJj z@t8;d@o&BU1Aq7jw%_%hcGg?71jHb!n(>|!NT25XN@$@3hlt$g1l6X|RTQ{5rzc0q z18`oTEn6e!3{Gif3=KY{;BaS)bq6Z zfzn&jhwjBdWKyP(*o**n^-5U-`UgB;3bUrKu!0EAKln4*p z2U1a^JTO;!<6L>LG(Z7kvkEAv#IVj9V=DLoWKcPAUNTHBBDiHO$ADrxE6H6xTs$uamYNkTJ=3TcBQ zwK#}zdKj>A#w7w$U?|X|%g8G9B*aw*8~ZBVW5qYDS&9(N5!C3*tI@mzkWoDqz)>Y`Ob-Nw;38VZ_bZ?;}u0ya_>+4C!hX9&w18oJnpgGd#JQ9qz4OHNMtg)%tID!+uVF{Q@Om` zKkJ8I`YZqUZ(D2U&Ki_`^PIcB^*g@qtNOC+mc!Jh$y7WZ|JYCb z-f#WtA9%_Cd31cb91c^P-Fp+Y=%6;o zv0u4jIz^KRhx#)JbmB?(zCFD#9c{aJi!e+qjlgIn)ruJOaB3AZpwXIl0i&I!E(Tb_ zWm}TU8aL@g&X^AuU`U9XhogWh%T&s+iHECuZ`!iZXw%xR_d8GZ?$7(A&;R(_CY@YG z)LeC%=1;u&`bXV#&6j=3{lECOcfa;sAGrU}H&gn!*0!7F&_%$sro3!m@pOJ9x`i>? zrXCjI?)~&=dcG2z+m;?%ss{A!woqNG^ih5oYELF^7!m1;9r( zPDu71I1CLc!Gz`xOfMB`(#%b-;E3i#(Lmk5CXNR5OwU}JTKE!`7vT}x?Itg@ zE@RCM%t)mQD;AZXL!xA5)RabO*ag}bg`JgxI5_gW$SxQG5n*~9D`{GAJc9P6^briU zsuqmHKQyve6>~}%yz+!=br8A;)`O%0aTe07o=rp)EX5qGbu~hH0L~Yh<3jYrD1vP% z$-R0`)puoZu&GL>V#v}pkX2xAhFz0^{>%M_s#7dR0p&;p$p8i&Fvg*Y07W$GEDHVS zBF7E)NUd{#lGF=PXHRzlZl0oOhC~N;qL5XXbNC5FWl@NPWiBxQUo!a$1{3vxx>e5Y zD!kdL0=`xEQ2!P>KE)X!d~E8ZC>9ZAr9lX5J#xuaxLcv|I_p5bC|2GowQlej)kNGh zdZ>6bkse|?X~zGQ04qh$#5=G>zCNwCxaalhLgZE}KtP&--T^2H^;W?t;+R4@g_a8O z3+YYjuS7)!<0Di>#l$-+Du86Gkqcfy)>Bd+L($N!gxUq}Bv!AT3B8fR^nit4ZVura z_L6}JCJJ!<7JQr}6@2SrS>eh>65T>MdLpn2y}%sNHPPg}plgKpc8aJFW>9;osV~4G zNFkvpi@DihWT^pF$(g0Pc!+clv@tJMZ$va>{N5U;uUbBmUlh@w9CIOc33-HMo8izw z)=Y5A9_X1b&^j}y5!X=71XNYXQ*y8rDwBv3%TYIp|8db(kE^4W5yAJOkE~<6Re8 zx<4Gu+Ux(*Tkih8=l=OS-)XJ6hpGCZi>ht6rs?I$V?XH;-~FB6@}*DyXG{0)Js0RJ zuA_UBCx&2p_l&DX?EAdk{`=Sd&cAxe&%E#NK6td<_UNwCdrZ@$lZpC07cYMC7e4VN z&-t#0+#M?(7f!uCM#5xBt<*U;Ddn-^}yHi4+t!27xutb2P0Hwk3=1(dNb>=pvD~XeBjGOuf4SRn>i}1_YT+ zckYYG4I6vj7d-lj54*L8MYEjgoi$-@&7wW}rW>C7q|bQrCx7VY-umv}|I2&byUE^S zF;TJBcMG{!tWDm#3jj2LSjwQgnr$K;cGC?fn|TQp(dE#^RVQVu0|teOhgrY+0< ziYcnOEIb5vdL!|ax-*3bx z*@#AT>X`;}HPz6bE?MIchKO?~C-shDARq-rD&idpBqvkF!6X~HzNnzfRD^KO8dTe= z29iaXS?4`e%>t*dM977R1ZU-W&;_B&8H2_ZYW{k))?yh1%{S}nKbVXP0 z!+}{7eWL?2=WjxDQ&cm!jCPlRS3{hmrU*XVc}% zqf*7#_z2d%BC|vO?ubB)l#{R=E%6kSm=UV2`W!?YN;`kud(>94KT-r8;;Yj6JZ>G@ zgrA5?upuwkp9^DvW2GZ)$>|_fOr$q zOBZP@M#$(u5*GEfSsZxP^YPxuegN`t*JuFCHz7xz#6+m0 zL&Bz}B0u}W@Bf0Y{I+-f)!!UXvMf7mX01)Fxknr#MEl}xn#{Bxa(uqpG)eFK%NO^T zE?PvGxpWmpLoKk3wghCYZ7*D-)2uzBCX&-`pe`GOi52Pw;Tg^Pe#P9a4DSeAAwwPhk?$N@(<%xHG=Iu8xVe`~t zS(MJDHPOg^aXX&d6CZlZ<8Hm-HUIU!FaNzi|H}`aEz4onP_y0H6;qpzj-*YkscEQM zbdLyE3-!q+j~*^f{h_zseC_#@F4Enjdv4CXhdTm}p?)|(_*9NBoPO#TebEhfKJq

hWABvZmKzKsMIDQHK)%-pk$vWER*ukvL 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

  • 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
    4n39#i104}DW5!40psdd;?6Ylj=o1(N= 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 NGRJ&$H(Hopb6w3`JEpKf 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

    c>>uSLF?v-uaj1_oGDB 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 diff --git a/LICENSE b/LICENSE deleted file mode 100644 index eab0617..0000000 --- a/LICENSE +++ /dev/null @@ -1,36 +0,0 @@ -MIT License - -Copyright (c) 2024 NFOGuard - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ---- - -## Commercial Licensing - -For commercial use, enterprise features, or if the MIT license doesn't meet your needs, -commercial licenses are available. Contact us for more information. - -Future premium features (such as web UI, advanced analytics, enterprise support) -may be offered under separate commercial licensing terms. - -## Third-Party Licenses - -This software includes third-party libraries with their own licenses. -See requirements.txt and the respective package documentation for details. diff --git a/Project.md b/Project.md deleted file mode 100644 index fc74c03..0000000 --- a/Project.md +++ /dev/null @@ -1,360 +0,0 @@ -# NFOGuard Project Overview - -## ๐ŸŽฏ Three-Component System Architecture - -**NFOGuard** is a comprehensive media date management ecosystem consisting of three integrated repositories: - -### 1. **NFOGuard (Docker Service)** [THIS REPOSITORY] -- **Purpose**: Main webhook service that listens for Sonarr/Radarr events and manages NFO files -- **Version**: v1.6.0 -- **Technology**: Python 3, Docker, PostgreSQL integration -- **Role**: Records import dates, creates/updates NFO files, manages filesystem timestamps - -### 2. **NFOGuard-Emby-Plugin** (Companion DLL) -- **Purpose**: Emby Server plugin that reads NFO dateadded values and syncs to Emby's DateCreated field -- **Version**: v0.6.1 -- **Technology**: C# .NET Framework 4.8, Emby SDK -- **Role**: Real-time date synchronization within Emby, license validation - -### 3. **nfoguard-license-server** (License Management) -- **Purpose**: License validation server with admin interface for plugin access control -- **Version**: v1.3.1 -- **Technology**: Node.js, Express, SQLite -- **Role**: 7-day trials, license validation, user management dashboard - -## Project Purpose -NFOGuard is an automated NFO file management system that integrates with Radarr and Sonarr to maintain accurate metadata and release dates in media library NFO files. It serves as a webhook-driven middleware that preserves existing metadata while adding clean, standardized date information. - -## Core Architecture - -### Technology Stack -- **Language**: Python 3 -- **Database**: PostgreSQL (direct database access to Radarr/Sonarr) -- **Deployment**: Docker containers with Docker Compose -- **API Framework**: Built-in HTTP webhook server -- **File Processing**: XML parsing with xml.etree.ElementTree -- **Logging**: Custom logging system with configurable debug levels - -### Key Components -1. **nfoguard.py** - Main application with webhook server and processing logic - - Lines 975-990: Webhook date decision logic (fixed in v1.5.4) - - Lines 1429, 1479: Event type filtering for Sonarr/Radarr webhooks - - Lines 366, 555, 607, 813: Episode NFO creation calls - - Lines 586-592: Episode parsing from filename logic -2. **core/nfo_manager.py** - NFO file creation, parsing, and management - - Lines 336-375: `_find_existing_episode_nfo()` - Smart NFO detection (v1.6.0) - - Lines 377-491: `create_episode_nfo()` - Episode NFO creation with renaming - - Lines 341: Episode filename pattern `S{season_num:02d}E{episode_num:02d}.nfo` - - Lines 480-487: NFO renaming logic (removes old files after rename) - - Lines 85-149: `parse_imdb_from_path_or_nfo()` - Dual identification system -3. **core/database.py** - Database operations and date management - - Lines 173-186: `upsert_movie_dates()` - CRITICAL FIX: INSERT OR REPLACE (v1.5.5) - - Database connection handling for Radarr/Sonarr PostgreSQL -4. **core/logging.py** - Centralized logging system with `_log()` function -5. **core/config.py** - Configuration management - -## Primary Features - -### Webhook Integration -- **Radarr Webhooks**: `/webhook/radarr` - Handles movie import, upgrade, rename events -- **Sonarr Webhooks**: `/webhook/sonarr` - Handles TV episode import, upgrade, rename events -- **Event Filtering**: Processes Download, Upgrade, Rename, Import events only -- **Batch Processing**: Configurable delays to handle multiple rapid events - -### Media Identification (Dual Method System) -1. **Primary**: Directory names with IMDb IDs in brackets `[tt1234567]` or `[imdb-tt1234567]` -2. **Fallback**: NFO file parsing for IMDb IDs using XML tags: - - `tt1234567` - - `tt1234567` - - `tt1234567` - -### NFO File Management - -#### Movies -- **File**: `movie.nfo` in movie directory -- **Metadata**: Preserves existing Radarr metadata, adds release dates at bottom -- **Date Priority**: Digital โ†’ Physical โ†’ Theatrical release dates -- **Locking**: Adds `true` to prevent overwrites - -#### TV Shows -- **Series File**: `tvshow.nfo` in series root directory -- **Episode Files**: Standardized `S##E##.nfo` format (e.g., `S01E01.nfo`) -- **Smart Renaming**: Detects existing non-standard NFO files, extracts metadata, renames to standard format -- **Metadata**: Preserves existing metadata, adds air dates and import dates - -### Database Integration -- **Direct Access**: Connects to Radarr/Sonarr PostgreSQL databases -- **Date Tracking**: Maintains `dateadded` timestamps for import dates -- **Upsert Operations**: Proper `INSERT OR REPLACE` for data integrity -- **History Queries**: Retrieves earliest import dates from application databases - -## Directory Structure Requirements - -### Movies -``` -/movies/ -โ””โ”€โ”€ Movie Title (2024) [tt1234567]/ - โ”œโ”€โ”€ movie.mkv - โ””โ”€โ”€ movie.nfo (created/updated by NFOGuard) -``` - -### TV Shows -``` -/tv/ -โ””โ”€โ”€ Series Title (2024) [tt1234567]/ - โ”œโ”€โ”€ Season 01/ - โ”‚ โ”œโ”€โ”€ Series S01E01.mkv - โ”‚ โ”œโ”€โ”€ S01E01.nfo (created/updated by NFOGuard) - โ”‚ โ””โ”€โ”€ S01E02.nfo - โ”œโ”€โ”€ Season 02/ - โ””โ”€โ”€ tvshow.nfo (created/updated by NFOGuard) -``` - -## Configuration System - -### Environment Files -- **`.env`**: Main configuration (paths, behavior, non-sensitive options) -- **`.env.secrets`**: Sensitive data (API keys, database credentials) - -### Key Settings -- **Media Paths**: Container and application path mappings -- **Release Date Priority**: Configurable date preference order -- **Debug Modes**: `DEBUG`, `PATH_DEBUG`, `SUPPRESS_TVDB_WARNINGS` -- **Database Credentials**: PostgreSQL connection details -- **API Keys**: TMDB, TVDB integration (TVDB optional) - -## API Endpoints - -| Endpoint | Method | Purpose | -|----------|--------|---------| -| `/health` | GET | Health check and status | -| `/webhook/radarr` | POST | Radarr webhook handler | -| `/webhook/sonarr` | POST | Sonarr webhook handler | -| `/manual/scan` | POST | Manual media scanning | -| `/bulk/update` | POST | Bulk movie updates from Radarr DB | - -## Critical Bug Fixes & Technical Details - -### Database Upsert Bug (v1.5.5) - CRITICAL -- **Location**: `core/database.py:173-186` -- **Problem**: `upsert_movie_dates()` was UPDATE-only, not proper upsert -- **Symptoms**: Manual scans weren't saving `dateadded`, webhooks fell back to current timestamp -- **Fix**: Changed to `INSERT OR REPLACE` with `COALESCE` for path preservation -- **Impact**: Fixed webhook date accuracy and database integrity - -### Webhook Date Logic Bug (v1.5.4) -- **Location**: `nfoguard.py:975-990` -- **Problem**: Upgrade webhooks bypassed full date decision logic -- **Symptoms**: Used current timestamp instead of existing Radarr import dates -- **Fix**: Webhook mode now uses same date priority as manual scans -- **Flow**: Database โ†’ Radarr/Sonarr API โ†’ Release dates โ†’ Current timestamp - -### Radarr Event Filtering (v1.5.3) -- **Location**: `nfoguard.py:1479` -- **Problem**: Missing event type filtering (Sonarr had it, Radarr didn't) -- **Fix**: Added `if event_type not in ["Download", "Upgrade", "Rename"]:` -- **Result**: Both systems now follow identical webhook processing - -### NFO-Based Identification System (v1.6.0) -- **Location**: `core/nfo_manager.py:85-149` -- **Method**: `parse_imdb_from_path_or_nfo()` tries directory first, then NFO files -- **Supports**: ``, ``, `` XML tags -- **Files**: movie.nfo and tvshow.nfo parsing - -### Smart Episode NFO Renaming (v1.6.0) -- **Location**: `core/nfo_manager.py:336-491` -- **Detection**: `_find_existing_episode_nfo()` scans season directories -- **Process**: Extract metadata โ†’ Write to standard format โ†’ Remove old file -- **Pattern**: Always creates `S##E##.nfo` format -- **Safety**: Only removes old file after successful write - -## Development History & Major Fixes - -### v1.6.0 (September 16, 2025) - Current -- **NFO-Based Identification**: Added dual identification system (directory + NFO parsing) -- **Smart NFO Renaming**: Detects and renames non-standard episode NFO files to `S##E##.nfo` format -- **Metadata Preservation**: Maintains existing metadata during NFO operations -- **Enhanced Documentation**: Comprehensive README and project documentation - -### v1.5.5 (September 15, 2025) -- **CRITICAL DATABASE FIX**: Fixed `upsert_movie_dates()` from UPDATE-only to proper `INSERT OR REPLACE` -- **Data Integrity**: Manual scans now properly save `dateadded` to database -- **Webhook Fix**: Webhooks now find existing database entries correctly - -### v1.5.4 (September 15, 2025) -- **Webhook Date Logic Fix**: Fixed webhook processing to use proper date decision logic -- **Smart Fallback**: Database โ†’ Radarr import dates โ†’ release dates โ†’ timestamp priority - -### v1.5.3 (September 15, 2025) -- **Radarr Rename Fix**: Added missing event type filtering to Radarr webhooks -- **Consistency**: Radarr now matches Sonarr's event handling - -### v1.5.2 -- **TVDB Warning Suppression**: Added `SUPPRESS_TVDB_WARNINGS` for cleaner logs -- **Production Ready**: Reduced log noise for production environments - -## Date Decision Logic - -### Movies -1. **Database Check**: Existing NFOGuard database entry -2. **Radarr History**: Earliest import date from Radarr database -3. **Release Dates**: Digital โ†’ Physical โ†’ Theatrical (configurable priority) -4. **File Dates**: File system timestamps (fallback) -5. **Current Timestamp**: Absolute last resort - -### TV Shows -1. **Database Check**: Existing NFOGuard database entry -2. **Sonarr History**: Earliest import date from Sonarr database -3. **Air Dates**: Episode air date from metadata -4. **File Dates**: File system timestamps (fallback) -5. **Current Timestamp**: Absolute last resort - -## Workflow Patterns - -### Webhook Processing -1. **Event Validation**: Filter supported event types -2. **Media Detection**: Parse file paths and identify media -3. **Database Lookup**: Check for existing entries -4. **Date Resolution**: Apply decision logic hierarchy -5. **NFO Processing**: Create/update NFO files with metadata -6. **Database Update**: Store processed information - -### Manual Scanning -1. **Directory Traversal**: Scan configured media paths -2. **Media Identification**: Directory names and NFO files -3. **Batch Processing**: Process multiple items efficiently -4. **Database Persistence**: Store all discovered media -5. **NFO Creation**: Generate/update all NFO files - -## Integration Points - -### External Services -- **Radarr**: Movie management, webhook triggers, database queries -- **Sonarr**: TV show management, webhook triggers, database queries -- **TMDB**: Movie metadata and release dates (primary) -- **TVDB**: TV show metadata (optional, failures suppressed) -- **Emby/Jellyfin**: NFO consumption for media servers - -### File System -- **Read Access**: Media directories for scanning and identification -- **Write Access**: NFO file creation and updates -- **Path Mapping**: Container paths vs application paths - -## Development Patterns - -### Code Organization -- **Modular Design**: Separate concerns (database, NFO, logging, config) -- **Error Handling**: Comprehensive exception handling with logging -- **Configuration Driven**: Environment-based configuration management -- **Docker Native**: Designed for containerized deployment - -### Testing Strategy -- **Manual Testing**: API endpoints and webhook simulation -- **Real-world Integration**: Actual Radarr/Sonarr webhook testing -- **Database Validation**: Direct database query verification -- **File System Testing**: NFO file creation and parsing validation - -## Common Issues & Solutions - -### Path Mapping -- **Problem**: Container paths don't match application paths -- **Solution**: Proper volume mapping and path configuration in `.env` -- **Debug**: Enable `PATH_DEBUG=true` to see path resolution - -### Database Connectivity -- **Problem**: Cannot connect to Radarr/Sonarr databases -- **Solution**: Verify credentials in `.env.secrets` and network connectivity -- **Check**: Database host, port, username, password in secrets file - -### Permission Issues -- **Problem**: Cannot write NFO files -- **Solution**: Ensure proper file permissions and volume mount configurations -- **Fix**: `chmod 755` on media directories, `rw` mount permissions - -### TVDB Failures -- **Problem**: TVDB API errors causing log noise -- **Solution**: Set `SUPPRESS_TVDB_WARNINGS=true` (system works without TVDB) -- **Note**: TVDB is optional - IMDb and Sonarr data are primary sources - -### Webhook Issues -- **Problem**: Webhooks not triggering NFO updates -- **Debug Steps**: - 1. Check webhook URLs: `http://nfoguard:8080/webhook/radarr|sonarr` - 2. Verify event types: Download, Upgrade, Rename only - 3. Enable `DEBUG=true` for detailed webhook logging - 4. Check database entries with manual scan first - -### Date Problems -- **Problem**: Wrong dates in NFO files (current timestamp instead of import date) -- **Root Cause**: Usually database upsert issues or missing database entries -- **Solution**: Run manual scan first to populate database, then test webhooks -- **Priority**: Database โ†’ API โ†’ Release dates โ†’ File dates โ†’ Current timestamp - -## Future Considerations - -### Potential Enhancements -- **Movie NFO Renaming**: Similar to TV show episode renaming -- **Multiple NFO Formats**: Support for different media server preferences -- **Metadata Enhancement**: Additional metadata sources and fields -- **Performance Optimization**: Caching and batch processing improvements - -### Monitoring & Maintenance -- **Health Checks**: Regular endpoint monitoring -- **Log Analysis**: Debug mode for troubleshooting -- **Database Maintenance**: Regular cleanup of old entries -- **Version Management**: Semantic versioning and change tracking - -## Development Environment - -### Prerequisites -- Docker and Docker Compose -- Python 3.x development environment -- Access to Radarr/Sonarr instances with PostgreSQL -- Git workflow familiarity - -### Development Workflow -1. **Local Testing**: Use development Docker image -2. **Code Changes**: Implement features with proper logging -3. **Version Updates**: Update VERSION file and SUMMARY.md -4. **Documentation**: Update README.md and Project.md -5. **Deployment**: Push to dev branch, then production - -## Quick Context Recovery - -### When Starting a New Session -1. **Read Project.md** - This file for full context -2. **Check SUMMARY.md** - Latest changes and current version -3. **Review VERSION** - Current version number (v1.6.0) -4. **Key Files to Understand**: - - `nfoguard.py` - Main logic, webhook handlers - - `core/nfo_manager.py` - NFO creation, parsing, renaming - - `core/database.py` - Database operations (watch the upsert bug fix!) - -### Critical Code Locations to Remember -- **Database Upsert**: `core/database.py:173-186` (fixed UPDATE โ†’ INSERT OR REPLACE) -- **Webhook Date Logic**: `nfoguard.py:975-990` (fixed fallback behavior) -- **Event Filtering**: `nfoguard.py:1429,1479` (Download/Upgrade/Rename only) -- **NFO Renaming**: `core/nfo_manager.py:336-491` (smart episode renaming) -- **Dual Identification**: `core/nfo_manager.py:85-149` (directory + NFO parsing) - -### Project Context (Updated 2025-09-17) -- **Current Status**: Production-ready system with 3-component architecture -- **Version**: v1.6.0 (NFOGuard Docker), v1.1.18 (Emby Plugin), v1.3.2 (License Server) -- **User Environment**: Docker deployment, PostgreSQL databases, Unmanic integration -- **Focus Areas**: Webhook accuracy, NFO standardization, date integrity, lifetime license management -- **Testing Method**: Real webhooks from Radarr/Sonarr, manual scans for validation -- **Recent Updates**: Fixed lifetime license display issue with explicit "never" expires handling - -### Three-Repository System Overview -1. **NFOGuard (Docker)** - Main webhook service and NFO management -2. **NFOGuard-Emby-Plugin** - DLL for real-time Emby date synchronization -3. **nfoguard-license-server** - License validation and user management - -### Recent Work Pattern -- User reports issues with specific examples (log snippets, webhook behavior) -- We debug by analyzing code at specific line numbers -- Implement fixes with proper error handling and logging -- Update documentation (SUMMARY.md, README.md, Project.md) across all repositories -- Version bump and prepare for deployment - -This project represents a mature, production-ready system for automated NFO management with comprehensive webhook integration, intelligent metadata handling, and integrated license management. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index dba03b0..0000000 --- a/README.md +++ /dev/null @@ -1,390 +0,0 @@ -# NFOGuard - -[![Docker Pulls](https://img.shields.io/docker/pulls/sbcrumb/nfoguard.svg)](https://hub.docker.com/r/sbcrumb/nfoguard) -[![Docker Image Version](https://img.shields.io/docker/v/sbcrumb/nfoguard?sort=semver)](https://hub.docker.com/r/sbcrumb/nfoguard) -[![Docker Image Size](https://img.shields.io/docker/image-size/sbcrumb/nfoguard/latest)](https://hub.docker.com/r/sbcrumb/nfoguard) - -**Automated NFO file management for Radarr and Sonarr with intelligent date handling** - ---- - -> **โš ๏ธ ALPHA SOFTWARE NOTICE โš ๏ธ** -> -> NFOGuard is currently in **Alpha** stage. While functional, it may have bugs or missing features. -> -> **๐Ÿ”Œ Emby Plugin Included**: The Emby companion plugin is now bundled directly into the Docker image โ€” no extra steps required. -> -> **๐Ÿ’ฌ Community Feedback**: Join our Discord if youโ€™d like to share feedback, test new features early, or discuss improvements with other users: -> -> **[Join Discord: https://discord.gg/bbD9Pmtr](https://discord.gg/bbD9Pmtr)** -> -> *If the Discord link has expired, please [open an issue](https://github.com/sbcrumb/NFOguard/issues) and we'll provide an updated link.* - ---- - -NFOGuard automatically updates movie and TV show NFO files with proper release dates and metadata when triggered by Radarr/Sonarr webhooks. It preserves existing metadata while adding clean, accurate date information at the bottom of NFO files. - -## โœจ Features - -- ๐ŸŽฌ **Movie & TV Support** - Works with both Radarr and Sonarr -- ๐Ÿ“… **Smart Date Handling** - Prioritizes digital, physical, and theatrical release dates -- ๐Ÿ”„ **Webhook Integration** - Triggers automatically on import, upgrade, and rename -- ๐Ÿ—„๏ธ **Database Integration** - Direct PostgreSQL access for better performance -- ๐Ÿ“ **NFO Preservation** - Maintains existing metadata, adds fields cleanly at bottom -- ๐Ÿ”’ **Metadata Locking** - Prevents overwrites with lockdata tags -- โšก **Batch Processing** - Efficient handling of multiple files -- ๐Ÿณ **Docker Ready** - Easy deployment with Docker Compose - -## ๐Ÿš€ Quick Start - -### 1. Download Configuration Files - -```bash -wget https://raw.githubusercontent.com/sbcrumb/NFOguard/main/.env.template -wget https://raw.githubusercontent.com/sbcrumb/NFOguard/main/.env.secrets.template -wget https://raw.githubusercontent.com/sbcrumb/NFOguard/main/docker-compose.example.yml -``` - -### 2. Configure Environment - -```bash -# Copy and edit main configuration -cp .env.template .env -nano .env - -# Copy and edit secrets (API keys, passwords) -cp .env.secrets.template .env.secrets -nano .env.secrets -chmod 600 .env.secrets - -# Copy and edit Docker Compose -cp docker-compose.example.yml docker-compose.yml -nano docker-compose.yml -``` - -### 3. Deploy - -```bash -# Create data directory -mkdir -p ./data - -# Start NFOGuard -docker-compose up -d - -# Check logs -docker-compose logs -f nfoguard - -# Verify health -curl http://localhost:8080/health -``` - -## โš™๏ธ Configuration - -### Environment Files - -| File | Purpose | Contains | -|------|---------|----------| -| `.env` | Main configuration | Paths, behavior settings, non-sensitive options | -| `.env.secrets` | Sensitive data | API keys, passwords, database credentials | - -### Key Configuration Options - -**Media Paths** (Required): -```bash -# Container paths (what NFOGuard sees) -MOVIE_PATHS=/media/Movies/movies,/media/Movies/movies6 -TV_PATHS=/media/TV/tv,/media/TV/tv6 - -# *arr application paths (what your apps see) -RADARR_ROOT_FOLDERS=/mnt/unionfs/Media/Movies/movies -SONARR_ROOT_FOLDERS=/mnt/unionfs/Media/TV/tv -``` - -**Release Date Priority**: -```bash -RELEASE_DATE_PRIORITY=digital,physical,theatrical -``` - -**Debug Mode**: -```bash -DEBUG=false # Clean production logs -SUPPRESS_TVDB_WARNINGS=true # Hide non-critical API failures -``` - -## ๐Ÿณ Docker Images - -### Production (Stable) -```yaml -image: sbcrumb/nfoguard:latest -``` - -### Development (Latest Features) -```yaml -image: sbcrumb/nfoguard:dev -``` - -### Specific Version -```yaml -image: sbcrumb/nfoguard:v1.5.5 -``` - -## ๐Ÿ”— Webhook Setup - -Configure these webhook URLs in your applications: - -**Radarr**: `http://nfoguard:8080/webhook/radarr` -**Sonarr**: `http://nfoguard:8080/webhook/sonarr` - -**Triggers**: On Import, On Upgrade, On Rename - -## ๐Ÿ”„ Manual Operations - -### Manual Scanning - -Trigger manual scans via API endpoints: - -```bash -# Manual scan all media (movies and TV) -curl -X POST "http://localhost:8080/manual/scan?scan_type=both" - -# Manual scan TV only -curl -X POST "http://localhost:8080/manual/scan?scan_type=tv" - -# Manual scan movies only -curl -X POST "http://localhost:8080/manual/scan?scan_type=movies" - -# Manual scan specific path -curl -X POST "http://localhost:8080/manual/scan?path=/media/movies" - -# Bulk update all movies from Radarr database -curl -X POST "http://localhost:8080/bulk/update" -``` - -### API Endpoints - -| Endpoint | Method | Purpose | -|----------|--------|---------| -| `/health` | GET | Health check | -| `/webhook/radarr` | POST | Radarr webhook handler | -| `/webhook/sonarr` | POST | Sonarr webhook handler | -| `/manual/scan` | POST | Manual media scanning | -| `/bulk/update` | POST | Bulk movie updates from Radarr DB | - -### Manual Scan Parameters - -- `scan_type`: `both`, `movies`, `tv` -- `path`: Specific directory path to scan -- Use for initial setup or fixing existing media - -## ๐Ÿ“ Volume Mapping - -Critical: Update `docker-compose.yml` with your actual paths: - -```yaml -volumes: - - ./data:/app/data # NFOGuard data - - /your/movies/path:/media/Movies/movies:rw # Movie library - - /your/tv/path:/media/TV/tv:rw # TV library -``` - -### Common Examples - -**Unraid**: -```yaml -- /mnt/user/Media/Movies:/media/Movies/movies:rw -- /mnt/user/Media/TV:/media/TV/tv:rw -``` - -**Synology**: -```yaml -- /volume1/Media/Movies:/media/Movies/movies:rw -- /volume1/Media/TV:/media/TV/tv:rw -``` - -**Standard Linux**: -```yaml -- /home/user/media/movies:/media/Movies/movies:rw -- /home/user/media/tv:/media/TV/tv:rw -``` - -## ๐Ÿ”ง Troubleshooting - -### Check Logs -```bash -docker-compose logs -f nfoguard -``` - -### Enable Debug Mode -```bash -# In .env file -DEBUG=true -PATH_DEBUG=true -``` - -### Health Check -```bash -curl http://localhost:8080/health -``` - -### Common Issues - -1. **Permission Errors**: Ensure NFOGuard can write to mounted directories -2. **Path Mapping**: Verify container paths match `.env` configuration -3. **Webhooks**: Check URLs and ensure port 8080 is accessible -4. **Database**: Verify PostgreSQL credentials in `.env.secrets` - -## ๐Ÿ“Š What NFOGuard Does - -### Before -```xml - - Movie Title - 2023 - - -``` - -### After -```xml - - Movie Title - 2023 - - - - 2023-03-15 - true - - -``` - -## ๐Ÿ“‹ Requirements - -- Docker and Docker Compose -- Radarr and/or Sonarr -- Media files in accessible directories -- Network connectivity between services - -## ๐Ÿ“ Directory Structure Requirements - -NFOGuard identifies movies and TV shows using two methods: directory names with IMDb IDs (primary) or NFO files with IMDb IDs (fallback). Your media should follow these conventions: - -### ๐ŸŽฌ **Movies** - -**Directory Structure:** -``` -/movies/ -โ””โ”€โ”€ Movie Title (2024) [tt1234567]/ - โ”œโ”€โ”€ movie.mkv - โ””โ”€โ”€ movie.nfo (created by NFOGuard) -``` - -**Identification Methods:** -1. **Primary**: Directory name contains IMDb ID in brackets: `[tt1234567]` or `[imdb-tt1234567]` -2. **Fallback**: NFO file with IMDb ID in movie.nfo file (see NFO format below) -3. **Video file** required: `.mkv`, `.mp4`, `.avi`, `.mov`, `.m4v` -4. **Case insensitive** - `[TT1234567]` works too - -**Examples:** -``` -โœ… Action Film (2024) [tt1234567]/ -โœ… Drama Movie [imdb-tt7654321]/ -โœ… SciFi Thriller (2023) [TT9876543]/ -โŒ Missing IMDB Directory/ -``` - -### ๐Ÿ“บ **TV Shows** - -**Directory Structure:** -``` -/tv/ -โ””โ”€โ”€ Series Title (2024) [tt1234567]/ - โ”œโ”€โ”€ Season 01/ - โ”‚ โ”œโ”€โ”€ Series S01E01.mkv - โ”‚ โ”œโ”€โ”€ Series S01E02.mkv - โ”‚ โ”œโ”€โ”€ S01E01.nfo (created by NFOGuard) - โ”‚ โ””โ”€โ”€ S01E02.nfo (created by NFOGuard) - โ”œโ”€โ”€ Season 02/ - โ””โ”€โ”€ tvshow.nfo (created by NFOGuard) -``` - -**Identification Methods:** -1. **Primary**: Series directory contains IMDb ID: `[tt1234567]` or `[imdb-tt1234567]` -2. **Fallback**: NFO file with IMDb ID in tvshow.nfo file (see NFO format below) -3. **Season directories** must match pattern: `Season 01`, `Season 1`, `season 01` etc. -4. **Episode files** must contain season/episode info: - - **SxxExx format**: `S01E01`, `S1E1`, `s01e01` - - **Dot format**: `1.1`, `01.01` -5. **Video extensions**: `.mkv`, `.mp4`, `.avi`, `.mov`, `.m4v`, `.ts`, `.m2ts` - -**Examples:** -``` -โœ… Drama Series (2024) [tt1234567]/ - โ”œโ”€โ”€ Season 01/ - โ”‚ โ”œโ”€โ”€ Drama S01E01.mkv - โ”‚ โ””โ”€โ”€ Drama S01E02.mkv - โ””โ”€โ”€ Season 02/ - -โœ… Comedy Show [tt7654321]/ - โ””โ”€โ”€ Season 1/ - โ”œโ”€โ”€ Comedy 1.1.mkv - โ””โ”€โ”€ Comedy 1.2.mkv - -โŒ Series Without IMDB []/ -โŒ Series [tt1234567]/Episode01.mkv (no season directory) -โŒ Series [tt1234567]/Season 1/RandomName.mkv (no episode pattern) -``` - -### ๐Ÿ“„ **NFO File Identification Format** - -NFOGuard can extract IMDb IDs from existing NFO files using these XML tags: - -**Movie NFO (movie.nfo):** -```xml - -tt1234567 - - -tt1234567 - - -tt1234567 -``` - -**TV Show NFO (tvshow.nfo):** -```xml - -tt1234567 -tt1234567 -tt1234567 -``` - -**Episode NFO Files:** -NFOGuard creates standardized episode NFO files using the pattern `S##E##.nfo`: -- `S01E01.nfo` for Season 1, Episode 1 -- `S02E05.nfo` for Season 2, Episode 5 -- Always zero-padded format (S01E01, not S1E1) -- **Smart Rename**: NFOGuard will find existing NFO files (created by Sonarr/other tools), extract their metadata, and rename them to the standard format - -### ๐Ÿšซ **What Gets Skipped** -NFOGuard will ignore: -- Directories without IMDb IDs in brackets AND no NFO files with IMDb IDs -- Directories without video files -- TV episodes without recognizable season/episode patterns -- Season directories that don't match "Season X" format - -## ๐Ÿ†˜ Support - -- **Issues**: [GitHub Issues](https://github.com/sbcrumb/NFOguard/issues) -- **Documentation**: See `SETUP.md` for detailed instructions -- **Docker Hub**: [`sbcrumb/nfoguard`](https://hub.docker.com/r/sbcrumb/nfoguard) - -## ๐Ÿ“„ License - -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. - -Commercial licensing and enterprise features may be available separately. Contact us for more information. - ---- - -**NFOGuard** - Keeping your media metadata clean and organized! ๐ŸŽฏ diff --git a/RELEASE_NOTES_v1.5.5.md b/RELEASE_NOTES_v1.5.5.md deleted file mode 100644 index 67f9c53..0000000 --- a/RELEASE_NOTES_v1.5.5.md +++ /dev/null @@ -1,37 +0,0 @@ -## NFOGuard v1.5.5 - Complete CI/CD & Docker Hub Integration! ๐Ÿš€ - -### Major Updates in v1.5.5: -- **๐Ÿ‹ DOCKER HUB**: Full integration with `sbcrumb/nfoguard` repository -- **๐Ÿ”ง CI/CD FIXED**: Both main and dev pipelines working perfectly -- **๐Ÿ˜ POSTGRESQL**: Added PostgreSQL dependencies for psycopg2-binary -- **๐Ÿ PYTHON 3.11**: Stable Python 3.11-slim base image -- **๐Ÿ“ฆ DUAL REGISTRY**: Pushes to both local Gitea and Docker Hub -- **๐ŸŽฏ DEV PIPELINE**: Separate dev builds with `sbcrumb/nfoguard:dev` - -### CI/CD Pipeline Status: -โœ… **Main Branch**: Builds and pushes `sbcrumb/nfoguard:latest` -โœ… **Dev Branch**: Builds and pushes `sbcrumb/nfoguard:dev` -โœ… **Version Tags**: Automatic semantic versioning (v1.5.5) -โœ… **Docker Dependencies**: PostgreSQL, libpq-dev, gcc for psycopg2 - -### Available Images: -```bash -# Stable release -docker pull sbcrumb/nfoguard:latest - -# Development version -docker pull sbcrumb/nfoguard:dev - -# Specific version -docker pull sbcrumb/nfoguard:v1.5.5 -``` - -### Fixed Issues: -- โœ… Docker build permission errors -- โœ… Missing PostgreSQL dependencies -- โœ… YAML syntax errors in dev CI -- โœ… Python version compatibility -- โœ… TVDB warning suppression -- โœ… Debug logging controls - -## ๐ŸŽ‰ NFOGuard is now production-ready with full CI/CD automation! ๐ŸŽ‰ \ No newline at end of file diff --git a/SETUP.md b/SETUP.md deleted file mode 100644 index 0798ec5..0000000 --- a/SETUP.md +++ /dev/null @@ -1,153 +0,0 @@ -# NFOGuard Setup Guide - -## ๐Ÿ” Secure Configuration Setup - -NFOGuard now uses a **two-file configuration system** for better security and easier troubleshooting: - -- **`.env`** - Main configuration (safe to share for debugging) -- **`.env.secrets`** - Sensitive API keys and passwords (never commit to git) - -### Step 1: Copy Configuration Templates - -```bash -# Copy main configuration -cp .env.template .env - -# Copy secrets configuration -cp .env.secrets.template .env.secrets -``` - -### Step 2: Configure Main Settings - -Edit your `.env` file with your specific paths and preferences: - -```bash -# Media paths (adjust to your directory structure) -TV_PATHS=/media/TV/tv,/media/TV/tv6 -MOVIE_PATHS=/media/Movies/movies,/media/Movies/movies6 - -# Database connection details -RADARR_DB_HOST=radarr-postgres -RADARR_DB_PORT=5432 -RADARR_DB_NAME=radarr -RADARR_DB_USER=radarr - -# Processing preferences -PREFER_RELEASE_DATES_OVER_FILE_DATES=true -ALLOW_FILE_DATE_FALLBACK=false -RELEASE_DATE_PRIORITY=digital,physical,theatrical - -# TV webhook processing mode (v0.6.0+) -TV_WEBHOOK_PROCESSING_MODE=targeted -``` - -### Step 3: Configure Secrets - -Edit your `.env.secrets` file with your actual API keys and passwords: - -```bash -# Database password -RADARR_DB_PASSWORD=your_actual_radarr_password - -# TMDB API key (required for release date detection) -TMDB_API_KEY=your_actual_tmdb_api_key - -# Sonarr API key (REQUIRED for v0.6.0+ Enhanced TV NFO Generation) -SONARR_API_KEY=your_actual_sonarr_api_key - -# Optional API keys -RADARR_API_KEY=your_radarr_api_key -OMDB_API_KEY=your_omdb_api_key -``` - -### Step 4: Verify Configuration - -Test your setup: - -```bash -# Test database connections -curl -X POST "http://localhost:8080/test/bulk-update" - -# Test movie scanning -curl -X POST "http://localhost:8080/test/movie-scan" - -# Check system health -curl "http://localhost:8080/health" -``` - -## ๐Ÿ”’ Security Features - -### API Key Masking -All API keys and passwords are automatically masked in logs: -``` -[2025-09-09T12:34:56] INFO: TMDB API call with key=***masked*** -[2025-09-09T12:34:56] INFO: Database connection password=***masked*** -``` - -### Sensitive Data Separation -- **Main `.env`**: Paths, preferences, URLs (safe to share) -- **`.env.secrets`**: API keys, passwords (never commit to version control) -- **Automatic loading**: Both files loaded automatically at startup - -### Git Protection -The `.gitignore` file prevents accidental commits: -``` -.env -.env.secrets -.env.local -``` - -## ๐Ÿ›  Troubleshooting - -### "Environment files not loaded" Warning -Install python-dotenv: -```bash -pip install python-dotenv==1.0.0 -# or -docker-compose build # rebuilds with updated requirements.txt -``` - -### Sharing Configuration for Help -You can safely share your `.env` file for debugging since it contains no sensitive data. The `.env.secrets` file should never be shared. - -### Migration from Old Setup -If you have an existing `.env` with API keys: -1. Move all `*_API_KEY` and `*_PASSWORD` variables to `.env.secrets` -2. Remove sensitive data from `.env` -3. Restart NFOGuard - -## ๐ŸŽฏ Docker Compose Example - -```yaml -version: '3.8' -services: - nfoguard: - image: sbcrumb/nfoguard:latest - container_name: nfoguard - ports: - - "8080:8080" - volumes: - - /path/to/your/media:/media:rw - - ./data:/app/data - - ./.env:/app/.env:ro # Main configuration - - ./.env.secrets:/app/.env.secrets:ro # Secrets - environment: - - PORT=8080 - depends_on: - - radarr-postgres -``` - -## ๐Ÿ“‹ Configuration Reference - -### Main Configuration (.env) -- **Paths**: `TV_PATHS`, `MOVIE_PATHS`, `DB_PATH` -- **Processing**: `MOVIE_PRIORITY`, `RELEASE_DATE_PRIORITY` -- **Features**: `MANAGE_NFO`, `FIX_DIR_MTIMES`, `LOCK_METADATA` -- **URLs**: `RADARR_URL`, `SONARR_URL`, `JELLYSEERR_URL` - -### Secrets Configuration (.env.secrets) -- **Database**: `RADARR_DB_PASSWORD` -- **APIs**: `TMDB_API_KEY`, `OMDB_API_KEY`, `RADARR_API_KEY`, `SONARR_API_KEY` -- **Optional**: `JELLYSEERR_API_KEY` - -This setup makes NFOGuard more secure while keeping configuration manageable for troubleshooting and deployment. \ No newline at end of file diff --git a/SUMMARY.md b/SUMMARY.md deleted file mode 100644 index 181b580..0000000 --- a/SUMMARY.md +++ /dev/null @@ -1,496 +0,0 @@ -# NFOGuard Project Summary - -## Overview -NFOGuard is a Python-based tool that manages NFO (metadata) files for movies and TV shows in Plex/Emby media servers. It integrates with Radarr and Sonarr to automatically manage metadata, ensuring proper dates and metadata consistency. - -## ๐ŸŽฏ CURRENT SESSION ACCOMPLISHMENTS (September 21, 2025) - -### โœ… MAJOR ISSUES RESOLVED -1. **Database Save Bug**: Identified and resolved "phantom" database save issue (was logging interpretation error) -2. **Enhanced Movie Detection**: Movies without IMDb IDs in directory names now detected via filenames/NFO content -3. **Enhanced Logging**: Crystal-clear source attribution showing NFOGuard DB vs Radarr vs External APIs -4. **Priority Flow Confirmed**: Perfect implementation of user's requested flow - -### โœ… KEY IMPROVEMENTS MADE - -**๐Ÿ” Enhanced Movie Detection**: -- Added `find_movie_imdb_id()` function with comprehensive detection -- Supports directory names, filenames, and NFO file content parsing -- Movies like "Ick (2024)" now properly processed without directory IMDb tags - -**๐Ÿ“Š Crystal-Clear Logging System**: -- Added emoji-based logging for easy visual scanning -- Clear source attribution: `nfoguard_db:`, `radarr:db.`, `tmdb:`, etc. -- Priority flow display shows exact decision path -- Final completion logs show chosen date and source - -**๐Ÿ”„ Perfect Priority Flow**: -1. NFOGuard Database (cached entries) โ†’ -2. Radarr Import History (real import dates) โ†’ -3. External APIs (TMDB/OMDb with configurable priority) โ†’ -4. Save to NFOGuard Database (cache for future) - -**๐Ÿš€ Manual Scan Commands**: -- Movies only: `curl -X POST "http://nfoguard:8080/manual/scan?scan_type=movies"` -- TV only: `curl -X POST "http://nfoguard:8080/manual/scan?scan_type=tv"` -- Both: `curl -X POST "http://nfoguard:8080/manual/scan?scan_type=both"` - -### โœ… CONFIGURATION MAINTAINED -All existing .env settings fully preserved and respected: -- `RELEASE_DATE_PRIORITY=digital,physical,theatrical` -- `MOVIE_PRIORITY=import_then_digital` -- `PREFER_RELEASE_DATES_OVER_FILE_DATES=true` -- `ALLOW_FILE_DATE_FALLBACK=false` - -### โœ… DEBUGGING COMPLETED -- **Root Cause**: "Phantom database save" was actually two different movie executions in logs -- **Database Save**: Working correctly in both early-exit and full-processing paths -- **NFO Processing**: Fixed to execute before date validation (preserves existing metadata) -- **File Detection**: Enhanced to handle movies without directory IMDb tags - -## Core Architecture - -### Main Components -- **nfoguard.py**: Main application file containing the core logic -- **core/nfo_manager.py**: Handles NFO file creation and updates -- **clients/**: External API integrations (Radarr, Sonarr, etc.) - -### Key Features -- Creates and updates movie.nfo files with proper metadata -- Manages TV show NFO files (tvshow.nfo, season.nfo, episode NFOs) -- Preserves existing metadata while adding NFOGuard-managed fields -- Supports date management from multiple sources (Radarr, file dates, etc.) -- Webhook support for real-time processing - -## Current Issue Analysis - -### Problem -When a movie.nfo file already exists (e.g., from Radarr), NFOGuard is **not** processing the file to: -1. Move date fields to the bottom -2. Add NFOGuard comment -3. Add NFOGuard-managed fields (dateadded, lockdata, etc.) - -### Root Cause Identified -The issue is in `nfoguard.py:1009-1012`. The processing logic has a premature exit condition: - -```python -# Skip processing if no valid date found and file dates disabled -if dateadded is None: - _log("WARNING", f"Skipping movie {movie_path.name} - no valid date source available") - self.db.upsert_movie_dates(imdb_id, released, None, source, True) - return # <-- This exits BEFORE NFO processing -``` - -**The NFO processing code (lines 1015-1018) never executes when dateadded is None.** - -### Analysis of NFO Processing Logic -The `create_movie_nfo` function in `core/nfo_manager.py:52-147` is actually well-designed: -- Lines 60-78: Properly loads and preserves existing NFO content -- Lines 69-78: Removes NFOGuard-managed fields to re-add them at the bottom -- Lines 96-123: Adds all NFOGuard fields at the end -- Lines 124-141: Adds NFOGuard comment and proper formatting - -**The NFO manager code is correct - it's just not being called due to the early exit.** - -## Files That Need Updates -1. `nfoguard.py` - Fix the early exit logic around line 1009-1012 - -## Status -- โœ… NFO Processing Issue: Fixed in nfoguard.py:1008-1025 -- ๐Ÿ” **NEW ISSUE**: Database not persisting dateadded values on manual scans - -## Fix Summary - -### Movie NFO Processing (โœ… Fixed) -**Problem**: NFO processing was skipped entirely when `dateadded` was None due to early return. - -**Solution**: Moved NFO processing (`create_movie_nfo`) to execute **before** the `dateadded` check, ensuring that: -1. Existing NFO files are always processed and standardized -2. NFOGuard comment is added -3. Date fields are moved to bottom -4. lockdata is added if configured -5. Only file mtime updates are skipped when no valid date is found - -### TV Episode NFO Processing (โœ… Enhanced) -**Enhancement**: Added smart episode NFO migration for long-named files. - -**New Functionality**: -1. **Detection**: `find_existing_episode_nfo()` scans for non-standard NFO files that match season/episode -2. **Migration**: Extracts metadata from long-named files (e.g., `Episode.Name.Here.S01E05.nfo`) -3. **Standardization**: Creates standard `S01E05.nfo` with preserved metadata + NFOGuard enhancements -4. **Cleanup**: Automatically deletes old long-named NFO files after successful migration -5. **Preservation**: All existing metadata is preserved, dates moved to bottom, NFOGuard fields added - -## ๐Ÿ” DATABASE SAVE BUG RESOLVED! โœ… - -### Problem Analysis COMPLETED -**Root Cause Identified**: The "phantom database save bug" was actually a **logging interpretation error**. - -### What Actually Happened -The debug logs showing these two lines: -``` -DEBUG: Movie processing reached post-mtime section: Dear Santa (2024) [imdb-tt2396431] -INFO: Completed processing movie: Dear Santa (2024) [imdb-tt2396431] (source: tmdb:digital) -``` - -**Cannot be from the same function execution!** Here's why: - -### The Real Execution Flow -**Line 1014-1018**: Early exit when `dateadded is None`: -```python -if dateadded is None: - _log("WARNING", f"Movie {movie_path.name} - no valid date source available, but NFO was still processed") - self.db.upsert_movie_dates(imdb_id, released, None, source, True) - return # <-- EXITS HERE, never reaches line 1029! -``` - -**Line 1029**: Debug log that only executes when `dateadded` has a valid value: -```python -_log("DEBUG", f"Movie processing reached post-mtime section: {movie_path.name}") -``` - -**Line 1045**: Completion log that only executes after successful database save: -```python -_log("INFO", f"Completed processing movie: {movie_path.name} (source: {source})") -``` - -### Key Insight -**The logs are from TWO different executions:** -1. **First run**: `dateadded = None` โ†’ early exit at line 1018 โ†’ database save executes BUT for NULL value -2. **Second run**: `dateadded` has value โ†’ reaches line 1029 โ†’ full processing โ†’ line 1045 - -### Database Save Status -โœ… **Database saves ARE working correctly!** -- Early exit path (line 1018): Saves NULL dateadded when no valid date found -- Full processing path (lines 1038-1043): Saves valid dateadded when available -- Both paths call `upsert_movie_dates()` appropriately - -### Investigation Status -โœ… **Enhanced Movie Detection**: Working (Ick 2024 now processed) -โœ… **NFO Processing**: Working (files get updated) -โœ… **File Timestamp Updates**: Working (mtimes get set) -โœ… **Database Persistence**: **WORKING CORRECTLY** - saves happen in both execution paths - -## ๐Ÿ“Š ENHANCED LOGGING SYSTEM (September 21, 2025) โœ… - -### New Crystal-Clear Source Attribution -**Problem**: Logs didn't clearly show whether dates came from NFOGuard DB vs Radarr vs external APIs. - -**Solution**: Added comprehensive logging with emojis and clear source identification. - -### New Logging Format -**Priority Flow Display**: -``` -๐Ÿ”„ PRIORITY FLOW: NFOGuard DB โ†’ Radarr import โ†’ External APIs (digital,physical,theatrical) โ†’ Save to NFOGuard DB -``` - -**NFOGuard Database Lookups**: -``` -๐Ÿ” NFOGuard DB lookup for tt1234567: FOUND - dateadded=2025-06-15T11:10:31-04:00, source=radarr:db.history.import -โœ… MANUAL SCAN: Using existing NFOGuard database entry: 2025-06-15T11:10:31-04:00 (original source: radarr:db.history.import) -``` - -**External Source Queries**: -``` -๐Ÿ” RADARR DATABASE: Checking import history for movie ID 123 (tt1234567)... -๐Ÿ“ฆ RADARR DATABASE: Found import date=2025-07-20T14:30:00Z, source=radarr:db.history.import -๐Ÿ” EXTERNAL APIs: Trying digital release date fallback... -๐ŸŒ EXTERNAL APIs: Found digital release date=2025-06-15T00:00:00+00:00, source=tmdb:digital -``` - -**Final Decision Tracking**: -``` -โœ… FINAL CHOICE: Using Radarr import date 2025-07-20T14:30:00-04:00 from radarr:db.history.import -๐ŸŽฌ COMPLETED: Movie Name (2024) | Final date: 2025-07-20T14:30:00-04:00 | Final source: radarr:db.history.import -``` - -### Source Attribution System -**NFOGuard Database**: `nfoguard_db:radarr:db.history.import` (shows original source) -**Radarr Database**: `radarr:db.history.import` (fresh query) -**External APIs**: `tmdb:digital`, `omdb:dvd`, etc. - -### Perfect Priority Flow Confirmed -1. โœ… **NFOGuard DB First**: Check cached entries, use if available -2. โœ… **Radarr Import History**: Query for real import dates if not cached -3. โœ… **External APIs**: TMDB/OMDb fallback with configurable priority (`RELEASE_DATE_PRIORITY`) -4. โœ… **Save to NFOGuard DB**: Cache result for future lookups - -**This ensures we don't repeatedly query Radarr/external APIs for the same movies!** - -## ๐Ÿš€ MANUAL SCAN API COMMANDS - -### Available Scan Types -**Movies Only:** -```bash -curl -X POST "http://nfoguard:8080/manual/scan?scan_type=movies" -``` - -**TV Shows Only:** -```bash -curl -X POST "http://nfoguard:8080/manual/scan?scan_type=tv" -``` - -**Both Movies AND TV Shows (Default):** -```bash -curl -X POST "http://nfoguard:8080/manual/scan?scan_type=both" -# OR simply: -curl -X POST "http://nfoguard:8080/manual/scan" -``` - -**Specific Path Scan:** -```bash -curl -X POST "http://nfoguard:8080/manual/scan?path=/media/Movies/Movie.Name.2024&scan_type=movies" -``` - -### What Each Scan Does -- **Movies**: Processes all movie directories in `MOVIE_PATHS`, follows NFOGuard priority flow -- **TV**: Processes all TV series in `TV_PATHS`, updates episode NFO files with proper dates -- **Both**: Processes both movies and TV shows in sequence (recommended for full refresh) - -All scans run in background and return immediately with status confirmation. - -### Movie IMDb ID Detection (โœ… Enhanced) -**Enhancement**: Added comprehensive IMDb ID detection for movies without directory tags. - -**New Detection Methods**: -1. **Directory Name**: `[imdb-tt123456]` format (existing) -2. **Filename Patterns**: IMDb ID in any video file name `Movie.Name.2024.[tt123456].mkv` -3. **NFO File Content**: `tt123456` (NEW) -4. **Legacy NFO Tags**: `` and `` tags (NEW) - -**Implementation**: -- Added `find_movie_imdb_id()` function that tries all methods in priority order -- Extended `parse_imdb_from_nfo()` to handle XML parsing -- Updated movie processing to use comprehensive detection - -**Example**: Ick (2024) directory without IMDb in folder name will now be detected via NFO file content. - - -# NFOGuard Development Summary - -## Current Status: v1.6.6 - Docker Plugin Deployment! ๐Ÿณ - -### Latest Updates (v1.6.6) - September 19, 2025 -- **๐Ÿณ DOCKER PLUGIN DEPLOYMENT**: Added automatic Emby plugin deployment via Docker -- **๐Ÿ“ฆ DLL PACKAGING**: NFOGuard.Emby.Plugin.dll now packaged with Docker image -- **๐Ÿ”— BIND MOUNT SUPPORT**: Primary method using bind mount to Emby plugins directory -- **โš™๏ธ ENVIRONMENT FALLBACK**: Secondary method using EMBY_PLUGINS_PATH environment variable -- **๐Ÿš€ AUTO-UPDATE**: Plugin automatically updates when new Docker image is deployed -- **๐Ÿ“‹ CONFIGURATION**: Added .env.example with plugin deployment settings -- **๐Ÿ”„ STARTUP SCRIPT**: Container automatically deploys plugin on startup -- **๐ŸŽฏ WORKFLOW INTEGRATION**: Compatible with Gitea โ†’ DockerHub deployment pipeline - -### Docker Plugin Deployment Flow -**Bind Mount Method (Recommended):** -1. Set `EMBY_PLUGINS_PATH=/path/to/emby/plugins` in .env -2. Docker bind mounts host directory to `/emby-plugins` in container -3. On startup, NFOGuard copies DLL to mounted directory -4. Plugin updates automatically with each new image deployment - -**Benefits:** -- Works with separate Emby/NFOGuard containers -- Compatible with native Emby installations -- Secure - only exposes plugins directory -- Automatic updates via CI/CD pipeline - -## Previous Status: v1.6.0 - NFO-Based Identification! ๐Ÿ“„ - -### Latest Updates (v1.6.0) - September 16, 2025 -- **๐Ÿ“„ NFO IDENTIFICATION**: Added support for identifying movies/TV shows from NFO files -- **๐Ÿ”„ DUAL METHOD**: Directory name IMDb IDs (primary) + NFO file IMDb IDs (fallback) -- **๐Ÿ“‹ NFO FORMATS**: Supports ``, ``, and `` XML tags -- **๐ŸŽฌ MOVIE SUPPORT**: Reads movie.nfo files for IMDb ID extraction -- **๐Ÿ“บ TV SUPPORT**: Reads tvshow.nfo files for series identification -- **โœ… SMART FALLBACK**: Only checks NFO files when directory name lacks IMDb ID -- **๐Ÿ“ DOCUMENTATION**: Updated README with NFO identification examples and formats -- **๐Ÿ”„ NFO RENAMING**: Added smart episode NFO file renaming to standardized `S##E##.nfo` format -- **๐ŸŽฏ SONARR INTEGRATION**: Detects existing NFO files created by Sonarr/other tools, extracts metadata, and renames to standard format -- **๐Ÿ“ METADATA PRESERVATION**: Preserves all existing metadata when renaming non-standard NFO files -- **๐Ÿงน CLEANUP**: Removes old non-standard NFO files after successful rename to prevent duplicates - -### Previous Updates (v1.5.5) - September 15, 2025 -- **๐Ÿ”ง DATABASE BUG FIX**: Fixed `upsert_movie_dates` to be a proper upsert operation -- **๐Ÿ’พ DATA INTEGRITY**: Manual scans now properly save `dateadded` to database -- **๐ŸŽฏ ROOT CAUSE**: Fixed UPDATE-only operation that was leaving `dateadded` fields NULL -- **โœ… WEBHOOK FIX**: Webhooks now find existing database entries correctly -- **๐Ÿ“บ TV SHOWS**: NOT affected - already using proper `INSERT OR REPLACE` operations - -### Previous Updates (v1.5.4) - September 15, 2025 -- **๐ŸŽฏ WEBHOOK DATE FIX**: Fixed webhook processing to use proper date decision logic -- **๐Ÿ” SMART FALLBACK**: Webhooks now check database โ†’ Radarr import dates โ†’ release dates โ†’ timestamp -- **โŒ ISSUE RESOLVED**: Upgrade webhooks no longer incorrectly use current timestamp when database exists -- **โœ… PROPER FLOW**: Webhook mode now uses same date logic as manual scans for missing entries - -### Previous Updates (v1.5.3) - September 15, 2025 -- **๐Ÿ”ง RADARR RENAME FIX**: Added missing event type filtering to Radarr webhooks -- **โœ… CONSISTENCY**: Radarr now matches Sonarr's event handling (Download, Upgrade, Rename) -- **๐ŸŽฏ FIXED ISSUE**: Radarr rename events now properly trigger NFO updates with correct dates -- **๐Ÿ”„ WORKFLOW**: Both Sonarr and Radarr now follow identical webhook processing flows - -### Previous Updates (v1.5.2) -- **๐Ÿ”‡ TVDB WARNINGS**: Added SUPPRESS_TVDB_WARNINGS configuration option -- **โœ… CLEAN LOGS**: Can now suppress non-critical TVDB API failure warnings -- **๐Ÿงน PRODUCTION**: Cleaner logs for production monitoring -- **๐ŸŽฏ FUNCTIONAL**: System works perfectly without TVDB (uses IMDb/Sonarr data) - -### TVDB Warning Suppression -**Added new environment variable:** -```bash -# Suppress TVDB API warnings (true/false) - TVDB failures are common and non-critical -SUPPRESS_TVDB_WARNINGS=true -``` - -### Why Suppress TVDB Warnings? -- **โŒ Common Failures**: Many series don't exist in TVDB database -- **โœ… Non-Critical**: NFOGuard works perfectly without TVDB data -- **๐Ÿ“Š Primary Data**: Uses IMDb IDs and Sonarr metadata (more reliable) -- **๐Ÿงน Log Noise**: Reduces repetitive warning messages - -### Before vs After - -**Before (noisy):** -``` -INFO: All episodes found in cache -WARNING: GET https://api4.thetvdb.com/v4/search/remoteid?remoteId=tt0804484&type=series failed: HTTP Error 400: Bad Request -INFO: Completed processing TV series: Foundation (2021) [imdb-tt0804484] -WARNING: GET https://api4.thetvdb.com/v4/search/remoteid?remoteId=tt9737326&type=series failed: HTTP Error 400: Bad Request -``` - -**After (clean):** -``` -INFO: All episodes found in cache -INFO: Completed processing TV series: Foundation (2021) [imdb-tt0804484] -INFO: Completed processing TV series: Invasion (2021) [imdb-tt9737326] -``` - -### Your Configuration -```bash -DEBUG=false # Clean production logging -PATH_DEBUG=false # No path mapping debug -SUPPRESS_TVDB_WARNINGS=true # Hide non-critical TVDB failures -``` - -### System Status -- โœ… **Processing**: All TV series processing successfully -- โœ… **Episodes**: All episodes found and processed -- โœ… **NFO Files**: Being created/updated with proper metadata -- โœ… **Functionality**: TVDB failures don't affect operation - -## ๐Ÿ”‡ NFOGuard v1.5.2 - Ultra-clean production logs! ๐Ÿ”‡ - -### Copy SUPPRESS_TVDB_WARNINGS=true to your server .env file and restart! - ---- - -## ๐Ÿ”ง FIXED: Database Upsert Bug (September 15, 2025) - **CRITICAL** - -### Issue Discovery -**The Real Root Cause**: Manual scans were NOT actually saving `dateadded` to database due to faulty upsert operation! - -### Problem Details -**Database Method Bug** in `core/database.py:173-182`: -- `upsert_movie_dates()` was doing UPDATE-only, not proper upsert -- If movie row didn't exist properly, UPDATE would affect 0 rows -- `dateadded` field remained NULL even after manual scan -- Webhooks found database entries but with NULL `dateadded` โ†’ fell back to current timestamp - -### ๐Ÿ”ง **Fix Applied** -- **Location**: `core/database.py:173-186` -- **Changed**: UPDATE-only โ†’ proper `INSERT OR REPLACE` upsert -- **Result**: Manual scans now properly save `dateadded` to database -- **Webhook Impact**: Now finds existing dates correctly, no more false timestamps - -### Before vs After Database Operations -**Before (BROKEN):** -```sql -UPDATE movies SET dateadded = '2025-06-15...' WHERE imdb_id = 'tt123'; --- If row doesn't exist properly: 0 rows affected, dateadded stays NULL -``` - -**After (FIXED):** -```sql -INSERT OR REPLACE INTO movies (...) VALUES (...); --- Always works: Creates row OR replaces with all data including dateadded -``` - ---- - -## ๐ŸŽฏ FIXED: Webhook Date Logic Issue (September 15, 2025) - -### Issue Discovery -Upgrade webhooks were incorrectly using current timestamp (`webhook:first_seen`) instead of checking Radarr for proper import dates when no database entry existed. - -**Example Problem:** -- Database populated via manual scan: `2025-06-15T11:10:31-04:00` (radarr:db.history.import) -- Upgrade webhook comes in: `2025-09-15T12:04:23-04:00` (webhook:first_seen) โŒ **WRONG!** - -### Root Cause -Webhook mode was bypassing the full date decision logic (`_decide_movie_dates`) and jumping straight to current timestamp as fallback. - -### โœ… **Fix Applied** -- **Location**: `nfoguard.py:975-990` -- **Logic**: Webhook mode now uses same date priority as manual scans: - 1. **Database first** (if exists) - 2. **Full date logic** (Radarr import โ†’ release dates โ†’ fallbacks) - 3. **Current timestamp** (only as absolute last resort) - -### Result -Webhook upgrades now properly find and use existing Radarr import dates instead of creating false "first seen" timestamps. - ---- - -## ๐Ÿ”ง FIXED: Radarr Rename Event Issue (September 15, 2025) - -### Issue Resolution -**COMPLETED**: Fixed missing Radarr rename event handling by adding proper event type filtering. - -### โœ… **Both Sonarr & Radarr Webhook Handling** - **NOW WORKING CORRECTLY** -- **Sonarr Location**: `nfoguard.py:1429` -- **Radarr Location**: `nfoguard.py:1479` **(FIXED)** -- **Event Filtering**: `if event_type not in ["Download", "Upgrade", "Rename"]:` -- **โœ… STATUS**: **Rename events ARE processed for both systems** -- **โœ… BEHAVIOR**: Both systems now update NFO files with proper date metadata on rename - -### What Was Fixed -1. **Added Event Type Filtering**: Radarr webhooks now explicitly filter for supported events -2. **Consistent Processing**: Both Sonarr and Radarr now follow identical webhook workflows -3. **Proper Rename Handling**: Rename events trigger full NFO processing pipeline - ---- - -## ๐Ÿ“‹ NFOGuard Webhook Workflow Documentation - -### ๐ŸŽฌ **Radarr Webhook Workflow** -1. **Import Event**: - - Check database - if not seen before, current timestamp = truth of first import - - Update movie.nfo with proper date metadata - -2. **Rename Event**: - - Check database - if we have the date, use existing date - - Update movie.nfo file as always (preserving original import date) - -3. **Rename Event (No Database Entry)**: - - Check Radarr database for earliest import date - - If found, use earliest import date โ†’ update database + movie.nfo - - If no import date found, use digital/theatrical release date (fallback logic) - -### ๐Ÿ“บ **Sonarr Webhook Workflow** -1. **Import Event**: - - Check database - if not seen before, current timestamp = truth of first import - - Update episode.nfo with proper date metadata - -2. **Rename Event**: - - Check database - if we have the date, use existing date - - Update episode.nfo file as always (preserving original import date) - -3. **Rename Event (No Database Entry)**: - - Check Sonarr API for earliest import date - - If found, use earliest import date โ†’ update database + episode.nfo - - If no import date found, use air date (fallback logic) - -### ๐Ÿ”„ **Key Processing Logic** -- **Database First**: Always check NFOGuard database for existing dates -- **Import Truth**: Webhook import events establish "source of truth" timestamps -- **Date Preservation**: Rename events preserve original import dates, never overwrite -- **Smart Fallbacks**: API queries โ†’ Release dates โ†’ Air dates โ†’ File dates (configurable) -- **Batch Processing**: All webhooks go through batching system with configurable delays \ No newline at end of file diff --git a/TESTING.md b/TESTING.md deleted file mode 100644 index 603b1bd..0000000 --- a/TESTING.md +++ /dev/null @@ -1,183 +0,0 @@ -# NFOGuard Testing Guide - -## ๐Ÿงช Test Scripts Overview - -NFOGuard includes 3 specialized testing scripts to validate different parts of the workflow. These are designed to be run via webhooks or manual API calls, not directly on the command line. - -### 1. `test_bulk_update.py` - Database Connection Validator -**Purpose**: Tests that the bulk update system can connect to databases without modifying any data. - -**What it tests**: -- Radarr database connection -- NFOGuard database connection -- Query execution (reads first 5 movies) -- Import detection logic - -**When to use**: Before running the full bulk update to ensure everything is configured correctly. - -**How to run**: -```bash -# Via webhook/API inside container -curl -X POST "http://nfoguard:8080/test/bulk-update" - -# Or manually inside container -python3 test_bulk_update.py -``` - -### 2. `test_movie_scan.py` - Directory Structure Validator -**Purpose**: Tests the movie directory scanning logic to ensure movies will be found. - -**What it tests**: -- Path configuration validation -- IMDb ID parsing from directory names -- Movie discovery logic -- Directory structure understanding - -**When to use**: When manual scans report "0 movies found" to debug path issues. - -**Sample output**: -``` -๐Ÿ” Testing Movie Directory Scanning -โœ… '/media/Movies/movies' -> Found 150 movies with IMDb IDs -โœ… 'The Dark Knight [imdb-tt0468569] (2008)' -> tt0468569 -โŒ 'Invalid Movie (2020)' -> No IMDb ID found -``` - -### 3. `test_end_to_end.py` - Complete Workflow Validator -**Purpose**: Tests the entire NFOGuard workflow from database queries to NFO creation. - -**What it tests**: -- Server health and connectivity -- Database performance (your July 2025 date test) -- Manual scan trigger -- Batch processing status -- Statistics endpoints - -**When to use**: After deployment to verify the complete system works end-to-end. - -**How to run**: -```bash -# Via webhook inside container -curl -X POST "http://nfoguard:8080/test/end-to-end" -``` - -## ๐Ÿš€ Testing Workflow for Docker Deployment - -### Step 1: Deploy with Environment Variables -```bash -# Copy your environment template -cp .env.example .env -# Edit .env with your actual database password -nano .env - -# Deploy -docker-compose up -d -``` - -### Step 2: Validate Database Connections -```bash -# Test database connectivity -curl -X POST "http://localhost:8080/test/bulk-update" - -# Should show: -# โœ… Radarr database connection successful -# โœ… NFOGuard database connection successful -``` - -### Step 3: Test Movie Discovery -```bash -# Test that movies will be found -curl -X POST "http://localhost:8080/test/movie-scan" - -# Should show paths and sample movies found -``` - -### Step 4: Run Full End-to-End Test -```bash -# Complete workflow test -curl -X POST "http://localhost:8080/test/end-to-end" - -# Should show all systems operational -``` - -### Step 5: Production Testing -```bash -# Test database performance (your working July date) -curl "http://localhost:8080/debug/movie/tt1674782" - -# Should return: 2025-07-08T03:30:04+00:00 - -# Run manual scan -curl -X POST "http://localhost:8080/manual/scan?scan_type=movies" - -# Run bulk update -curl -X POST "http://localhost:8080/bulk/update" -``` - -### Step 6: Test Enhanced TV Processing (v0.6.0+) -```bash -# Test Sonarr API integration -curl "http://localhost:8080/health" -# Check that Sonarr connection shows up - -# Test single season processing (URL-safe) -curl -X POST "http://localhost:8080/tv/scan-season" \ - -H "Content-Type: application/json" \ - -d '{ - "series_path": "/media/TV/tv/Your Show [imdb-tt1234567]", - "season_name": "Season 01" - }' - -# Test single episode processing (URL-safe) -curl -X POST "http://localhost:8080/tv/scan-episode" \ - -H "Content-Type: application/json" \ - -d '{ - "series_path": "/media/TV/tv/Your Show [imdb-tt1234567]", - "season_name": "Season 01", - "episode_name": "S01E01.mkv" - }' - -# Verify enhanced NFO was created with metadata -find /media/TV/tv -name "S01E*.nfo" | head -1 | xargs cat -# Should show: , <plot>, <rating>, <runtime>, timestamps - -# Test TV webhook processing modes -export TV_WEBHOOK_PROCESSING_MODE=targeted # or series -# Download episode in Sonarr and check logs for processing mode -``` - -### Step 7: Test TV Webhook Processing Modes (v0.6.0+) -```bash -# Test targeted mode (default - processes only webhook episodes) -echo "TV_WEBHOOK_PROCESSING_MODE=targeted" >> .env -docker restart nfoguard - -# Download single episode in Sonarr, check logs should show: -# "Using targeted episode processing for 1 episodes" -# "Completed targeted processing: 1/1 episodes processed" - -# Test series mode (processes entire series) -echo "TV_WEBHOOK_PROCESSING_MODE=series" >> .env -docker restart nfoguard - -# Download single episode in Sonarr, check logs should show: -# "Using series processing mode (fallback or configured)" -# "Processing TV series: Show Name" -# "Found X episodes on disk" -``` - -## ๐Ÿ›  Why These Tests Are Needed - -1. **Docker Environment Isolation**: Tests run in the same environment as the production app -2. **Database-Only Validation**: Ensures the optimized database queries work correctly -3. **Path Configuration**: Validates that your specific directory structure is properly configured -4. **Webhook Integration**: Tests run via HTTP calls, same as Radarr webhooks -5. **CI/CD Integration**: Can be automated in deployment pipelines - -## ๐Ÿ” Troubleshooting with Tests - -**"0 movies processed"** โ†’ Run `test_movie_scan.py` to check path configuration -**Database errors** โ†’ Run `test_bulk_update.py` to validate connections -**Workflow issues** โ†’ Run `test_end_to_end.py` for comprehensive diagnosis - -These tests are designed to catch issues before they impact your media processing workflow. \ No newline at end of file diff --git a/VERSION b/VERSION deleted file mode 100644 index d8c5e72..0000000 --- a/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.6.8 diff --git a/bulk_update_movies.py b/bulk_update_movies.py deleted file mode 100644 index 5cd594f..0000000 --- a/bulk_update_movies.py +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/env python3 -""" -Bulk update all movies in NFOguard database with import dates from Radarr -Run this script to populate/update all movies at once -""" - -import os -import sys -from pathlib import Path -from clients.radarr_db_client import RadarrDbClient -from core.database import NFOGuardDatabase -from core.logging import _log - -def bulk_update_all_movies(): - """Update all movies in Radarr database""" - - # Initialize database clients - radarr_db = RadarrDbClient.from_env() - if not radarr_db: - print("โŒ Radarr database connection required") - return False - - nfo_db = NFOGuardDatabase(Path(os.environ.get("DB_PATH", "/app/data/media_dates.db"))) - - print("๐Ÿ” Getting all movies from Radarr database...") - - # Get all movies with IMDb IDs - query = """ - SELECT - mm."ImdbId" as imdb_id, - m."Id" as movie_id, - mm."Title" as title, - mm."Year" as year, - m."Path" as path - FROM "Movies" m - JOIN "MovieMetadata" mm ON m."MovieMetadataId" = mm."Id" - WHERE mm."ImdbId" IS NOT NULL AND mm."ImdbId" != '' - ORDER BY mm."Title" - """ - - try: - with radarr_db._get_connection() as conn: - if radarr_db.db_type == "postgresql": - import psycopg2.extras - cursor = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor) - else: - cursor = conn.cursor() - - cursor.execute(query) - movies = cursor.fetchall() - - print(f"๐Ÿ“ฝ๏ธ Found {len(movies)} movies with IMDb IDs") - - updated_count = 0 - skipped_count = 0 - error_count = 0 - - for i, movie in enumerate(movies): - if radarr_db.db_type == "postgresql": - imdb_id, movie_id, title, year, path = movie['imdb_id'], movie['movie_id'], movie['title'], movie['year'], movie['path'] - else: - imdb_id, movie_id, title, year, path = movie[0], movie[1], movie[2], movie[3], movie[4] - - print(f"\n[{i+1}/{len(movies)}] Processing: {title} ({year}) - {imdb_id}") - - try: - # Check if we already have this movie - existing_dates = nfo_db.get_movie_dates(imdb_id) - if existing_dates and existing_dates.get('dateadded'): - print(f" โญ๏ธ Already exists: {existing_dates['dateadded']} ({existing_dates['source']})") - skipped_count += 1 - continue - - # Get import date from Radarr database - import_date, source = radarr_db.get_movie_import_date_optimized(movie_id, fallback_to_file_date=True) - - if import_date: - # Store in NFOGuard database - nfo_db.upsert_movie(imdb_id, path) - nfo_db.upsert_movie_dates( - imdb_id=imdb_id, - dateadded=import_date, - source=source, - has_video_file=True - ) - print(f" โœ… Updated: {import_date} ({source})") - updated_count += 1 - else: - print(f" โš ๏ธ No import date found") - error_count += 1 - - except Exception as e: - print(f" โŒ Error: {e}") - error_count += 1 - - print(f"\n๐ŸŽฏ Results:") - print(f" โœ… Updated: {updated_count}") - print(f" โญ๏ธ Skipped: {skipped_count}") - print(f" โŒ Errors: {error_count}") - print(f" ๐Ÿ“Š Total: {len(movies)}") - - return True - - except Exception as e: - print(f"โŒ Failed to get movies: {e}") - return False - -def bulk_get_imdb_ids(): - """Get all IMDb IDs for bulk processing""" - radarr_db = RadarrDbClient.from_env() - if not radarr_db: - print("โŒ Radarr database connection required") - return [] - - query = 'SELECT mm."ImdbId" FROM "Movies" m JOIN "MovieMetadata" mm ON m."MovieMetadataId" = mm."Id" WHERE mm."ImdbId" IS NOT NULL' - - try: - with radarr_db._get_connection() as conn: - cursor = conn.cursor() - cursor.execute(query) - results = cursor.fetchall() - return [row[0] for row in results] - except Exception as e: - print(f"โŒ Failed to get IMDb IDs: {e}") - return [] - -if __name__ == "__main__": - print("NFOGuard Bulk Movie Updater") - print("=" * 40) - - if len(sys.argv) > 1 and sys.argv[1] == "--list-imdb": - imdb_ids = bulk_get_imdb_ids() - print(f"Found {len(imdb_ids)} movies:") - for imdb_id in imdb_ids[:20]: # Show first 20 - print(f" {imdb_id}") - if len(imdb_ids) > 20: - print(f" ... and {len(imdb_ids) - 20} more") - else: - success = bulk_update_all_movies() - if success: - print("\nโœ… Bulk update completed!") - else: - print("\nโŒ Bulk update failed!") - sys.exit(1) \ No newline at end of file diff --git a/clients/external_clients.py b/clients/external_clients.py deleted file mode 100644 index 1d4c16c..0000000 --- a/clients/external_clients.py +++ /dev/null @@ -1,597 +0,0 @@ -#!/usr/bin/env python3 -""" -External API clients for TMDB, OMDb, and Jellyseerr -""" -import json -import os -import time -from datetime import datetime, timezone -from typing import Dict, Any, List, Optional, Tuple -from urllib.parse import urlencode, quote -from urllib.request import Request as UrlRequest, urlopen -from urllib.error import URLError, HTTPError - -from core.logging import _log - - -def _get_json(url: str, timeout: int = 20, headers: Dict[str, str] = None, suppress_404: bool = False) -> Optional[Dict[str, Any]]: - """Make GET request and return JSON""" - try: - req = UrlRequest(url, headers=headers or {"Accept": "application/json"}) - with urlopen(req, timeout=timeout) as resp: - return json.loads(resp.read().decode("utf-8")) - except HTTPError as e: - # Handle specific HTTP errors more gracefully - if suppress_404 and e.code in [400, 404]: - _log("DEBUG", f"TVDB API: {url} - item not found (HTTP {e.code}) - this is expected") - return None - else: - _log("WARNING", f"GET {url} failed: HTTP Error {e.code}: {e.reason}") - return None - except Exception as e: - _log("WARNING", f"GET {url} failed: {e}") - return None - - -def _parse_date_to_iso(date_str: str) -> Optional[str]: - """Parse various date formats to ISO string""" - if not date_str or date_str == "N/A": - return None - try: - if len(date_str) == 10 and date_str[4] == "-": # YYYY-MM-DD - dt = datetime.fromisoformat(date_str).replace(tzinfo=timezone.utc) - else: - dt = datetime.fromisoformat(date_str.replace("Z", "+00:00")).astimezone(timezone.utc) - return dt.isoformat(timespec="seconds") - except Exception: - return None - - -class TVDBClient: - """The TV Database API client for IMDB to TVDB ID conversion""" - - def __init__(self, api_key: str = None): - self.api_key = api_key or os.environ.get("TVDB_API_KEY", "") - self.base_url = "https://api4.thetvdb.com/v4" - self._token = None - self._token_expires = 0 - - def _get_token(self) -> Optional[str]: - """Get TVDB auth token (cached)""" - if not self.api_key: - _log("DEBUG", "TVDB: No API key provided") - return None - - if time.time() < self._token_expires and self._token: - return self._token - - try: - _log("DEBUG", f"TVDB: Authenticating with API key: {self.api_key[:8]}...") - req = UrlRequest( - f"{self.base_url}/login", - data=json.dumps({"apikey": self.api_key}).encode('utf-8'), - headers={"Content-Type": "application/json"} - ) - with urlopen(req, timeout=10) as resp: - data = json.loads(resp.read().decode("utf-8")) - _log("DEBUG", f"TVDB login response: {data}") - if data.get("status") == "success": - self._token = data["data"]["token"] - self._token_expires = time.time() + 3600 # 1 hour - _log("INFO", f"โœ… TVDB: Authentication successful") - return self._token - else: - _log("WARNING", f"TVDB login failed: {data}") - except Exception as e: - _log("WARNING", f"TVDB login failed: {e}") - return None - - def imdb_to_tvdb_series_id(self, imdb_id: str) -> Optional[str]: - """Convert IMDB ID to TVDB series ID using TVDB v4 API""" - token = self._get_token() - if not token: - return None - - try: - # Try the official v4 search endpoint first - # According to docs: /search?query=imdb_id&type=series - url = f"{self.base_url}/search?query={imdb_id}&type=series&meta=translations" - headers = {"Authorization": f"Bearer {token}"} - - _log("DEBUG", f"TVDB: Searching for {imdb_id} using /search endpoint") - data = _get_json(url, headers=headers, suppress_404=True) - - if data and data.get("status") == "success" and data.get("data"): - series_list = data["data"] - _log("DEBUG", f"TVDB search response: found {len(series_list)} results") - - # Look for exact IMDB match in results - for series in series_list: - # Check if this series has the IMDB ID we're looking for - remote_ids = series.get("remote_ids", []) - for remote in remote_ids: - if (remote.get("source_name") == "IMDB" and - remote.get("remote_id") == imdb_id): - tvdb_id = series.get("tvdb_id") or series.get("id") - if tvdb_id: - _log("INFO", f"โœ… TVDB: Found series {imdb_id} โ†’ {tvdb_id}") - return str(tvdb_id) - - # If no exact match, try the first result if it looks promising - if series_list: - first_result = series_list[0] - tvdb_id = first_result.get("tvdb_id") or first_result.get("id") - if tvdb_id: - _log("INFO", f"โœ… TVDB: Found series {imdb_id} โ†’ {tvdb_id} (first result)") - return str(tvdb_id) - - # If search didn't work, try the legacy remoteid endpoint - _log("DEBUG", f"TVDB: Trying legacy remoteid endpoint for {imdb_id}") - url = f"{self.base_url}/search/remoteid?remoteId={imdb_id}&type=series" - data = _get_json(url, headers=headers, suppress_404=True) - - if data and data.get("status") == "success" and data.get("data"): - series_list = data["data"] - if series_list and len(series_list) > 0: - tvdb_id = series_list[0].get("id") - if tvdb_id: - _log("INFO", f"โœ… TVDB: Found series {imdb_id} โ†’ {tvdb_id} (legacy endpoint)") - return str(tvdb_id) - - # If we get here, the series wasn't found in TVDB - _log("DEBUG", f"TVDB: No series found for IMDb {imdb_id} (not available in TVDB)") - - except Exception as e: - _log("WARNING", f"TVDB API error for {imdb_id}: {e}") - - return None - - -class TMDBClient: - """The Movie Database API client""" - - def __init__(self, api_key: str = None, primary_country: str = "US"): - self.api_key = api_key or os.environ.get("TMDB_API_KEY", "") - self.primary_country = primary_country.upper() - self.enabled = bool(self.api_key) - - def _get(self, path: str, params: Dict[str, Any] = None) -> Optional[Dict[str, Any]]: - """Make GET request to TMDB API""" - if not self.enabled: - return None - - params = params or {} - params["api_key"] = self.api_key - url = f"https://api.themoviedb.org/3{path}?{urlencode(params)}" - return _get_json(url, timeout=20) - - def find_by_imdb(self, imdb_id: str) -> Optional[Dict[str, Any]]: - """Find movie by IMDb ID""" - result = self._get(f"/find/{quote(imdb_id)}", {"external_source": "imdb_id"}) - if result and result.get("movie_results"): - return result["movie_results"][0] - return None - - def get_movie_details(self, tmdb_id: int) -> Optional[Dict[str, Any]]: - """Get detailed movie information""" - return self._get(f"/movie/{tmdb_id}") - - def get_digital_release_date(self, imdb_id: str) -> Optional[str]: - """Get digital release date for a movie""" - _log("INFO", f"๐Ÿ” TMDB: Looking for digital release date for {imdb_id}") - movie = self.find_by_imdb(imdb_id) - if not movie: - _log("WARNING", f"โŒ TMDB: Movie not found for {imdb_id}") - return None - - tmdb_id = movie.get("id") - _log("INFO", f"โœ… TMDB: Found movie ID {tmdb_id} for {imdb_id}") - if not tmdb_id: - return None - - release_dates = self._get(f"/movie/{tmdb_id}/release_dates") - if not release_dates: - _log("WARNING", f"โŒ TMDB: No release dates data for movie {tmdb_id}") - return None - - _log("INFO", f"๐Ÿ” TMDB: Got release dates data, looking for {self.primary_country} digital releases") - - # Debug: Show all available countries - countries = [entry.get("iso_3166_1") for entry in release_dates.get("results", [])] - _log("INFO", f"๐Ÿ“ TMDB: Available countries: {countries}") - - for entry in release_dates.get("results", []): - country = entry.get("iso_3166_1", "").upper() - if country != self.primary_country: - continue - - _log("INFO", f"๐ŸŽฏ TMDB: Found {country} release data") - releases = entry.get("release_dates", []) - _log("INFO", f"๐ŸŽฌ TMDB: Release types available: {[r.get('type') for r in releases]}") - - # Collect all available releases with their types and dates - available_releases = [] - for release in releases: - release_type = release.get("type") - release_date = release.get("release_date") - _log("INFO", f"๐Ÿ“… TMDB: Type {release_type}, Date: {release_date}") - - if release_date: - parsed_date = _parse_date_to_iso(release_date) - if parsed_date: - available_releases.append((release_type, parsed_date)) - - # Apply TMDB release type priority order - tmdb_priority = self._get_tmdb_type_priority() - for preferred_type in tmdb_priority: - for release_type, parsed_date in available_releases: - if release_type == preferred_type: - release_type_names = { - 1: "Premiere", 2: "Limited Theatrical", 3: "Theatrical", - 4: "Digital", 5: "Physical", 6: "TV Premiere" - } - type_name = release_type_names.get(release_type, f"Type {release_type}") - _log("INFO", f"โœ… TMDB: Selected {type_name} release date: {parsed_date} (priority: {tmdb_priority})") - return parsed_date - - _log("WARNING", f"โŒ TMDB: No release dates found for {imdb_id} in {self.primary_country}") - return None - - def _get_tmdb_type_priority(self) -> List[int]: - """Get TMDB release type priority order from environment""" - # Default priority: Digital first, then Physical, then Theatrical, then others - default_priority = "4,5,3,2,6,1" # digital,physical,theatrical,limited,tv,premiere - - priority_str = os.environ.get("TMDB_TYPE_PRIORITY", default_priority) - try: - # Parse comma-separated numbers - priority_list = [int(x.strip()) for x in priority_str.split(",") if x.strip().isdigit()] - if priority_list: - _log("DEBUG", f"TMDB type priority: {priority_list}") - return priority_list - else: - _log("WARNING", f"Invalid TMDB_TYPE_PRIORITY '{priority_str}', using default") - return [4, 5, 3, 2, 6, 1] - except Exception as e: - _log("WARNING", f"Error parsing TMDB_TYPE_PRIORITY: {e}, using default") - return [4, 5, 3, 2, 6, 1] - - def get_theatrical_release_date(self, imdb_id: str) -> Optional[str]: - """Get theatrical release date for a movie""" - movie = self.find_by_imdb(imdb_id) - if not movie: - return None - - tmdb_id = movie.get("id") - if not tmdb_id: - return None - - release_dates = self._get(f"/movie/{tmdb_id}/release_dates") - if not release_dates: - return None - - for entry in release_dates.get("results", []): - if entry.get("iso_3166_1", "").upper() != self.primary_country: - continue - - for release in entry.get("release_dates", []): - if release.get("type") == 3 and release.get("release_date"): # Theatrical release - return _parse_date_to_iso(release["release_date"]) - - return None - - def get_physical_release_date(self, imdb_id: str) -> Optional[str]: - """Get physical release date (DVD/Blu-ray) for a movie""" - movie = self.find_by_imdb(imdb_id) - if not movie: - return None - - tmdb_id = movie.get("id") - if not tmdb_id: - return None - - release_dates = self._get(f"/movie/{tmdb_id}/release_dates") - if not release_dates: - return None - - for entry in release_dates.get("results", []): - if entry.get("iso_3166_1", "").upper() != self.primary_country: - continue - - for release in entry.get("release_dates", []): - if release.get("type") == 5 and release.get("release_date"): # Physical release - return _parse_date_to_iso(release["release_date"]) - - return None - - def get_tv_season_episodes(self, tv_id: int, season_number: int) -> Dict[int, str]: - """Get episode air dates for a TV season""" - result = self._get(f"/tv/{tv_id}/season/{season_number}") - episodes = {} - - if result: - for episode in result.get("episodes", []): - ep_num = episode.get("episode_number") - air_date = episode.get("air_date") - if isinstance(ep_num, int) and air_date: - episodes[ep_num] = air_date - - return episodes - - -class OMDbClient: - """Open Movie Database API client""" - - def __init__(self, api_key: str = None): - self.api_key = api_key or os.environ.get("OMDB_API_KEY", "") - self.enabled = bool(self.api_key) - - def get_movie_details(self, imdb_id: str) -> Optional[Dict[str, Any]]: - """Get movie details from OMDb""" - if not self.enabled: - return None - - params = {"i": imdb_id, "apikey": self.api_key} - url = f"http://www.omdbapi.com/?{urlencode(params)}" - result = _get_json(url, timeout=15) - - if result and result.get("Response") == "True": - return result - return None - - def get_dvd_release_date(self, imdb_id: str) -> Optional[str]: - """Get DVD/digital release date""" - details = self.get_movie_details(imdb_id) - if not details: - return None - - dvd_date = details.get("DVD") or details.get("Released") - if not dvd_date or dvd_date == "N/A": - return None - - # Try to parse various date formats - for fmt in ("%d %b %Y", "%d %B %Y", "%Y-%m-%d"): - try: - dt = datetime.strptime(dvd_date, fmt).replace(tzinfo=timezone.utc) - return dt.isoformat(timespec="seconds") - except Exception: - continue - - return None - - def get_tv_season_episodes(self, imdb_id: str, season_number: int) -> Dict[int, str]: - """Get episode release dates for a TV season""" - if not self.enabled: - return {} - - params = {"i": imdb_id, "Season": str(season_number), "apikey": self.api_key} - url = f"http://www.omdbapi.com/?{urlencode(params)}" - result = _get_json(url, timeout=15) - - episodes = {} - if result and result.get("Response") == "True": - for episode in result.get("Episodes", []): - try: - ep_num = int(episode.get("Episode", 0)) - released = episode.get("Released") - if ep_num and released and released != "N/A": - episodes[ep_num] = released - except Exception: - continue - - return episodes - - -class JellyseerrClient: - """Jellyseerr API client""" - - def __init__(self, base_url: str = None, api_key: str = None): - self.base_url = (base_url or os.environ.get("JELLYSEERR_URL", "")).rstrip("/") - self.api_key = api_key or os.environ.get("JELLYSEERR_API_KEY", "") - self.enabled = bool(self.base_url and self.api_key) - - def _get(self, path: str) -> Optional[Dict[str, Any]]: - """Make GET request to Jellyseerr API""" - if not self.enabled: - return None - - url = f"{self.base_url}/api/v1{path}" - headers = {"X-Api-Key": self.api_key, "Accept": "application/json"} - return _get_json(url, timeout=20, headers=headers) - - def get_movie_details(self, tmdb_id: int) -> Optional[Dict[str, Any]]: - """Get movie details from Jellyseerr""" - return self._get(f"/movie/{tmdb_id}") - - def get_digital_release_dates(self, tmdb_id: int) -> List[str]: - """Get digital release date candidates from Jellyseerr""" - details = self.get_movie_details(tmdb_id) - if not details: - return [] - - candidates = [] - - # Check direct fields - for field in ("digitalReleaseDate", "physicalReleaseDate", "vodReleaseDate"): - value = details.get(field) - if value: - iso_date = _parse_date_to_iso(value) - if iso_date: - candidates.append(iso_date) - - # Check release dates array - for array_field in ("releaseDates", "releases", "dates"): - release_array = details.get(array_field) - if not isinstance(release_array, list): - continue - - for release in release_array: - if not isinstance(release, dict): - continue - - release_type = (release.get("type") or release.get("label") or "").lower() - release_date = release.get("date") or release.get("releaseDate") - - if release_date and ("digital" in release_type or "vod" in release_type or "stream" in release_type): - iso_date = _parse_date_to_iso(release_date) - if iso_date: - candidates.append(iso_date) - - return candidates - - -class ExternalClientManager: - """Manager for all external API clients""" - - def __init__(self): - # Get country from environment, default to US - tmdb_country = os.environ.get("TMDB_COUNTRY", "US") - _log("INFO", f"๐ŸŒ TMDB: Initializing with country: {tmdb_country}") - - self.tmdb = TMDBClient(primary_country=tmdb_country) - self.omdb = OMDbClient() - self.jellyseerr = JellyseerrClient() - self.tvdb = TVDBClient() - - def get_release_date_by_priority(self, imdb_id: str, priority_order: List[str], enable_smart_validation: bool = True) -> Optional[Tuple[str, str]]: - """Get release date using configurable priority order with smart date validation""" - - # Get all possible release dates - release_options = {} - - if self.tmdb.enabled: - # Digital release - digital_date = self.tmdb.get_digital_release_date(imdb_id) - if digital_date: - release_options["digital"] = (digital_date, "tmdb:digital") - - # Physical release - physical_date = self.tmdb.get_physical_release_date(imdb_id) - if physical_date: - release_options["physical"] = (physical_date, "tmdb:physical") - - # Theatrical release - theatrical_date = self.tmdb.get_theatrical_release_date(imdb_id) - if theatrical_date: - release_options["theatrical"] = (theatrical_date, "tmdb:theatrical") - - # Add OMDb options - if self.omdb.enabled: - omdb_date = self.omdb.get_dvd_release_date(imdb_id) - if omdb_date and "physical" not in release_options: - release_options["physical"] = (omdb_date, "omdb:dvd") - - # Add Jellyseerr digital releases - if self.jellyseerr.enabled and self.tmdb.enabled and "digital" not in release_options: - tmdb_movie = self.tmdb.find_by_imdb(imdb_id) - if tmdb_movie: - tmdb_id = tmdb_movie.get("id") - if tmdb_id: - jellyseerr_dates = self.jellyseerr.get_digital_release_dates(tmdb_id) - if jellyseerr_dates: - earliest_jellyseerr = min(jellyseerr_dates) - release_options["digital"] = (earliest_jellyseerr, "jellyseerr:digital") - - # Smart date validation: Check if priority order makes sense given the actual dates - if enable_smart_validation and len(release_options) > 1: - validated_choice = self._validate_date_choice(release_options, priority_order) - if validated_choice: - return validated_choice - - # Return first available option according to priority (fallback behavior) - for priority in priority_order: - if priority in release_options: - return release_options[priority] - - return None - - def _validate_date_choice(self, release_options: Dict[str, Tuple[str, str]], priority_order: List[str]) -> Optional[Tuple[str, str]]: - """Validate date choice and prefer theatrical if digital/physical are unreasonably late""" - from datetime import datetime, timezone - import os - - # Get configuration for maximum gap (default: 10 years) - max_reasonable_gap_years = int(os.environ.get("MAX_RELEASE_DATE_GAP_YEARS", "10")) - - # Parse all available dates - parsed_dates = {} - for release_type, (date_str, source) in release_options.items(): - try: - parsed_dates[release_type] = (datetime.fromisoformat(date_str.replace('Z', '+00:00')), source) - except Exception: - continue - - if not parsed_dates or "theatrical" not in parsed_dates: - return None # No smart validation possible without theatrical date - - theatrical_date, theatrical_source = parsed_dates["theatrical"] - - # Check each priority option against theatrical date - for priority in priority_order: - if priority == "theatrical": - continue # Skip theatrical in this validation - - if priority in parsed_dates: - priority_date, priority_source = parsed_dates[priority] - - # Calculate the gap in years - gap = (priority_date - theatrical_date).days / 365.25 - - # If the gap is too large, skip this priority and continue - if gap > max_reasonable_gap_years: - print(f"[SMART VALIDATION] {priority} date {priority_date.strftime('%Y-%m-%d')} is {gap:.1f} years after theatrical {theatrical_date.strftime('%Y-%m-%d')}, preferring theatrical") - continue - - # This priority option is reasonable, use it - return (priority_date.isoformat(timespec="seconds"), f"{priority_source} (validated)") - - # If all priority options are unreasonable, fall back to theatrical - if "theatrical" in release_options: - theatrical_date_str, theatrical_source = release_options["theatrical"] - return (theatrical_date_str, f"{theatrical_source} (smart fallback)") - - return None - - def get_digital_release_candidates(self, imdb_id: str) -> List[Tuple[str, str]]: - """Get digital release date candidates from all sources (legacy method)""" - candidates = [] - - # Try the new priority system with digital-first fallback - result = self.get_release_date_by_priority(imdb_id, ["digital", "physical", "theatrical"]) - if result: - candidates.append(result) - - return candidates - - def get_earliest_digital_release(self, imdb_id: str) -> Optional[Tuple[str, str]]: - """Get the earliest digital release date (legacy method)""" - candidates = self.get_digital_release_candidates(imdb_id) - return candidates[0] if candidates else None - - def get_tvdb_series_id(self, imdb_id: str) -> Optional[str]: - """Get TVDB series ID from IMDB ID""" - # Check if TVDB lookups are disabled - if os.environ.get("DISABLE_TVDB", "false").lower() in ["true", "1", "yes"]: - _log("DEBUG", "TVDB lookups disabled via DISABLE_TVDB environment variable") - return None - - if not self.tvdb.api_key: - _log("INFO", "TVDB API key not configured, skipping TVDB ID lookup (set TVDB_API_KEY to enable)") - return None - - return self.tvdb.imdb_to_tvdb_series_id(imdb_id) - - -if __name__ == "__main__": - # Test the clients - manager = ExternalClientManager() - - test_imdb = "tt1596343" # Example IMDb ID - digital_candidates = manager.get_digital_release_candidates(test_imdb) - print(f"Digital release candidates for {test_imdb}: {digital_candidates}") - - earliest = manager.get_earliest_digital_release(test_imdb) - if earliest: - print(f"Earliest digital release: {earliest[0]} ({earliest[1]})") - else: - print("No digital release dates found") \ No newline at end of file diff --git a/clients/radarr_client.py b/clients/radarr_client.py deleted file mode 100644 index 71becaf..0000000 --- a/clients/radarr_client.py +++ /dev/null @@ -1,534 +0,0 @@ -#!/usr/bin/env python3 -"""Enhanced Radarr API client with improved import date detection""" - -import json -import time -from datetime import datetime, timezone -from pathlib import Path -from typing import Dict, Any, List, Optional, Tuple -from urllib.parse import urlencode, urljoin -from urllib.request import Request as UrlRequest, urlopen -from urllib.error import URLError, HTTPError - -from core.logging import _log - -# Import path mapper for proper path handling -try: - from core.path_mapper import path_mapper -except ImportError: - # Fallback for standalone testing - class DummyPathMapper: - def analyze_import_source_path(self, path): - return "/downloads/" in path.lower(), "basic_check" - - def is_download_path(self, path): - return "/downloads/" in str(path).lower() or "/completed/" in str(path).lower() - - path_mapper = DummyPathMapper() - -# Import database client for enhanced performance -try: - from clients.radarr_db_client import RadarrDbClient -except ImportError: - RadarrDbClient = None - - -class RadarrClient: - """Enhanced Radarr API client with improved import date detection""" - - # Radarr History API event types (HistoryEventType enum) - # From: https://github.com/Radarr/Radarr/blob/develop/src/NzbDrone.Core/History/HistoryEventType.cs - EVENT_TYPE_GRABBED = 1 # Movie was grabbed from indexer - EVENT_TYPE_IMPORTED = 3 # Movie was imported to final library - EVENT_TYPE_FAILED = 4 # Download or import failed - EVENT_TYPE_RETAGGED = 6 # Files were tagged - EVENT_TYPE_RENAMED = 8 # Files were renamed - - # Event types that indicate real imports - REAL_IMPORT_EVENT_TYPES = [EVENT_TYPE_IMPORTED] # Only trust actual "imported" events - - # These are now handled by path_mapper, but keeping for backward compatibility - DOWNLOAD_PATH_INDICATORS = [ - '/downloads/', '/download/', '/completed/', '/importing/', - '/nzbs/', '/torrents/', '/temp/', '/tmp/', - 'sabnzbd', 'nzbget', 'deluge', 'qbittorrent', 'transmission', - 'usenet', 'torrent', 'radarr', 'completed', 'processing' - ] - - def __init__(self, base_url: str, api_key: str, timeout: int = 45, retries: int = 3): - self.base_url = base_url.rstrip("/") - self.api_key = api_key - self.timeout = timeout - self.retries = max(0, retries) - - # Initialize database client - REQUIRED for operation - self.db_client = None - if RadarrDbClient: - try: - self.db_client = RadarrDbClient.from_env() - if self.db_client: - _log("INFO", "โœ… DATABASE ONLY MODE: Direct database access enabled") - else: - _log("ERROR", "โŒ DATABASE ONLY MODE: Database configuration required - API mode disabled") - except Exception as e: - _log("ERROR", f"โŒ DATABASE ONLY MODE: Failed to initialize database client: {e}") - self.db_client = None - else: - _log("ERROR", "โŒ DATABASE ONLY MODE: RadarrDbClient not available - check dependencies") - - def _get(self, path: str, params: Dict[str, Any] = None) -> Optional[Any]: - """Make GET request to Radarr API with retries""" - if not self.api_key: - return None - - attempt = 0 - last_err = None - - while attempt <= self.retries: - try: - params = params or {} - params["apikey"] = self.api_key - url = urljoin(f"{self.base_url}/", path.lstrip("/")) - - if params: - url = url + ("&" if "?" in url else "?") + urlencode(params) - - _log("DEBUG", f"Radarr API Request: {url}") - req = UrlRequest(url, headers={"Accept": "application/json"}) - - with urlopen(req, timeout=self.timeout) as resp: - data = resp.read().decode("utf-8") - result = json.loads(data) - return result - - except (URLError, HTTPError, json.JSONDecodeError) as e: - last_err = e - _log("DEBUG", f"Radarr API attempt {attempt + 1} failed: {e}") - time.sleep(min(2 ** attempt, 5)) # Exponential backoff - attempt += 1 - - _log("WARNING", f"Radarr GET {path} failed after {self.retries + 1} attempts: {last_err}") - return None - - def movie_by_imdb(self, imdb_id: str) -> Optional[Dict[str, Any]]: - """Find movie by IMDb ID - DATABASE ONLY mode""" - imdb_id = imdb_id if imdb_id.startswith("tt") else f"tt{imdb_id}" - _log("DEBUG", f"Looking up movie by IMDb ID: {imdb_id}") - - # Database required - no API fallback - if self.db_client: - try: - movie = self.db_client.get_movie_by_imdb(imdb_id) - if movie: - _log("INFO", f"โœ… Found via database: {movie.get('title')} (ID: {movie.get('id')})") - return movie - else: - _log("WARNING", f"Movie not found in database for IMDb ID: {imdb_id}") - return None - except Exception as e: - _log("ERROR", f"Database lookup failed: {e}") - return None - - # No database client available - _log("ERROR", "Database client required for movie lookup - API mode disabled") - return None - - def _analyze_event_for_import(self, event: Dict[str, Any], movie_info: Dict[str, Any] = None) -> Tuple[bool, str, Optional[str]]: - """ - Analyze a history event to determine if it's a real import. - - Args: - event: The history event to analyze - movie_info: Optional movie information to validate paths against - - Returns: - (is_real_import, reason, date_iso) - """ - event_type = event.get("eventType") - date_str = event.get("date") - event_data = event.get("data", {}) - - # Parse date - date_iso = None - if date_str: - try: - date_iso = datetime.fromisoformat(date_str.replace("Z", "+00:00")).astimezone(timezone.utc).isoformat(timespec="seconds") - except Exception: - date_iso = None - - if not date_iso: - return False, "no_valid_date", None - - # Convert event type to int if needed - try: - event_type_int = int(event_type) if isinstance(event_type, str) and event_type.isdigit() else event_type - except (ValueError, TypeError): - event_type_int = None - - # Check if event type indicates import - if event_type_int not in self.REAL_IMPORT_EVENT_TYPES: - return False, f"event_type_not_import({event_type})", date_iso - - # Get all possible source paths/titles - source_items = [] - - # Get both sourcePath and importedPath if available - if event_data: - for key in ['sourcePath', 'droppedPath', 'path', 'sourceTitle', 'importedPath']: - if event_data.get(key): - source_items.append(event_data[key]) - - # Also check event root for these fields - for key in ['sourcePath', 'sourceTitle', 'importedPath']: - if event.get(key): - source_items.append(event[key]) - - # Clean up and make unique - source_items = [str(s).lower().strip() for s in source_items if s] - source_items = list(set(source_items)) # Remove duplicates - - if not source_items: - return False, "no_source_paths", date_iso - - # If we have movie info, look for title/year match - if movie_info: - movie_title = movie_info.get('title', '').lower().replace(':', '.').replace(' ', '.') - movie_year = str(movie_info.get('year', '')) - - for source in source_items: - # Clean up source text for comparison - source_clean = source.replace(' ', '.').replace('_', '.').replace('-', '.') - - # Check if both title and year are in the source - if movie_title and movie_year: - if movie_title in source_clean and movie_year in source_clean: - _log("DEBUG", f"โœ… Match found - Title: {movie_title}, Year: {movie_year}") - return True, "matched_title_and_year", date_iso - - # Also check for downloads path as secondary validation - if path_mapper.is_download_path(source): - _log("DEBUG", f"Source is from downloads: {source}") - return True, "from_downloads_path", date_iso - - _log("DEBUG", f"โš ๏ธ No match found in sources: {source_items}") - return False, "no_title_year_match", date_iso - - # Fallback to basic path validation if no movie info - for source in source_items: - if path_mapper.is_download_path(source): - return True, "basic_download_path_match", date_iso - - return False, "no_download_path_match", date_iso - - def earliest_import_event_optimized(self, movie_id: int) -> Optional[str]: - """ - Find earliest real import event with optimized querying. - Stops as soon as we find valid import events instead of loading everything. - """ - _log("INFO", f"Finding earliest import for movie_id {movie_id}") - - # Get movie info for path validation - movie_info = self._get(f"/api/v3/movie/{movie_id}") - if not movie_info or not isinstance(movie_info, dict): - _log("ERROR", f"Could not get movie info for ID {movie_id}") - return None - - earliest_real_import = None - first_grab = None - page = 1 - page_size = 50 # Smaller pages for faster iteration - total_processed = 0 - - while page <= 20: # Safety limit - # Get history in chronological order - data = self._get("/api/v3/history", { - "movieId": str(movie_id), - "page": page, - "pageSize": page_size, - "sortKey": "date", - "sortDirection": "ascending" - }) - - if not data: - break - - items = data if isinstance(data, list) else data.get("records", []) - if not items: - break - - _log("DEBUG", f"Page {page}: Processing {len(items)} events") - - for event in items: - total_processed += 1 - event_type = event.get("eventType") - if not event_type: - continue - - # Convert event type to int or handle string types - try: - if isinstance(event_type, str): - # Map string event types to numeric values - string_to_numeric = { - "grabbed": self.EVENT_TYPE_GRABBED, - "downloadFolderImported": self.EVENT_TYPE_IMPORTED, - "movieFileImported": self.EVENT_TYPE_IMPORTED, - "downloadFailed": self.EVENT_TYPE_FAILED, - "movieFileRenamed": self.EVENT_TYPE_RENAMED, - "movieFileDeleted": 5 # Not in our constants but common - } - event_type = string_to_numeric.get(event_type, 0) - else: - event_type = int(event_type) - except (ValueError, TypeError): - _log("DEBUG", f"Unknown event type: {event_type}") - continue - - # Check for grab events (type 1) - but validate it's a real download - if event_type == self.EVENT_TYPE_GRABBED and not first_grab: - if event.get("date"): - try: - # Get event data to check if this is a real grab with download info - event_data = event.get("data", {}) - if isinstance(event_data, str): - try: - event_data = json.loads(event_data) - except (json.JSONDecodeError, AttributeError): - event_data = {} - - # Check if this grab has actual download/indexer info - source_title = event_data.get("sourceTitle", "") - indexer = event_data.get("indexer", "") - - # Only count grabs that have actual download metadata - if source_title or indexer: - first_grab = datetime.fromisoformat(event["date"].replace("Z", "+00:00")).astimezone(timezone.utc).isoformat(timespec="seconds") - _log("DEBUG", f"Found real grab event with source '{source_title}' from '{indexer}' at {first_grab}") - else: - _log("DEBUG", f"Skipping grab event without download info at {event.get('date')}") - except Exception: - pass - - # Only process import events (type 3) - if event_type != self.EVENT_TYPE_IMPORTED: - continue - - # Get imported path from event data - imported_path = None - event_data = event.get("data", {}) - - # Handle both string and dict data - if isinstance(event_data, str): - try: - event_data = json.loads(event_data) - except (json.JSONDecodeError, AttributeError) as e: - _log("DEBUG", f"Failed to parse event data JSON: {e}") - continue - elif not isinstance(event_data, dict): - continue - - imported_path = event_data.get("importedPath", "") - if not imported_path: - continue - - imported_path = imported_path.lower() - - movie_imdb = (movie_info.get("imdbId", "") or "").lower() - movie_title = (movie_info.get("title", "") or "").lower() - movie_year = str(movie_info.get("year", "")) - - # First try IMDb ID match - # First try IMDb ID match - if movie_imdb and ( - f"[imdb-{movie_imdb}]" in imported_path or - f"[{movie_imdb}]" in imported_path or - movie_imdb in imported_path - ): - _log("INFO", f"Found potential IMDb match in {event_type} event: {imported_path}") - date_iso = datetime.fromisoformat(event["date"].replace("Z", "+00:00")).astimezone(timezone.utc).isoformat(timespec="seconds") - _log("INFO", f"โœ… FOUND IMPORT: exact IMDb match at {date_iso}") - earliest_real_import = date_iso - break - - # Then try title/year match with fuzzy path cleaning - if movie_title and movie_year: - # Clean strings for comparison - clean_title = movie_title.replace(" ", ".").replace(":", ".").replace("-", ".").replace("_", ".").lower() - clean_path = imported_path.replace(" ", ".").replace("-", ".").replace("_", ".").replace("[", "").replace("]", "").lower() - - # Look for both title and year in the path - if clean_title in clean_path and movie_year in clean_path: - date_iso = datetime.fromisoformat(event["date"].replace("Z", "+00:00")).astimezone(timezone.utc).isoformat(timespec="seconds") - _log("INFO", f"Found potential title/year match for event type {event_type}: {clean_title} ({movie_year})") - _log("INFO", f"โœ… FOUND IMPORT at {date_iso}") - earliest_real_import = date_iso - break - - # Fallback to normal import analysis - is_real, reason, date_iso = self._analyze_event_for_import(event, movie_info) - if is_real and date_iso: - source_path = (event.get("data", {}).get("sourcePath", "") or - event.get("data", {}).get("droppedPath", "") or - event.get("sourcePath", "") or - event.get("data", {}).get("importedPath", "") or - event.get("importedPath", "") or "").lower() - - if source_path: - # Check for path match - movie_imdb = (movie_info.get("imdbId", "") or "").lower() - if movie_imdb and ( - f"[imdb-{movie_imdb}]" in source_path or - f"[{movie_imdb}]" in source_path or - movie_imdb in source_path - ): - _log("INFO", f"โœ… FOUND IMPORT: IMDb match in path at {date_iso}") - earliest_real_import = date_iso - break - - # Check for title/year match - movie_title = (movie_info.get("title", "") or "").lower().replace(":", ".").replace(" ", ".") - movie_year = str(movie_info.get("year", "")) - if movie_title and movie_year and movie_title in source_path and movie_year in source_path: - _log("INFO", f"โœ… FOUND IMPORT: Title/year match at {date_iso}") - earliest_real_import = date_iso - break - elif event_type == 3: - _log("DEBUG", f"โš ๏ธ Skipped import event: {reason}") - - # If we found a real import, no need to continue - if earliest_real_import: - break - - # If we got less than page size, we've seen all events - if len(items) < page_size: - break - - page += 1 - - _log("INFO", f"Processed {total_processed} events across {page-1} pages") - - if earliest_real_import: - _log("INFO", f"โœ… Using earliest real import: {earliest_real_import}") - return earliest_real_import - - if first_grab: - _log("WARNING", f"โš ๏ธ No real imports found, using grab date: {first_grab}") - return first_grab - - _log("ERROR", f"โŒ No import or grab events found for movie_id {movie_id}") - return None - - def movie_files(self, movie_id: int) -> List[Dict[str, Any]]: - """Get movie files for a movie - DATABASE ONLY mode""" - if self.db_client: - _log("INFO", "Using database for movie files lookup") - # Database handles this internally in get_movie_file_date() - return [] - - _log("ERROR", "Database client required for movie files - API mode disabled") - return [] - - def earliest_file_dateadded(self, movie_id: int) -> Optional[str]: - """Get earliest file dateAdded - DATABASE ONLY mode""" - if self.db_client: - try: - return self.db_client.get_movie_file_date(movie_id) - except Exception as e: - _log("ERROR", f"Database file date query failed: {e}") - return None - - _log("ERROR", "Database client required for file dates - API mode disabled") - return None - - def get_movie_import_date(self, movie_id: int, fallback_to_file_date: bool = True) -> Tuple[Optional[str], str]: - """ - Get the best import date for a movie - DATABASE ONLY mode. - - Returns: - (date_iso, source_description) - """ - # Database required - no API fallback - if self.db_client: - try: - date_iso, source = self.db_client.get_movie_import_date_optimized(movie_id, fallback_to_file_date) - if date_iso: - return date_iso, source - else: - _log("WARNING", f"No import date found in database for movie_id {movie_id}") - return None, "radarr:db.no_date_found" - except Exception as e: - _log("ERROR", f"Database import date query failed: {e}") - return None, "radarr:db.error" - - # No database client available - _log("ERROR", "Database client required for import date detection - API mode disabled") - return None, "radarr:db.not_configured" - - def _get_earliest_import_date(self, movie_id: int, movie_info: Dict) -> Optional[str]: - """Get the earliest import date from Radarr history.""" - _log("INFO", f"Finding earliest import for movie_id {movie_id}") - - earliest_real_import = None - earliest_grab_date = None - page = 1 - page_size = 50 - total_events = 0 - - # Get full movie history - while True: - # Get page of history - history_data = self._get_movie_history_page(movie_id, page, page_size) - if not history_data: - break - - # Process events on this page - for event in history_data: - event_type = event.get("eventType") - if not event_type: - continue - - # Parse event date - event_date = datetime.fromisoformat(event["date"].replace("Z", "+00:00")).astimezone(timezone.utc).isoformat(timespec="seconds") - - # Track earliest grab date as fallback (EventType 1) - if event_type == 1 and not earliest_grab_date: - earliest_grab_date = event_date - _log("DEBUG", f"Found first grab event at {earliest_grab_date}") - continue - - # Look for import events (EventType 3) - if event_type == 3: - try: - data = json.loads(event.get("data", "{}")) - if data.get("importedPath"): - _log("INFO", f"โœ… FOUND IMPORT at {event_date}") - earliest_real_import = event_date - break - except (json.JSONDecodeError, AttributeError): - continue - - # Break if we found an import - if earliest_real_import: - break - - total_events += len(history_data) - page += 1 - - _log("INFO", f"Processed {total_events} events across {page}") - - if earliest_real_import: - return earliest_real_import - if earliest_grab_date: - _log("WARNING", f"โš ๏ธ No EventType 3 (import) found, using grab date: {earliest_grab_date}") - return earliest_grab_date - return None - - def _get_movie_history_page(self, movie_id: int, page: int, page_size: int) -> List[Dict[str, Any]]: - """Get a page of movie history.""" - data = self._get("/api/v3/history", { - "movieId": str(movie_id), - "page": page, - "pageSize": page_size, - "sortKey": "date", - "sortDirection": "ascending" - }) - return data if isinstance(data, list) else data.get("records", []) \ No newline at end of file diff --git a/clients/radarr_db_client.py b/clients/radarr_db_client.py deleted file mode 100644 index bf32419..0000000 --- a/clients/radarr_db_client.py +++ /dev/null @@ -1,646 +0,0 @@ -#!/usr/bin/env python3 -""" -Direct Radarr Database Client for NFOGuard -Provides high-performance access to Radarr's SQLite/PostgreSQL database -""" - -import os -import sqlite3 -import psycopg2 -import psycopg2.extras -from datetime import datetime, timezone -from pathlib import Path -from typing import Dict, Any, List, Optional, Tuple, Union -from urllib.parse import urlparse - -from core.logging import _log - - -class RadarrDbClient: - """Direct database client for Radarr's SQLite or PostgreSQL database""" - - def __init__(self, - db_type: str = "sqlite", - db_path: Optional[str] = None, - db_host: Optional[str] = None, - db_port: Optional[int] = None, - db_name: Optional[str] = None, - db_user: Optional[str] = None, - db_password: Optional[str] = None): - """ - Initialize Radarr database client - - Args: - db_type: "sqlite" or "postgresql" - db_path: Path to SQLite database file - db_host: PostgreSQL host - db_port: PostgreSQL port - db_name: PostgreSQL database name - db_user: PostgreSQL username - db_password: PostgreSQL password - """ - self.db_type = db_type.lower() - self.db_path = db_path - self.db_host = db_host - self.db_port = db_port or 5432 - self.db_name = db_name - self.db_user = db_user - self.db_password = db_password - - self._test_connection() - - @classmethod - def from_env(cls) -> Optional['RadarrDbClient']: - """Create client from environment variables""" - db_type = os.environ.get("RADARR_DB_TYPE", "").lower() - - if not db_type: - return None - - if db_type == "sqlite": - db_path = os.environ.get("RADARR_DB_PATH") - if not db_path or not Path(db_path).exists(): - _log("WARNING", f"RADARR_DB_PATH not found or invalid: {db_path}") - return None - return cls(db_type="sqlite", db_path=db_path) - - elif db_type == "postgresql": - # Support both individual vars and connection string - db_url = os.environ.get("RADARR_DB_URL") - if db_url: - parsed = urlparse(db_url) - return cls( - db_type="postgresql", - db_host=parsed.hostname, - db_port=parsed.port or 5432, - db_name=parsed.path.lstrip('/'), - db_user=parsed.username, - db_password=parsed.password - ) - else: - return cls( - db_type="postgresql", - db_host=os.environ.get("RADARR_DB_HOST"), - db_port=int(os.environ.get("RADARR_DB_PORT", "5432")), - db_name=os.environ.get("RADARR_DB_NAME"), - db_user=os.environ.get("RADARR_DB_USER"), - db_password=os.environ.get("RADARR_DB_PASSWORD") - ) - else: - _log("ERROR", f"Unsupported database type: {db_type}") - return None - - def _test_connection(self) -> None: - """Test database connection on initialization""" - try: - conn = self._get_connection() - if conn: - conn.close() - _log("INFO", f"Connected to Radarr {self.db_type} database successfully") - else: - raise Exception("Failed to create connection") - except Exception as e: - _log("ERROR", f"Failed to connect to Radarr database: {e}") - raise - - def _get_connection(self) -> Union[sqlite3.Connection, psycopg2.extensions.connection]: - """Get database connection""" - if self.db_type == "sqlite": - conn = sqlite3.connect(self.db_path) - conn.row_factory = sqlite3.Row - return conn - elif self.db_type == "postgresql": - conn = psycopg2.connect( - host=self.db_host, - port=self.db_port, - database=self.db_name, - user=self.db_user, - password=self.db_password - ) - return conn - else: - raise ValueError(f"Unsupported database type: {self.db_type}") - - def get_movie_by_imdb(self, imdb_id: str) -> Optional[Dict[str, Any]]: - """ - Find movie by IMDb ID using database query - - Returns: - Dictionary with movie info including id, imdbId, title, year, path - """ - imdb_id = imdb_id if imdb_id.startswith("tt") else f"tt{imdb_id}" - - query = """ - SELECT - m."Id" as id, - m."Path" as path, - m."Added" as added, - mm."ImdbId" as imdb_id, - mm."Title" as title, - mm."Year" as year, - mm."DigitalRelease" as digital_release - FROM "Movies" m - JOIN "MovieMetadata" mm ON m."MovieMetadataId" = mm."Id" - WHERE mm."ImdbId" = %s - """ - - if self.db_type == "sqlite": - query = query.replace("%s", "?") - - try: - with self._get_connection() as conn: - if self.db_type == "postgresql": - cursor = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor) - else: - cursor = conn.cursor() - - cursor.execute(query, (imdb_id,)) - row = cursor.fetchone() - - if row: - return dict(row) if self.db_type == "sqlite" else row - - except Exception as e: - _log("ERROR", f"Database query error for IMDb {imdb_id}: {e}") - - return None - - def get_earliest_import_date(self, movie_id: int) -> Tuple[Optional[str], str]: - """ - Get earliest import date from History table, accounting for upgrade scenarios - - Args: - movie_id: Radarr movie ID - - Returns: - (date_iso, source_description) - """ - # If first event is rename, all subsequent imports are upgrades - skip them - if self.is_first_event_rename_based(movie_id): - _log("INFO", f"Movie {movie_id} has rename-first history - all imports are upgrades, skipping") - return None, "radarr:db.upgrade_imports_skipped" - - # Query for earliest import event - PostgreSQL uses INTEGER EventType (3 = import) - import_query = """ - SELECT - h."Date" as event_date, - h."Data" as event_data, - h."EventType" as event_type - FROM "History" h - WHERE h."MovieId" = %s - AND h."EventType" = 3 - ORDER BY h."Date" ASC - LIMIT 1 - """ - - # Fallback: earliest grab event - PostgreSQL uses INTEGER EventType (1 = grab) - grab_query = """ - SELECT - h."Date" as event_date, - h."Data" as event_data, - h."EventType" as event_type - FROM "History" h - WHERE h."MovieId" = %s - AND h."EventType" = 1 - AND h."Data" IS NOT NULL - ORDER BY h."Date" ASC - LIMIT 1 - """ - - if self.db_type == "sqlite": - import_query = import_query.replace("%s", "?") - grab_query = grab_query.replace("%s", "?") - - try: - with self._get_connection() as conn: - if self.db_type == "postgresql": - cursor = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor) - else: - cursor = conn.cursor() - - # Try import events first - cursor.execute(import_query, (movie_id,)) - row = cursor.fetchone() - - if row: - event_date = row['event_date'] if self.db_type == "postgresql" else row[0] - event_type = row['event_type'] if self.db_type == "postgresql" else row[2] - if isinstance(event_date, str): - dt = datetime.fromisoformat(event_date.replace("Z", "+00:00")) - else: - dt = event_date.replace(tzinfo=timezone.utc) - - date_iso = dt.astimezone(timezone.utc).isoformat(timespec="seconds") - _log("INFO", f"โœ… Found import event ({event_type}) for movie {movie_id} at {date_iso}") - return date_iso, "radarr:db.history.import" - - # Fallback to grab events - cursor.execute(grab_query, (movie_id,)) - row = cursor.fetchone() - - if row: - event_date = row['event_date'] if self.db_type == "postgresql" else row[0] - event_type = row['event_type'] if self.db_type == "postgresql" else row[2] - if isinstance(event_date, str): - dt = datetime.fromisoformat(event_date.replace("Z", "+00:00")) - else: - dt = event_date.replace(tzinfo=timezone.utc) - - date_iso = dt.astimezone(timezone.utc).isoformat(timespec="seconds") - _log("WARNING", f"โš ๏ธ Using grab event ({event_type}) for movie {movie_id} at {date_iso}") - return date_iso, "radarr:db.history.grab" - - except Exception as e: - _log("ERROR", f"Database query error for movie {movie_id}: {e}") - - return None, "radarr:db.no_date_found" - - def is_first_event_rename_based(self, movie_id: int) -> bool: - """ - Check if the first event in history is rename-based (not a true import) - - This helps identify movies where: - - First event: movieFileRenamed (EventType = 8) - - Followed by: downloadFolderImported (EventType = 3) - this is an upgrade - - In such cases, we should prefer release dates over the upgrade date - """ - query = """ - SELECT h."EventType" as event_type, h."Date" as event_date - FROM "History" h - WHERE h."MovieId" = %s - ORDER BY h."Date" ASC - LIMIT 5 - """ - - if self.db_type == "sqlite": - query = query.replace("%s", "?") - - try: - with self._get_connection() as conn: - if self.db_type == "postgresql": - cursor = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor) - else: - cursor = conn.cursor() - - cursor.execute(query, (movie_id,)) - rows = cursor.fetchall() - - if rows: - _log("INFO", f"Movie {movie_id} history debug - first 5 events:") - for i, row in enumerate(rows): - event_type = row['event_type'] if self.db_type == "postgresql" else row[0] - event_date = row['event_date'] if self.db_type == "postgresql" else row[1] - _log("INFO", f" Event {i+1}: Type={event_type}, Date={event_date}") - - first_event_type = rows[0]['event_type'] if self.db_type == "postgresql" else rows[0][0] - # EventType 8 = movieFileRenamed - # Also check for EventType 7 = movieFileRenamed in some Radarr versions - is_rename_first = first_event_type in [7, 8] - _log("INFO", f"Movie {movie_id}: First event type={first_event_type}, is_rename_first={is_rename_first}") - - if is_rename_first: - _log("INFO", f"๐ŸŽฏ Movie {movie_id} detected as rename-first scenario - will prefer release dates over import dates") - - return is_rename_first - else: - _log("WARNING", f"Movie {movie_id}: No history events found - this could indicate missing data") - - except Exception as e: - _log("ERROR", f"Error checking first event type for movie {movie_id}: {e}") - - return False - - def get_movie_file_date(self, movie_id: int) -> Optional[str]: - """ - Get earliest file dateAdded as fallback - - Args: - movie_id: Radarr movie ID - - Returns: - ISO date string or None - """ - query = """ - SELECT MIN(mf."DateAdded") as earliest_date - FROM "MovieFiles" mf - WHERE mf."MovieId" = %s - """ - - if self.db_type == "sqlite": - query = query.replace("%s", "?") - - try: - with self._get_connection() as conn: - if self.db_type == "postgresql": - cursor = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor) - else: - cursor = conn.cursor() - - cursor.execute(query, (movie_id,)) - row = cursor.fetchone() - - if row: - date_value = row['earliest_date'] if self.db_type == "postgresql" else row[0] - if date_value: - if isinstance(date_value, str): - dt = datetime.fromisoformat(date_value.replace("Z", "+00:00")) - else: - dt = date_value.replace(tzinfo=timezone.utc) - - return dt.astimezone(timezone.utc).isoformat(timespec="seconds") - - except Exception as e: - _log("ERROR", f"Database query error for movie file date {movie_id}: {e}") - - return None - - def get_movie_import_date_optimized(self, movie_id: int, fallback_to_file_date: bool = True) -> Tuple[Optional[str], str]: - """ - Get the best import date for a movie using optimized database queries - - Args: - movie_id: Radarr movie ID - fallback_to_file_date: Whether to fall back to file dateAdded - - Returns: - (date_iso, source_description) - """ - # Try history first - this handles upgrade detection internally - date_iso, source = self.get_earliest_import_date(movie_id) - if date_iso: - return date_iso, source - - # Check if we skipped upgrades and should prefer release dates - if source == "radarr:db.upgrade_imports_skipped": - _log("INFO", f"Movie {movie_id} upgrade scenario detected - signaling to prefer release dates") - return None, "radarr:db.prefer_release_dates" - - # Fallback to file date if requested - if fallback_to_file_date: - file_date = self.get_movie_file_date(movie_id) - if file_date: - _log("WARNING", f"Using file dateAdded as fallback for movie_id {movie_id}") - return file_date, "radarr:db.file.dateAdded" - - return None, "radarr:db.no_date_found" - - def bulk_import_dates(self, imdb_ids: List[str]) -> Dict[str, Tuple[Optional[str], str]]: - """ - Get import dates for multiple movies in a single query - - Args: - imdb_ids: List of IMDb IDs - - Returns: - Dictionary mapping imdb_id -> (date_iso, source) - """ - if not imdb_ids: - return {} - - # Ensure all IMDb IDs have tt prefix - clean_imdb_ids = [imdb_id if imdb_id.startswith("tt") else f"tt{imdb_id}" for imdb_id in imdb_ids] - - placeholders = ",".join(["%s"] * len(clean_imdb_ids)) - if self.db_type == "sqlite": - placeholders = ",".join(["?"] * len(clean_imdb_ids)) - - query = f""" - SELECT - mm."ImdbId" as imdb_id, - m."Id" as movie_id, - MIN(h."Date") as earliest_import - FROM "Movies" m - JOIN "MovieMetadata" mm ON m."MovieMetadataId" = mm."Id" - LEFT JOIN "History" h ON m."Id" = h."MovieId" AND h."EventType" = 3 - WHERE mm."ImdbId" IN ({placeholders}) - GROUP BY mm."ImdbId", m."Id" - """ - - results = {} - - try: - with self._get_connection() as conn: - if self.db_type == "postgresql": - cursor = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor) - else: - cursor = conn.cursor() - - cursor.execute(query, clean_imdb_ids) - rows = cursor.fetchall() - - for row in rows: - if self.db_type == "postgresql": - imdb_id, movie_id, earliest_import = row['imdb_id'], row['movie_id'], row['earliest_import'] - else: - imdb_id, movie_id, earliest_import = row[0], row[1], row[2] - - if earliest_import: - if isinstance(earliest_import, str): - dt = datetime.fromisoformat(earliest_import.replace("Z", "+00:00")) - else: - dt = earliest_import.replace(tzinfo=timezone.utc) - - date_iso = dt.astimezone(timezone.utc).isoformat(timespec="seconds") - results[imdb_id] = (date_iso, "radarr:db.bulk.import") - else: - results[imdb_id] = (None, "radarr:db.bulk.no_import") - - except Exception as e: - _log("ERROR", f"Bulk query error: {e}") - # Return empty results for failed queries - for imdb_id in clean_imdb_ids: - if imdb_id not in results: - results[imdb_id] = (None, "radarr:db.bulk.error") - - return results - - def get_database_stats(self) -> Dict[str, Any]: - """Get basic statistics about the Radarr database""" - stats = {} - - queries = { - "total_movies": 'SELECT COUNT(*) FROM "Movies"', - "total_movie_files": 'SELECT COUNT(*) FROM "MovieFiles"', - "total_history_events": 'SELECT COUNT(*) FROM "History"', - "import_events": 'SELECT COUNT(*) FROM "History" WHERE "EventType" = 3', - "grab_events": 'SELECT COUNT(*) FROM "History" WHERE "EventType" = 1' - } - - try: - with self._get_connection() as conn: - cursor = conn.cursor() - - for stat_name, query in queries.items(): - cursor.execute(query) - result = cursor.fetchone() - stats[stat_name] = result[0] if result else 0 - - except Exception as e: - _log("ERROR", f"Stats query error: {e}") - stats["error"] = str(e) - - return stats - - def health_check(self) -> Dict[str, Any]: - """ - Comprehensive health check for the Radarr database connection - - Returns: - Dictionary with health status, connection info, and basic functionality tests - """ - health = { - "status": "healthy", - "database_type": self.db_type, - "connection": "ok", - "readable": False, - "writable": False, - "tables_exist": False, - "sample_data": False, - "issues": [], - "tested_at": datetime.now(timezone.utc).isoformat(timespec="seconds") - } - - try: - # Test 1: Basic connection - with self._get_connection() as conn: - cursor = conn.cursor() - - # Test 2: Check if we can read (basic query) - try: - cursor.execute('SELECT 1') - result = cursor.fetchone() - if result and result[0] == 1: - health["readable"] = True - health["connection"] = "readable" - else: - health["issues"].append("Basic SELECT query failed") - except Exception as e: - health["issues"].append(f"Read test failed: {e}") - health["status"] = "degraded" - - # Test 3: Check required tables exist - required_tables = ["Movies", "MovieMetadata", "History", "MovieFiles"] - existing_tables = [] - - try: - if self.db_type == "postgresql": - cursor.execute(""" - SELECT table_name - FROM information_schema.tables - WHERE table_schema = 'public' - AND table_name IN ('Movies', 'MovieMetadata', 'History', 'MovieFiles') - """) - else: # SQLite - cursor.execute(""" - SELECT name - FROM sqlite_master - WHERE type='table' - AND name IN ('Movies', 'MovieMetadata', 'History', 'MovieFiles') - """) - - rows = cursor.fetchall() - existing_tables = [row[0] for row in rows] - - if len(existing_tables) == len(required_tables): - health["tables_exist"] = True - else: - missing = set(required_tables) - set(existing_tables) - health["issues"].append(f"Missing tables: {list(missing)}") - health["status"] = "degraded" - - health["existing_tables"] = existing_tables - - except Exception as e: - health["issues"].append(f"Table check failed: {e}") - health["status"] = "degraded" - - # Test 4: Check for sample data - if health["tables_exist"]: - try: - cursor.execute('SELECT COUNT(*) FROM "Movies"') - movie_count = cursor.fetchone()[0] - - cursor.execute('SELECT COUNT(*) FROM "History"') - history_count = cursor.fetchone()[0] - - if movie_count > 0 and history_count > 0: - health["sample_data"] = True - health["movie_count"] = movie_count - health["history_count"] = history_count - else: - health["issues"].append(f"Low data counts - Movies: {movie_count}, History: {history_count}") - - except Exception as e: - health["issues"].append(f"Sample data check failed: {e}") - - # Test 5: Test a real query (movie with IMDb lookup) - if health["sample_data"]: - try: - cursor.execute(""" - SELECT COUNT(*) - FROM "Movies" m - JOIN "MovieMetadata" mm ON m."MovieMetadataId" = mm."Id" - WHERE mm."ImdbId" IS NOT NULL - """) - imdb_movies = cursor.fetchone()[0] - health["movies_with_imdb"] = imdb_movies - - if imdb_movies > 0: - health["functional"] = True - else: - health["issues"].append("No movies with IMDb IDs found") - - except Exception as e: - health["issues"].append(f"Functional test failed: {e}") - health["status"] = "degraded" - - except Exception as e: - health["status"] = "error" - health["connection"] = "failed" - health["issues"].append(f"Connection failed: {e}") - _log("ERROR", f"Database health check failed: {e}") - - # Overall status determination - if health["issues"]: - if health["status"] == "healthy": - health["status"] = "degraded" - - # Add connection details (safe info only) - health["connection_info"] = { - "type": self.db_type, - "host": self.db_host if self.db_type == "postgresql" else None, - "port": self.db_port if self.db_type == "postgresql" else None, - "database": self.db_name if self.db_type == "postgresql" else None, - "path": self.db_path if self.db_type == "sqlite" else None - } - - return health - - -if __name__ == "__main__": - # Test the database client - print("Testing RadarrDbClient...") - - # Test with environment variables - client = RadarrDbClient.from_env() - if client: - print("โœ… Connected to Radarr database") - - # Test stats - stats = client.get_database_stats() - print(f"Database stats: {stats}") - - # Test movie lookup - test_movie = client.get_movie_by_imdb("tt1596343") - if test_movie: - print(f"Found test movie: {test_movie}") - - # Test import date - movie_id = test_movie['id'] - date_iso, source = client.get_movie_import_date_optimized(movie_id) - print(f"Import date: {date_iso} (source: {source})") - else: - print("Test movie not found") - else: - print("โŒ Could not connect to database - check environment variables") \ No newline at end of file diff --git a/clients/sonarr_client.py b/clients/sonarr_client.py deleted file mode 100644 index 48c754e..0000000 --- a/clients/sonarr_client.py +++ /dev/null @@ -1,286 +0,0 @@ -#!/usr/bin/env python3 -""" -Enhanced Sonarr API client for TV show metadata and episode management -""" -import json -import time -from datetime import datetime, timezone -from typing import Dict, Any, List, Optional -from urllib.parse import urlencode -from urllib.request import Request as UrlRequest, urlopen -from urllib.error import URLError, HTTPError - -from core.logging import _log - - -class SonarrClient: - """Enhanced Sonarr API client for TV series and episode management""" - - def __init__(self, base_url: str, api_key: str, timeout: int = 45, retries: int = 3): - self.base_url = base_url.rstrip("/") - self.api_key = api_key - self.timeout = timeout - self.retries = max(0, retries) - self.enabled = bool(self.base_url and self.api_key) - - def _get(self, path: str, params: Dict[str, Any] = None) -> Optional[Any]: - """Make GET request to Sonarr API with retries""" - if not self.enabled: - return None - - url = f"{self.base_url}/api/v3{path}" - if params: - url += "?" + urlencode(params) - - headers = {"X-Api-Key": self.api_key} - - for attempt in range(self.retries): - try: - _log("DEBUG", f"Sonarr API Request: {url}") - req = UrlRequest(url, headers=headers) - - with urlopen(req, timeout=self.timeout) as resp: - data = resp.read().decode("utf-8") - result = json.loads(data) if data else None - return result - - except HTTPError as e: - if e.code == 401: - _log("ERROR", "Sonarr authentication failed - check API key") - return None - elif e.code == 429: - wait_time = (attempt + 1) * 2 - _log("WARNING", f"Sonarr rate limited, waiting {wait_time}s (attempt {attempt+1}/{self.retries})") - time.sleep(wait_time) - else: - _log("WARNING", f"Sonarr HTTP {e.code} error on attempt {attempt+1}/{self.retries}: {e.reason}") - - except Exception as e: - _log("WARNING", f"Sonarr API attempt {attempt+1}/{self.retries} failed: {e}") - - if attempt < self.retries - 1: - time.sleep(0.5 * (attempt + 1)) - - _log("ERROR", f"Sonarr API failed after {self.retries} attempts: {url}") - return None - - def series_by_imdb(self, imdb_id: str) -> Optional[Dict[str, Any]]: - """Find series by IMDb ID using lookup endpoint""" - search_term = f"imdbid:{imdb_id}" - _log("DEBUG", f"Searching Sonarr with term: {search_term}") - - result = self._get("/series/lookup", {"term": search_term}) - if not result: - _log("WARNING", f"No results from Sonarr lookup for: {search_term}") - return None - - _log("DEBUG", f"Sonarr lookup returned {len(result)} results") - - # Log all results for debugging - for i, series in enumerate(result): - series_imdb = series.get("imdbId", "") - series_title = series.get("title", "") - series_id = series.get("id", "") - _log("DEBUG", f"Result {i+1}: Title='{series_title}', IMDb='{series_imdb}', ID={series_id}") - - # Find exact IMDb match (case insensitive) - target_imdb = imdb_id.lower() - for series in result: - series_imdb = (series.get("imdbId") or "").lower() - if series_imdb == target_imdb: - _log("INFO", f"Found exact IMDb match: {series.get('title')} (ID: {series.get('id')})") - return series - - # Try partial match as fallback - for series in result: - series_imdb = (series.get("imdbId") or "").lower() - if target_imdb in series_imdb or series_imdb in target_imdb: - _log("WARNING", f"Found partial IMDb match: {series.get('title')} (Expected: {imdb_id}, Found: {series.get('imdbId')})") - return series - - _log("WARNING", f"No IMDb match found in {len(result)} results for {imdb_id}") - return None - - def series_by_title(self, title: str) -> Optional[Dict[str, Any]]: - """Search for series by title as fallback when IMDb lookup fails""" - _log("DEBUG", f"Searching Sonarr by title: {title}") - - result = self._get("/series/lookup", {"term": title}) - if not result: - _log("WARNING", f"No results from Sonarr title search for: {title}") - return None - - _log("DEBUG", f"Sonarr title search returned {len(result)} results") - - title_lower = title.lower() - - # Look for exact title match - for series in result: - series_title = (series.get("title") or "").lower() - if series_title == title_lower: - _log("INFO", f"Found exact title match: {series.get('title')} (ID: {series.get('id')})") - return series - - # Look for partial title match - for series in result: - series_title = (series.get("title") or "").lower() - if title_lower in series_title or series_title in title_lower: - _log("INFO", f"Found partial title match: '{series.get('title')}' for search '{title}' (ID: {series.get('id')})") - return series - - _log("WARNING", f"No title match found for: {title}") - return None - - def get_all_series(self) -> List[Dict[str, Any]]: - """Get all series from Sonarr""" - return self._get("/series") or [] - - def series_by_imdb_direct(self, imdb_id: str) -> Optional[Dict[str, Any]]: - """Find series by scanning all series for IMDb match (slower but more reliable)""" - _log("DEBUG", f"Direct series lookup for IMDb: {imdb_id}") - all_series = self.get_all_series() - - target_imdb = imdb_id.lower() - for series in all_series: - series_imdb = (series.get("imdbId") or "").lower() - if series_imdb == target_imdb: - _log("INFO", f"Found series via direct lookup: {series.get('title')} (ID: {series.get('id')})") - return series - - _log("WARNING", f"No series found with IMDb ID via direct lookup: {imdb_id}") - return None - - def episodes_for_series(self, series_id: int) -> List[Dict[str, Any]]: - """Get all episodes for a series""" - return self._get("/episode", {"seriesId": series_id}) or [] - - def episode_file(self, episode_file_id: int) -> Optional[Dict[str, Any]]: - """Get episode file details""" - return self._get(f"/episodefile/{episode_file_id}") - - def get_episode_import_history(self, episode_id: int) -> Optional[str]: - """ - Get the original import date from history with enhanced detection. - Focuses on finding the earliest REAL import, not upgrades. - """ - all_records = [] - page = 1 - page_size = 100 - - # Collect all history records for this episode - while True: - history = self._get("/history", { - "episodeId": episode_id, - "sortKey": "date", - "sortDir": "asc", - "page": page, - "pageSize": page_size - }) - - if not history: - break - - records = history.get("records", []) if isinstance(history, dict) else [] - if not records: - break - - all_records.extend(records) - - if len(records) < page_size: - break - - page += 1 - if page > 10: # Safety valve - break - - _log("DEBUG", f"Got {len(all_records)} history records for episode {episode_id}") - - # Categorize events - import_events = [] - grabbed_events = [] - rename_events = [] - - for event in all_records: - event_type = event.get("eventType", "").lower() - date = event.get("date") - - if not date: - continue - - _log("DEBUG", f"History event: {event_type} at {date}") - - if event_type == "downloadfolderimported": - import_events.append({"date": date, "event": event}) - elif event_type == "grabbed": - grabbed_events.append({"date": date, "event": event}) - elif event_type == "episodefilerenamed": - rename_events.append({"date": date, "event": event}) - - # Use the earliest real import event - if import_events: - earliest_import = min(import_events, key=lambda x: x["date"]) - import_date = earliest_import["date"] - _log("INFO", f"Found import date: {import_date} for episode {episode_id}") - - # Check if this looks like an upgrade by comparing to renames - if rename_events: - earliest_rename = min(rename_events, key=lambda x: x["date"]) - rename_date = earliest_rename["date"] - - try: - import_dt = datetime.fromisoformat(import_date.replace("Z", "+00:00")) - rename_dt = datetime.fromisoformat(rename_date.replace("Z", "+00:00")) - days_diff = (import_dt - rename_dt).days - - # If import is significantly after rename, prefer rename date - if days_diff > 30: - _log("WARNING", f"Import {import_date} is {days_diff} days after rename {rename_date} - using rename date") - return rename_date - - except Exception as e: - _log("DEBUG", f"Error comparing dates: {e}") - - return import_date - - # Fallback to grab event - if grabbed_events: - earliest_grab = min(grabbed_events, key=lambda x: x["date"]) - _log("WARNING", f"No import events, using grab date: {earliest_grab['date']} for episode {episode_id}") - return earliest_grab["date"] - - _log("WARNING", f"No reliable import events found for episode {episode_id}") - return None - - -if __name__ == "__main__": - # Test the client - import os - - base_url = os.environ.get("SONARR_URL", "") - api_key = os.environ.get("SONARR_API_KEY", "") - - if base_url and api_key: - client = SonarrClient(base_url, api_key) - - # Test with a known series - test_imdb = "tt2085059" # Example - series = client.series_by_imdb(test_imdb) - - if series: - series_id = series.get("id") - print(f"Found series: {series.get('title')} (ID: {series_id})") - - # Get episodes - episodes = client.episodes_for_series(series_id) - print(f"Found {len(episodes)} episodes") - - # Test import date for first episode - if episodes: - first_episode = episodes[0] - episode_id = first_episode.get("id") - import_date = client.get_episode_import_history(episode_id) - print(f"First episode import date: {import_date}") - else: - print(f"Series not found: {test_imdb}") - else: - print("Please set SONARR_URL and SONARR_API_KEY environment variables for testing") \ No newline at end of file diff --git a/core/database.py b/core/database.py deleted file mode 100644 index 80503de..0000000 --- a/core/database.py +++ /dev/null @@ -1,274 +0,0 @@ -#!/usr/bin/env python3 -""" -Database management for NFOGuard -Handles SQLite database operations for tracking media dates and processing history -""" -import sqlite3 -import json -import threading -from pathlib import Path -from datetime import datetime -from typing import Optional, Dict, List, Any -from contextlib import contextmanager - -class NFOGuardDatabase: - """Manages NFOGuard SQLite database operations""" - - def __init__(self, db_path: Path): - self.db_path = Path(db_path) - self.db_path.parent.mkdir(parents=True, exist_ok=True) - self._local = threading.local() - self._init_database() - - def _get_connection(self) -> sqlite3.Connection: - """Get thread-local database connection""" - if not hasattr(self._local, 'connection'): - self._local.connection = sqlite3.connect( - self.db_path, - check_same_thread=False, - timeout=30.0 - ) - self._local.connection.row_factory = sqlite3.Row - return self._local.connection - - @contextmanager - def get_connection(self): - """Context manager for database connections""" - conn = self._get_connection() - try: - yield conn - conn.commit() - except Exception: - conn.rollback() - raise - - def _init_database(self): - """Initialize database tables with migration support""" - with self.get_connection() as conn: - cursor = conn.cursor() - - # Series table - cursor.execute(""" - CREATE TABLE IF NOT EXISTS series ( - imdb_id TEXT PRIMARY KEY, - path TEXT NOT NULL, - last_updated TEXT NOT NULL, - metadata TEXT - ) - """) - - # Episodes table - cursor.execute(""" - CREATE TABLE IF NOT EXISTS episodes ( - imdb_id TEXT NOT NULL, - season INTEGER NOT NULL, - episode INTEGER NOT NULL, - aired TEXT, - dateadded TEXT, - source TEXT, - last_updated TEXT NOT NULL, - PRIMARY KEY (imdb_id, season, episode), - FOREIGN KEY (imdb_id) REFERENCES series(imdb_id) - ) - """) - - # Movies table - cursor.execute(""" - CREATE TABLE IF NOT EXISTS movies ( - imdb_id TEXT PRIMARY KEY, - path TEXT NOT NULL, - released TEXT, - dateadded TEXT, - source TEXT, - last_updated TEXT NOT NULL - ) - """) - - # Processing history table - cursor.execute(""" - CREATE TABLE IF NOT EXISTS processing_history ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - imdb_id TEXT NOT NULL, - media_type TEXT NOT NULL, - event_type TEXT NOT NULL, - processed_at TEXT NOT NULL, - details TEXT - ) - """) - - # Add missing columns if they don't exist (migration) - # Check current schema and add missing columns - cursor.execute("PRAGMA table_info(movies)") - movie_columns = [row[1] for row in cursor.fetchall()] - - cursor.execute("PRAGMA table_info(episodes)") - episode_columns = [row[1] for row in cursor.fetchall()] - - # Add missing columns to movies table - if 'path' not in movie_columns: - cursor.execute("ALTER TABLE movies ADD COLUMN path TEXT") - cursor.execute("UPDATE movies SET path = '/unknown/path/' || imdb_id WHERE path IS NULL") - - if 'has_video_file' not in movie_columns: - cursor.execute("ALTER TABLE movies ADD COLUMN has_video_file BOOLEAN DEFAULT FALSE") - - if 'last_updated' not in movie_columns: - cursor.execute("ALTER TABLE movies ADD COLUMN last_updated TEXT") - cursor.execute("UPDATE movies SET last_updated = datetime('now') WHERE last_updated IS NULL") - - # Add missing columns to episodes table - if 'has_video_file' not in episode_columns: - cursor.execute("ALTER TABLE episodes ADD COLUMN has_video_file BOOLEAN DEFAULT FALSE") - - if 'last_updated' not in episode_columns: - cursor.execute("ALTER TABLE episodes ADD COLUMN last_updated TEXT") - cursor.execute("UPDATE episodes SET last_updated = datetime('now') WHERE last_updated IS NULL") - - # Create indexes - cursor.execute("CREATE INDEX IF NOT EXISTS idx_episodes_imdb ON episodes(imdb_id)") - cursor.execute("CREATE INDEX IF NOT EXISTS idx_episodes_video ON episodes(has_video_file)") - cursor.execute("CREATE INDEX IF NOT EXISTS idx_movies_video ON movies(has_video_file)") - cursor.execute("CREATE INDEX IF NOT EXISTS idx_history_imdb ON processing_history(imdb_id)") - - def upsert_series(self, imdb_id: str, path: str, metadata: Optional[Dict] = None): - """Insert or update series record""" - with self.get_connection() as conn: - cursor = conn.cursor() - cursor.execute(""" - INSERT OR REPLACE INTO series (imdb_id, path, last_updated, metadata) - VALUES (?, ?, ?, ?) - """, (imdb_id, path, datetime.utcnow().isoformat(), json.dumps(metadata) if metadata else None)) - - def upsert_episode_date(self, imdb_id: str, season: int, episode: int, - aired: Optional[str], dateadded: Optional[str], - source: str, has_video_file: bool = False): - """Insert or update episode date record""" - with self.get_connection() as conn: - cursor = conn.cursor() - cursor.execute(""" - INSERT OR REPLACE INTO episodes - (imdb_id, season, episode, aired, dateadded, source, has_video_file, last_updated) - VALUES (?, ?, ?, ?, ?, ?, ?, ?) - """, (imdb_id, season, episode, aired, dateadded, source, has_video_file, datetime.utcnow().isoformat())) - - def upsert_movie(self, imdb_id: str, path: str): - """Insert or update movie record""" - with self.get_connection() as conn: - cursor = conn.cursor() - try: - cursor.execute(""" - INSERT OR REPLACE INTO movies (imdb_id, path, last_updated) - VALUES (?, ?, ?) - """, (imdb_id, path, datetime.utcnow().isoformat())) - except sqlite3.OperationalError as e: - if "no column named path" in str(e): - # Fallback for databases without path column - just insert imdb_id - cursor.execute(""" - INSERT OR REPLACE INTO movies (imdb_id, last_updated) - VALUES (?, ?) - """, (imdb_id, datetime.utcnow().isoformat())) - else: - raise - - def upsert_movie_dates(self, imdb_id: str, released: Optional[str], - dateadded: Optional[str], source: str, has_video_file: bool = False): - """Insert or update movie date record""" - print(f"๐Ÿ” DATABASE UPSERT: imdb_id={imdb_id}, dateadded={dateadded}, source={source}") - with self.get_connection() as conn: - cursor = conn.cursor() - # Use INSERT OR REPLACE to ensure we always update the dates properly - cursor.execute(""" - INSERT OR REPLACE INTO movies (imdb_id, path, released, dateadded, source, has_video_file, last_updated) - VALUES ( - ?, - COALESCE((SELECT path FROM movies WHERE imdb_id = ?), 'unknown'), - ?, ?, ?, ?, ? - ) - """, (imdb_id, imdb_id, released, dateadded, source, has_video_file, datetime.utcnow().isoformat())) - - # Debug: Check what was actually saved - cursor.execute("SELECT dateadded, source FROM movies WHERE imdb_id = ?", (imdb_id,)) - result = cursor.fetchone() - print(f"๐Ÿ” DATABASE VERIFY: After upsert, found dateadded={result[0] if result else 'NOT_FOUND'}, source={result[1] if result else 'NOT_FOUND'}") - - def get_series_episodes(self, imdb_id: str, has_video_file_only: bool = False) -> List[Dict]: - """Get all episodes for a series""" - with self.get_connection() as conn: - cursor = conn.cursor() - - query = "SELECT * FROM episodes WHERE imdb_id = ?" - params = [imdb_id] - - if has_video_file_only: - query += " AND has_video_file = TRUE" - - cursor.execute(query, params) - return [dict(row) for row in cursor.fetchall()] - - def get_episode_date(self, imdb_id: str, season: int, episode: int) -> Optional[Dict]: - """Get episode date record""" - with self.get_connection() as conn: - cursor = conn.cursor() - cursor.execute(""" - SELECT * FROM episodes - WHERE imdb_id = ? AND season = ? AND episode = ? - """, (imdb_id, season, episode)) - - row = cursor.fetchone() - return dict(row) if row else None - - def get_movie_dates(self, imdb_id: str) -> Optional[Dict]: - """Get movie date record""" - with self.get_connection() as conn: - cursor = conn.cursor() - cursor.execute("SELECT * FROM movies WHERE imdb_id = ?", (imdb_id,)) - - row = cursor.fetchone() - return dict(row) if row else None - - def add_processing_history(self, imdb_id: str, media_type: str, event_type: str, details: Optional[Dict] = None): - """Add processing history entry""" - with self.get_connection() as conn: - cursor = conn.cursor() - cursor.execute(""" - INSERT INTO processing_history (imdb_id, media_type, event_type, processed_at, details) - VALUES (?, ?, ?, ?, ?) - """, (imdb_id, media_type, event_type, datetime.utcnow().isoformat(), - json.dumps(details) if details else None)) - - def get_stats(self) -> Dict[str, Any]: - """Get database statistics""" - with self.get_connection() as conn: - cursor = conn.cursor() - - # Series stats - cursor.execute("SELECT COUNT(*) FROM series") - series_count = cursor.fetchone()[0] - - # Episode stats - cursor.execute("SELECT COUNT(*) FROM episodes") - episodes_total = cursor.fetchone()[0] - - cursor.execute("SELECT COUNT(*) FROM episodes WHERE has_video_file = TRUE") - episodes_with_video = cursor.fetchone()[0] - - # Movie stats - cursor.execute("SELECT COUNT(*) FROM movies") - movies_total = cursor.fetchone()[0] - - cursor.execute("SELECT COUNT(*) FROM movies WHERE has_video_file = TRUE") - movies_with_video = cursor.fetchone()[0] - - # Processing history - cursor.execute("SELECT COUNT(*) FROM processing_history") - history_count = cursor.fetchone()[0] - - return { - "series_count": series_count, - "episodes_total": episodes_total, - "episodes_with_video": episodes_with_video, - "movies_total": movies_total, - "movies_with_video": movies_with_video, - "processing_history_count": history_count, - "database_size_mb": round(self.db_path.stat().st_size / 1024 / 1024, 2) - } \ No newline at end of file diff --git a/core/logging.py b/core/logging.py deleted file mode 100644 index a673f42..0000000 --- a/core/logging.py +++ /dev/null @@ -1,53 +0,0 @@ -"""Logging utilities for NFOguard""" - -from datetime import datetime, timezone -import os - -def _get_local_timezone(): - """Get the local timezone, respecting TZ environment variable""" - tz_name = os.environ.get('TZ', 'UTC') - - try: - # Try zoneinfo first (Python 3.9+) - from zoneinfo import ZoneInfo - return ZoneInfo(tz_name) - except ImportError: - # Fallback for older Python versions - try: - import pytz - return pytz.timezone(tz_name) - except: - # Final fallback to UTC - return timezone.utc - except: - # If zone name is invalid, fallback to UTC - return timezone.utc - -def _log(level: str, msg: str): - """Basic logging function that writes to console""" - tz = _get_local_timezone() - print(f"[{datetime.now(tz).isoformat(timespec='seconds')}] {level}: {msg}") - -def convert_utc_to_local(utc_iso_string: str) -> str: - """Convert UTC ISO timestamp to local timezone timestamp""" - if not utc_iso_string: - return utc_iso_string - - try: - # Parse UTC timestamp - if utc_iso_string.endswith('Z'): - dt_utc = datetime.fromisoformat(utc_iso_string.replace('Z', '+00:00')) - elif '+00:00' in utc_iso_string: - dt_utc = datetime.fromisoformat(utc_iso_string) - else: - # Assume UTC if no timezone info - dt_utc = datetime.fromisoformat(utc_iso_string).replace(tzinfo=timezone.utc) - - # Convert to local timezone - local_tz = _get_local_timezone() - dt_local = dt_utc.astimezone(local_tz) - - return dt_local.isoformat(timespec='seconds') - except Exception: - # If conversion fails, return original - return utc_iso_string \ No newline at end of file diff --git a/core/nfo_manager.py b/core/nfo_manager.py deleted file mode 100644 index 8baac7c..0000000 --- a/core/nfo_manager.py +++ /dev/null @@ -1,565 +0,0 @@ -#!/usr/bin/env python3 -""" -NFO Manager for creating and managing metadata files -Handles NFO creation for movies, TV shows, seasons, and episodes -""" -import os -import xml.etree.ElementTree as ET -from pathlib import Path -from datetime import datetime -from typing import Optional, Dict, Any -import re - - -class NFOManager: - """Manages NFO file creation and updates""" - - def __init__(self, manager_brand: str = "NFOGuard"): - self.manager_brand = manager_brand - - def parse_imdb_from_path(self, path: Path) -> Optional[str]: - """Extract IMDb ID from directory path or filename""" - # Look for various IMDb patterns in both directory and file names - path_str = str(path).lower() - - # Try [imdb-ttXXXXXXX] format first (most explicit) - match = re.search(r'\[imdb-?(tt\d+)\]', path_str) - if match: - return match.group(1) - - # Try standalone [ttXXXXXXX] format in brackets - match = re.search(r'\[(tt\d+)\]', path_str) - if match: - return match.group(1) - - # Try {imdb-ttXXXXXXX} format with curly braces - match = re.search(r'\{imdb-?(tt\d+)\}', path_str) - if match: - return match.group(1) - - # Try (imdb-ttXXXXXXX) format with parentheses - match = re.search(r'\(imdb-?(tt\d+)\)', path_str) - if match: - return match.group(1) - - # Try ttXXXXXXX at end of filename/dirname (common pattern) - match = re.search(r'[-_\s](tt\d+)$', path_str) - if match: - return match.group(1) - - return None - - def parse_imdb_from_nfo(self, nfo_path: Path) -> Optional[str]: - """Extract IMDb ID from NFO file content""" - if not nfo_path.exists(): - return None - - try: - tree = ET.parse(nfo_path) - root = tree.getroot() - - # Check for <uniqueid type="imdb">ttXXXXXX</uniqueid> - imdb_uniqueid = root.find('.//uniqueid[@type="imdb"]') - if imdb_uniqueid is not None and imdb_uniqueid.text: - imdb_id = imdb_uniqueid.text.strip() - if imdb_id.startswith('tt'): - return imdb_id - - # Check for legacy <imdbid>ttXXXXXX</imdbid> - imdbid_elem = root.find('.//imdbid') - if imdbid_elem is not None and imdbid_elem.text: - imdb_id = imdbid_elem.text.strip() - if imdb_id.startswith('tt'): - return imdb_id - - # Check for legacy <imdb>ttXXXXXX</imdb> - imdb_elem = root.find('.//imdb') - if imdb_elem is not None and imdb_elem.text: - imdb_id = imdb_elem.text.strip() - if imdb_id.startswith('tt'): - return imdb_id - - except (ET.ParseError, Exception): - # Skip corrupted or non-XML files - pass - - return None - - def find_movie_imdb_id(self, movie_dir: Path) -> Optional[str]: - """Find IMDb ID from directory name, filenames, or NFO file""" - # First try directory name - imdb_id = self.parse_imdb_from_path(movie_dir) - if imdb_id: - return imdb_id - - # Try all files in the directory for IMDb ID patterns - for file_path in movie_dir.iterdir(): - if file_path.is_file(): - imdb_id = self.parse_imdb_from_path(file_path) - if imdb_id: - return imdb_id - - # Finally, try NFO file content - nfo_path = movie_dir / "movie.nfo" - imdb_id = self.parse_imdb_from_nfo(nfo_path) - if imdb_id: - print(f"๐Ÿ” Found IMDb ID in NFO file: {imdb_id} from {nfo_path}") - return imdb_id - - return None - - def _parse_nfo_with_tolerance(self, nfo_path: Path): - """Parse NFO file with tolerance for URLs appended after XML""" - try: - # First try normal parsing - tree = ET.parse(nfo_path) - return tree.getroot() - except ET.ParseError as e: - # If parsing fails, try to extract just the XML part - try: - with open(nfo_path, 'r', encoding='utf-8') as f: - content = f.read() - - # Find the last </movie> tag and truncate after it - last_movie_end = content.rfind('</movie>') - if last_movie_end != -1: - xml_content = content[:last_movie_end + 8] # +8 for </movie> - - # Try parsing the truncated content - root = ET.fromstring(xml_content) - print(f"โœ… Successfully parsed NFO after removing trailing content: {nfo_path.name}") - return root - else: - # Re-raise original error if we can't find </movie> - raise e - except Exception: - # Re-raise original error if our fix attempt fails - raise e - - def create_movie_nfo(self, movie_dir: Path, imdb_id: str, dateadded: str, - released: Optional[str] = None, source: str = "unknown", - lock_metadata: bool = True) -> None: - """Create or update movie.nfo file preserving existing content""" - nfo_path = movie_dir / "movie.nfo" - - try: - # Try to load existing NFO file - if nfo_path.exists(): - try: - # Try to parse the XML, handling URLs appended after </movie> - movie = self._parse_nfo_with_tolerance(nfo_path) - - # Ensure root element is <movie> - if movie.tag != "movie": - raise ValueError("Root element is not <movie>") - - # Remove existing NFOGuard-managed elements to avoid duplicates - # These will be re-added at the very bottom - nfoguard_fields = ["dateadded", "lockdata", "premiered", "year"] - for tag in nfoguard_fields: - existing = movie.find(tag) - if existing is not None: - # Store the value before removing (for premiered/year) - if tag == "premiered" and not released: - released = existing.text # Preserve existing premiered date - movie.remove(existing) - - # Remove ALL existing uniqueid with type="imdb" regardless of attributes - # We'll add a clean one at the bottom - for uniqueid in movie.findall("uniqueid[@type='imdb']"): - movie.remove(uniqueid) - - except (ET.ParseError, ValueError) as e: - print(f"โš ๏ธ Corrupted NFO detected: {nfo_path} - {str(e)[:100]}...") - print(f" Creating new clean NFO file to replace corrupted one") - movie = ET.Element("movie") - else: - # Create new NFO structure - movie = ET.Element("movie") - - # Now append ALL NFOGuard and date fields at the VERY END of the file - # This ensures they appear after all existing content including actors - - # Add IMDb uniqueid at the end (after all existing content) - uniqueid = ET.SubElement(movie, "uniqueid", type="imdb", default="true") - uniqueid.text = imdb_id - - # Add premiered date at the bottom if we have it - if released: - premiered_elem = ET.SubElement(movie, "premiered") - premiered_elem.text = released[:10] if len(released) >= 10 else released - - # Extract year from premiered date for consistency - try: - year_value = released[:4] if len(released) >= 4 else None - if year_value and year_value.isdigit(): - year_elem = ET.SubElement(movie, "year") - year_elem.text = year_value - except: - pass # Skip year if we can't extract it - - # Add dateadded at the end - if dateadded: - dateadded_elem = ET.SubElement(movie, "dateadded") - dateadded_elem.text = dateadded - - # Add lockdata at the very end - if lock_metadata: - lockdata = ET.SubElement(movie, "lockdata") - lockdata.text = "true" - - # Add NFOGuard comment at the beginning - comment_text = f" Created by {self.manager_brand} - Source: {source} " - - # Write file with proper formatting - tree = ET.ElementTree(movie) - ET.indent(tree, space=" ", level=0) - - # Write to string first to add comment - import xml.etree.ElementTree as ET_temp - xml_str = ET.tostring(movie, encoding='unicode') - - # Add XML declaration and comment - full_xml = f'<?xml version="1.0" encoding="utf-8"?>\n<!--{comment_text}-->\n{xml_str}' - - # Write to file - with open(nfo_path, 'w', encoding='utf-8') as f: - f.write(full_xml) - - print(f"โœ… Successfully created/updated movie NFO: {nfo_path}") - print(f" IMDb ID: {imdb_id}, Date Added: {dateadded}, Source: {source}") - - except Exception as e: - print(f"โŒ Error creating/updating movie NFO {nfo_path}: {e}") - - def create_tvshow_nfo(self, series_dir: Path, imdb_id: str, tvdb_id: Optional[str] = None) -> None: - """Create or update tvshow.nfo file preserving existing content""" - nfo_path = series_dir / "tvshow.nfo" - - try: - # Try to load existing NFO file - if nfo_path.exists(): - try: - tree = ET.parse(nfo_path) - tvshow = tree.getroot() - - # Ensure root element is <tvshow> - if tvshow.tag != "tvshow": - raise ValueError("Root element is not <tvshow>") - - # Remove existing NFOGuard-managed elements to avoid duplicates - # These will be re-added at the bottom - for tag in ["lockdata"]: - existing = tvshow.find(tag) - if existing is not None: - tvshow.remove(existing) - - # Remove ALL existing uniqueid with type="imdb" regardless of attributes - for uniqueid in tvshow.findall("uniqueid[@type='imdb']"): - tvshow.remove(uniqueid) - - except (ET.ParseError, ValueError) as e: - print(f"โš ๏ธ Corrupted TV show NFO detected: {nfo_path} - {str(e)[:100]}...") - print(f" Creating new clean tvshow.nfo file to replace corrupted one") - tvshow = ET.Element("tvshow") - else: - # Create new NFO structure - tvshow = ET.Element("tvshow") - - # Add NFOGuard fields at the bottom - - # Add IMDb uniqueid at the end - imdb_uniqueid = ET.SubElement(tvshow, "uniqueid", type="imdb", default="true") - imdb_uniqueid.text = imdb_id - - # Add TVDB ID if available (preserve existing or add new) - if tvdb_id and not tvshow.find("uniqueid[@type='tvdb']"): - tvdb_uniqueid = ET.SubElement(tvshow, "uniqueid", type="tvdb") - tvdb_uniqueid.text = tvdb_id - - # Add lockdata at the very end - lockdata = ET.SubElement(tvshow, "lockdata") - lockdata.text = "true" - - # Add NFOGuard comment at the beginning - comment_text = f" Created by {self.manager_brand} " - - # Write file with proper formatting - tree = ET.ElementTree(tvshow) - ET.indent(tree, space=" ", level=0) - - # Write to string first to add comment - xml_str = ET.tostring(tvshow, encoding='unicode') - - # Add XML declaration and comment - full_xml = f'<?xml version="1.0" encoding="utf-8"?>\n<!--{comment_text}-->\n{xml_str}' - - # Write to file - with open(nfo_path, 'w', encoding='utf-8') as f: - f.write(full_xml) - - print(f"โœ… Successfully created/updated TV show NFO: {nfo_path}") - print(f" IMDb ID: {imdb_id}" + (f", TVDB ID: {tvdb_id}" if tvdb_id else "")) - - except Exception as e: - print(f"โŒ Error creating/updating tvshow NFO {nfo_path}: {e}") - - def create_season_nfo(self, season_dir: Path, season_number: int) -> None: - """Create or update season.nfo file preserving existing content""" - nfo_path = season_dir / "season.nfo" - - try: - season_dir.mkdir(exist_ok=True) - - # Try to load existing NFO file - if nfo_path.exists(): - try: - tree = ET.parse(nfo_path) - season = tree.getroot() - - # Ensure root element is <season> - if season.tag != "season": - raise ValueError("Root element is not <season>") - - # Remove existing NFOGuard-managed elements - for tag in ["seasonnumber", "lockdata"]: - existing = season.find(tag) - if existing is not None: - season.remove(existing) - - except (ET.ParseError, ValueError) as e: - print(f"โš ๏ธ Corrupted season NFO detected: {nfo_path} - {str(e)[:100]}...") - print(f" Creating new clean season.nfo file to replace corrupted one") - season = ET.Element("season") - else: - # Create new NFO structure - season = ET.Element("season") - - # Add NFOGuard fields at the bottom - seasonnumber = ET.SubElement(season, "seasonnumber") - seasonnumber.text = str(season_number) - - # Add lockdata at the end - lockdata = ET.SubElement(season, "lockdata") - lockdata.text = "true" - - # Add NFOGuard comment at the beginning - comment_text = f" Created by {self.manager_brand} " - - # Write file with proper formatting - tree = ET.ElementTree(season) - ET.indent(tree, space=" ", level=0) - - # Write to string first to add comment - xml_str = ET.tostring(season, encoding='unicode') - - # Add XML declaration and comment - full_xml = f'<?xml version="1.0" encoding="utf-8"?>\n<!--{comment_text}-->\n{xml_str}' - - # Write to file - with open(nfo_path, 'w', encoding='utf-8') as f: - f.write(full_xml) - - print(f"โœ… Successfully created/updated season NFO: {nfo_path}") - print(f" Season: {season_number}") - - except Exception as e: - print(f"โŒ Error creating/updating season NFO {nfo_path}: {e}") - - def find_existing_episode_nfo(self, season_dir: Path, season_num: int, episode_num: int) -> Optional[Path]: - """Find existing episode NFO file that matches season/episode but isn't standardized name""" - if not season_dir.exists(): - return None - - # Standard filename pattern we're looking to create - standard_pattern = f"S{season_num:02d}E{episode_num:02d}.nfo" - - # Look for NFO files in the season directory - for nfo_file in season_dir.glob("*.nfo"): - # Skip if it's already the standard format - if nfo_file.name == standard_pattern: - continue - - # Check if this NFO contains the right season/episode - try: - tree = ET.parse(nfo_file) - root = tree.getroot() - - if root.tag == "episodedetails": - # Check for season/episode elements - season_elem = root.find("season") - episode_elem = root.find("episode") - - if (season_elem is not None and episode_elem is not None and - season_elem.text and episode_elem.text): - try: - file_season = int(season_elem.text) - file_episode = int(episode_elem.text) - - if file_season == season_num and file_episode == episode_num: - print(f"๐Ÿ” Found existing episode NFO: {nfo_file.name} -> will migrate to {standard_pattern}") - return nfo_file - except ValueError: - continue - - except (ET.ParseError, Exception): - # Skip corrupted or non-XML files - continue - - return None - - def create_episode_nfo(self, season_dir: Path, season_num: int, episode_num: int, - aired: Optional[str], dateadded: Optional[str], source: str, - lock_metadata: bool = True, enhanced_metadata: Optional[Dict[str, Any]] = None) -> None: - """Create or update episode NFO file preserving existing content""" - # Generate episode filename pattern - episode_filename = f"S{season_num:02d}E{episode_num:02d}.nfo" - nfo_path = season_dir / episode_filename - - # Track if we need to delete an old long-named NFO file - old_nfo_to_delete = None - - try: - # First, check for existing long-named NFO files that need migration - existing_long_nfo = self.find_existing_episode_nfo(season_dir, season_num, episode_num) - - # Try to load existing NFO file (either standard or long-named) - source_nfo_path = nfo_path if nfo_path.exists() else existing_long_nfo - - if source_nfo_path: - try: - tree = ET.parse(source_nfo_path) - episode = tree.getroot() - - # Ensure root element is <episodedetails> - if episode.tag != "episodedetails": - raise ValueError("Root element is not <episodedetails>") - - # If we're migrating from a long-named file, mark it for deletion - if existing_long_nfo and source_nfo_path == existing_long_nfo: - old_nfo_to_delete = existing_long_nfo - print(f"๐Ÿ“ฆ Migrating episode NFO: {existing_long_nfo.name} -> {episode_filename}") - - # Remove existing NFOGuard-managed elements to avoid duplicates - # These will be re-added at the bottom - nfoguard_fields = ["aired", "dateadded", "lockdata", "season", "episode"] - for tag in nfoguard_fields: - existing = episode.find(tag) - if existing is not None: - # Store the aired value before removing - if tag == "aired" and not aired: - aired = existing.text # Preserve existing aired date - episode.remove(existing) - - except (ET.ParseError, ValueError) as e: - print(f"โš ๏ธ Corrupted episode NFO detected: {nfo_path} - {str(e)[:100]}...") - print(f" Creating new clean episode NFO file to replace corrupted one") - episode = ET.Element("episodedetails") - else: - # Create new NFO structure - episode = ET.Element("episodedetails") - - # Enhanced metadata should be preserved - only add if not already present - if enhanced_metadata: - if enhanced_metadata.get("title") and not episode.find("title"): - title_elem = ET.SubElement(episode, "title") - title_elem.text = enhanced_metadata["title"] - - if enhanced_metadata.get("overview") and not episode.find("plot"): - plot_elem = ET.SubElement(episode, "plot") - plot_elem.text = enhanced_metadata["overview"] - - if enhanced_metadata.get("runtime") and not episode.find("runtime"): - runtime_elem = ET.SubElement(episode, "runtime") - runtime_elem.text = str(enhanced_metadata["runtime"]) - - # Add NFOGuard fields at the bottom - - # Basic episode info at the end - season_elem = ET.SubElement(episode, "season") - season_elem.text = str(season_num) - - episode_elem = ET.SubElement(episode, "episode") - episode_elem.text = str(episode_num) - - # Dates at the end - if aired: - aired_elem = ET.SubElement(episode, "aired") - aired_elem.text = aired[:10] if len(aired) >= 10 else aired - - if dateadded: - dateadded_elem = ET.SubElement(episode, "dateadded") - dateadded_elem.text = dateadded - - # Add lockdata at the very end - if lock_metadata: - lockdata = ET.SubElement(episode, "lockdata") - lockdata.text = "true" - - # Add NFOGuard comment at the beginning - comment_text = f" Created by {self.manager_brand} - Source: {source} " - - # Write file with proper formatting - tree = ET.ElementTree(episode) - ET.indent(tree, space=" ", level=0) - - # Write to string first to add comment - xml_str = ET.tostring(episode, encoding='unicode') - - # Add XML declaration and comment - full_xml = f'<?xml version="1.0" encoding="utf-8"?>\n<!--{comment_text}-->\n{xml_str}' - - # Write to file - with open(nfo_path, 'w', encoding='utf-8') as f: - f.write(full_xml) - - print(f"โœ… Successfully created/updated episode NFO: {nfo_path}") - print(f" S{season_num:02d}E{episode_num:02d}, Aired: {aired}, Date Added: {dateadded}") - - # Clean up old long-named NFO file if we migrated from it - if old_nfo_to_delete and old_nfo_to_delete.exists(): - try: - old_nfo_to_delete.unlink() - print(f"๐Ÿ—‘๏ธ Cleaned up old NFO file: {old_nfo_to_delete.name}") - except Exception as cleanup_error: - print(f"โš ๏ธ Warning: Could not delete old NFO file {old_nfo_to_delete.name}: {cleanup_error}") - - except Exception as e: - print(f"โŒ Error creating/updating episode NFO {nfo_path}: {e}") - - def set_file_mtime(self, file_path: Path, iso_timestamp: str) -> None: - """Set file modification time to match import date""" - try: - # Parse ISO timestamp - if iso_timestamp.endswith('Z'): - dt = datetime.fromisoformat(iso_timestamp.replace('Z', '+00:00')) - elif '+' in iso_timestamp or 'T' in iso_timestamp: - dt = datetime.fromisoformat(iso_timestamp) - else: - # Assume it's already a simple date - dt = datetime.fromisoformat(iso_timestamp + 'T00:00:00') - - # Convert to timestamp - timestamp = dt.timestamp() - - # Set both access and modification times - os.utime(file_path, (timestamp, timestamp)) - print(f"โœ… Updated file timestamp: {file_path.name} -> {iso_timestamp}") - - except Exception as e: - print(f"โŒ Error setting mtime for {file_path}: {e}") - - def update_movie_files_mtime(self, movie_dir: Path, iso_timestamp: str) -> None: - """Update modification times for all video files in movie directory""" - video_exts = (".mkv", ".mp4", ".avi", ".mov", ".m4v") - updated_files = [] - - for file_path in movie_dir.iterdir(): - if file_path.is_file() and file_path.suffix.lower() in video_exts: - self.set_file_mtime(file_path, iso_timestamp) - updated_files.append(file_path.name) - - if updated_files: - print(f"โœ… Updated {len(updated_files)} video file timestamps in {movie_dir.name}") - else: - print(f"โš ๏ธ No video files found to update in {movie_dir.name}") \ No newline at end of file diff --git a/core/path_mapper.py b/core/path_mapper.py deleted file mode 100644 index 59d5805..0000000 --- a/core/path_mapper.py +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env python3 -""" -Path mapping utilities for NFOGuard -Handles conversion between external service paths and container paths -""" -import os -import re -from pathlib import Path - -class PathMapper: - """Handles path mapping between different environments""" - - def __init__(self, config): - """Initialize path mapper with configuration""" - # Use environment variables directly since config attribute names are unclear - import os - - radarr_roots_str = os.getenv('RADARR_ROOT_FOLDERS', '') - sonarr_roots_str = os.getenv('SONARR_ROOT_FOLDERS', '') - movie_paths_str = os.getenv('MOVIE_PATHS', '') - tv_paths_str = os.getenv('TV_PATHS', '') - - self.radarr_roots = [path.strip() for path in radarr_roots_str.split(',') if path.strip()] - self.sonarr_roots = [path.strip() for path in sonarr_roots_str.split(',') if path.strip()] - self.movie_paths = [path.strip() for path in movie_paths_str.split(',') if path.strip()] - self.tv_paths = [path.strip() for path in tv_paths_str.split(',') if path.strip()] - - # Check if path debugging is enabled - self.path_debug = os.getenv('PATH_DEBUG', 'false').lower() == 'true' - - if self.path_debug: - print(f"PATH_DEBUG: PathMapper initialized with:") - print(f"PATH_DEBUG: radarr_roots: {self.radarr_roots}") - print(f"PATH_DEBUG: sonarr_roots: {self.sonarr_roots}") - print(f"PATH_DEBUG: movie_paths: {self.movie_paths}") - print(f"PATH_DEBUG: tv_paths: {self.tv_paths}") - - def sonarr_path_to_container_path(self, sonarr_path: str) -> str: - """Convert Sonarr path to container path using environment mappings""" - if self.path_debug: - print(f"PATH_DEBUG: sonarr_path_to_container_path input: {sonarr_path}") - print(f"PATH_DEBUG: sonarr_roots: {self.sonarr_roots}") - print(f"PATH_DEBUG: tv_paths: {self.tv_paths}") - - # Sort roots by length (longest first) to avoid substring matching issues - indexed_roots = [(i, root) for i, root in enumerate(self.sonarr_roots)] - indexed_roots.sort(key=lambda x: len(x[1]), reverse=True) - - # Try to match against configured Sonarr root folders (longest first) - for original_index, sonarr_root in indexed_roots: - if self.path_debug: - print(f"PATH_DEBUG: Checking sonarr_root[{original_index}]: {sonarr_root}") - if sonarr_path.startswith(sonarr_root + '/') or sonarr_path == sonarr_root: - if self.path_debug: - print(f"PATH_DEBUG: Match found! Index {original_index}") - # Map to corresponding TV path - if original_index < len(self.tv_paths): - container_root = self.tv_paths[original_index] - relative_path = sonarr_path[len(sonarr_root):].lstrip('/') - result = str(Path(container_root) / relative_path) if relative_path else container_root - if self.path_debug: - print(f"PATH_DEBUG: Mapped to: {result}") - return result - - if self.path_debug: - print(f"PATH_DEBUG: No match found, returning original: {sonarr_path}") - # No fallback - if path mapping fails, return original and let validation catch it - return sonarr_path - - def radarr_path_to_container_path(self, radarr_path: str) -> str: - """Convert Radarr path to container path using environment mappings""" - if self.path_debug: - print(f"PATH_DEBUG: radarr_path_to_container_path input: {radarr_path}") - print(f"PATH_DEBUG: radarr_roots: {self.radarr_roots}") - print(f"PATH_DEBUG: movie_paths: {self.movie_paths}") - - # Sort roots by length (longest first) to avoid substring matching issues - indexed_roots = [(i, root) for i, root in enumerate(self.radarr_roots)] - indexed_roots.sort(key=lambda x: len(x[1]), reverse=True) - - # Try to match against configured Radarr root folders (longest first) - for original_index, radarr_root in indexed_roots: - if self.path_debug: - print(f"PATH_DEBUG: Checking radarr_root[{original_index}]: {radarr_root}") - if radarr_path.startswith(radarr_root + '/') or radarr_path == radarr_root: - if self.path_debug: - print(f"PATH_DEBUG: Match found! Index {original_index}") - # Map to corresponding movie path - if original_index < len(self.movie_paths): - container_root = self.movie_paths[original_index] - relative_path = radarr_path[len(radarr_root):].lstrip('/') - result = str(Path(container_root) / relative_path) if relative_path else container_root - if self.path_debug: - print(f"PATH_DEBUG: Mapped to: {result}") - return result - - if self.path_debug: - print(f"PATH_DEBUG: No match found, returning original: {radarr_path}") - # No fallback - if path mapping fails, return original and let validation catch it - return radarr_path - - def container_path_to_host_path(self, container_path: str) -> str: - """Convert container path back to host path if needed""" - # This might be needed for file operations - return container_path \ No newline at end of file diff --git a/debug_path_mapping.py b/debug_path_mapping.py deleted file mode 100644 index 579b16e..0000000 --- a/debug_path_mapping.py +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env python3 -""" -Debug path mapping configuration -""" - -import os -from pathlib import Path - -def check_path_mapping(): - """Check the current path mapping configuration""" - print("๐Ÿ” Path Mapping Configuration Debug") - print("=" * 50) - - # Check environment variables - movie_paths = os.environ.get("MOVIE_PATHS", "NOT SET") - radarr_paths = os.environ.get("RADARR_ROOT_FOLDERS", "NOT SET") - - print(f"MOVIE_PATHS: {movie_paths}") - print(f"RADARR_ROOT_FOLDERS: {radarr_paths}") - print() - - # Parse paths - if movie_paths != "NOT SET": - container_paths = [p.strip() for p in movie_paths.split(",") if p.strip()] - print("Container paths:") - for i, path in enumerate(container_paths): - exists = Path(path).exists() - print(f" {i+1}. {path} {'โœ…' if exists else 'โŒ (does not exist)'}") - - if radarr_paths != "NOT SET": - radarr_root_paths = [p.strip() for p in radarr_paths.split(",") if p.strip()] - print("\nRadarr root paths:") - for i, path in enumerate(radarr_root_paths): - print(f" {i+1}. {path}") - - print("\n๐Ÿ” Expected Path Mappings:") - if movie_paths != "NOT SET" and radarr_paths != "NOT SET": - container_list = [p.strip() for p in movie_paths.split(",") if p.strip()] - radarr_list = [p.strip() for p in radarr_paths.split(",") if p.strip()] - - for i, container_path in enumerate(container_list): - if i < len(radarr_list): - radarr_path = radarr_list[i] - print(f" {radarr_path} โ†’ {container_path}") - else: - print(f" โŒ No Radarr mapping for {container_path}") - - print("\n๐Ÿงช Test Case:") - test_radarr_path = "/mnt/unionfs/Media/Movies/movies6/Annabelle Comes Home (2019) [tt8350360]" - print(f"Radarr path: {test_radarr_path}") - - # Simulate mapping - if radarr_paths != "NOT SET" and movie_paths != "NOT SET": - container_list = [p.strip() for p in movie_paths.split(",") if p.strip()] - radarr_list = [p.strip() for p in radarr_paths.split(",") if p.strip()] - - for i, radarr_root in enumerate(radarr_list): - if test_radarr_path.startswith(radarr_root): - container_root = container_list[i] if i < len(container_list) else container_list[0] - relative_path = test_radarr_path[len(radarr_root):].lstrip("/") - mapped_path = f"{container_root.rstrip('/')}/{relative_path}" if relative_path else container_root.rstrip("/") - print(f"Expected mapping: {mapped_path}") - - # Check if mapped path exists - if Path(mapped_path).exists(): - print("โœ… Mapped path exists!") - else: - print("โŒ Mapped path does not exist!") - print(f" This could be why the wrong movie is being processed.") - break - else: - print("โŒ No mapping found for test path") - - print("\n๐Ÿ› ๏ธ Recommended Fix:") - print("Make sure your MOVIE_PATHS and RADARR_ROOT_FOLDERS match exactly:") - print("Example:") - print(" MOVIE_PATHS=/media/Movies/movies,/media/Movies/movies6") - print(" RADARR_ROOT_FOLDERS=/mnt/unionfs/Media/Movies/movies,/mnt/unionfs/Media/Movies/movies6") - -if __name__ == "__main__": - check_path_mapping() \ No newline at end of file diff --git a/debug_webhook_isolation.py b/debug_webhook_isolation.py deleted file mode 100644 index 008f9b5..0000000 --- a/debug_webhook_isolation.py +++ /dev/null @@ -1,127 +0,0 @@ -#!/usr/bin/env python3 -""" -Debug script for the Annabelle โ†’ Harry Potter webhook processing bug -Tests the webhook isolation fixes in v1.3.1 -""" - -import requests -import json -import time -from datetime import datetime - -def test_webhook_isolation(): - """Test that movie webhooks process the correct movie""" - print("๐Ÿ” Testing Webhook Isolation Fixes (v1.3.1)") - print("=" * 60) - - # Test case from the bug report - test_cases = [ - { - "imdb_id": "tt3322940", - "title": "Annabelle (2014)", - "path": "/mnt/unionfs/Media/Movies/movies6/Annabelle (2014) [tt3322940]", - "expected_container_path": "/media/Movies/movies6/Annabelle (2014) [tt3322940]" - }, - { - "imdb_id": "tt8350360", - "title": "Annabelle Comes Home (2019)", - "path": "/mnt/unionfs/Media/Movies/movies6/Annabelle Comes Home (2019) [tt8350360]", - "expected_container_path": "/media/Movies/movies6/Annabelle Comes Home (2019) [tt8350360]" - } - ] - - for i, test_case in enumerate(test_cases, 1): - print(f"\n{i}. Testing {test_case['title']} ({test_case['imdb_id']})") - print("-" * 50) - - # Create webhook payload - webhook_payload = { - "eventType": "Download", - "movie": { - "id": i, - "title": test_case["title"], - "imdbId": test_case["imdb_id"], - "path": test_case["path"] - }, - "movieFile": { - "id": i, - "path": f"{test_case['path']}/movie.mkv" - } - } - - print(f"๐Ÿ“ค Sending webhook...") - print(f" Radarr Path: {test_case['path']}") - print(f" Expected Container Path: {test_case['expected_container_path']}") - - try: - response = requests.post( - "http://localhost:8080/webhook/radarr", - json=webhook_payload, - headers={"Content-Type": "application/json"}, - timeout=10 - ) - - if response.status_code == 200: - result = response.json() - print(f" โœ… Webhook accepted: {result.get('message', 'Success')}") - - # Check if batch key uses new prefixed format - if 'movie:' in result.get('message', ''): - print(f" โœ… Using prefixed batch key (isolation working)") - else: - print(f" โš ๏ธ Batch key format unclear") - - else: - print(f" โŒ Webhook rejected: {response.status_code}") - print(f" Error: {response.text}") - - # This might be expected if path doesn't exist (validation working) - if "does not exist" in response.text: - print(f" โœ… Path validation working (rejects non-existent paths)") - - except Exception as e: - print(f" โŒ Error: {e}") - - # Small delay between tests - time.sleep(1) - - print(f"\n๐Ÿ“‹ Next Steps:") - print(f"1. Check NFOGuard logs to see which movies were actually processed") - print(f"2. Verify logs show 'Batch validation passed' messages") - print(f"3. Ensure no 'BATCH VALIDATION FAILED' errors") - print(f"4. Confirm correct movies are processed (not Harry Potter)") - - # Get batch status - print(f"\n๐Ÿ“Š Current Batch Status:") - try: - response = requests.get("http://localhost:8080/batch/status", timeout=5) - if response.status_code == 200: - data = response.json() - print(f" Pending: {data.get('pending_count', 0)}") - print(f" Processing: {data.get('processing_count', 0)}") - if data.get('pending_items'): - print(f" Keys: {data['pending_items']}") - else: - print(f" Could not get batch status: {response.status_code}") - except Exception as e: - print(f" Batch status error: {e}") - -def test_path_mapping(): - """Test path mapping configuration""" - print(f"\n๐Ÿ—บ๏ธ Testing Path Mapping") - print("=" * 30) - - test_paths = [ - "/mnt/unionfs/Media/Movies/movies6/Annabelle (2014) [tt3322940]", - "/mnt/unionfs/Media/Movies/movies6/Annabelle Comes Home (2019) [tt8350360]", - "/mnt/unionfs/Media/Movies/movies/Some Movie (2023) [tt1234567]" - ] - - for path in test_paths: - print(f"Testing: {path}") - # This would need to be implemented in NFOGuard as a debug endpoint - print(f" โ†’ Expected: /media/Movies/movies6/... (if movies6 mapping exists)") - -if __name__ == "__main__": - test_webhook_isolation() - test_path_mapping() \ No newline at end of file diff --git a/debug_webhook_issue.py b/debug_webhook_issue.py deleted file mode 100644 index 2f63b6b..0000000 --- a/debug_webhook_issue.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python3 -""" -Debug script for webhook processing issue -Helps identify why wrong movies are being processed -""" - -import requests -import json -import time -from datetime import datetime - -def check_batch_status(): - """Check the current batch queue status""" - try: - response = requests.get("http://localhost:8080/batch/status") - if response.status_code == 200: - data = response.json() - print(f"[{datetime.now().isoformat()}] Batch Status:") - print(f" Pending batches: {data.get('pending_batches', [])}") - print(f" Active timers: {data.get('active_timers', [])}") - if 'batch_details' in data: - print(" Batch details:") - for key, details in data['batch_details'].items(): - print(f" {key}: {details['movie_title']} (IMDb: {details['imdb_id']})") - print() - else: - print(f"Failed to get batch status: {response.status_code}") - except Exception as e: - print(f"Error checking batch status: {e}") - -def simulate_radarr_webhook(imdb_id, title, movie_path): - """Simulate a Radarr webhook""" - webhook_payload = { - "eventType": "Download", - "movie": { - "id": 1, - "title": title, - "imdbId": imdb_id, - "path": movie_path - }, - "movieFile": { - "id": 1, - "path": f"{movie_path}/movie.mkv" - } - } - - try: - print(f"[{datetime.now().isoformat()}] Sending webhook for {title} ({imdb_id})") - response = requests.post( - "http://localhost:8080/webhook/radarr", - json=webhook_payload, - headers={"Content-Type": "application/json"} - ) - - if response.status_code == 200: - result = response.json() - print(f" โœ… Webhook accepted: {result}") - else: - print(f" โŒ Webhook failed: {response.status_code} - {response.text}") - except Exception as e: - print(f" โŒ Error sending webhook: {e}") - -def main(): - print("๐Ÿ” NFOGuard Webhook Debugging Tool") - print("=" * 50) - - # Check initial batch status - print("1. Initial batch queue status:") - check_batch_status() - - # Send test webhook for Annabelle Comes Home - print("2. Sending test webhook for Annabelle Comes Home:") - simulate_radarr_webhook( - "tt8350360", - "Annabelle Comes Home", - "/mnt/unionfs/Media/Movies/movies6/Annabelle Comes Home (2019) [tt8350360]" - ) - - # Check batch status immediately after - print("3. Batch status immediately after webhook:") - check_batch_status() - - # Wait for processing - print("4. Waiting 6 seconds for processing...") - time.sleep(6) - - # Check final batch status - print("5. Final batch status:") - check_batch_status() - - print("\n๐Ÿ” Check the NFOGuard logs to see which movie was actually processed!") - print("Expected: Annabelle Comes Home (2019) [tt8350360]") - print("If you see a different movie, there's a batching bug.") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/docker-compose.example b/docker-compose.example deleted file mode 100644 index 5f760b2..0000000 --- a/docker-compose.example +++ /dev/null @@ -1,165 +0,0 @@ -version: '3.8' - -services: - nfoguard: - # Use the official image from Docker Hub - image: sbcrumb/nfoguard:latest - - # Alternative: Use specific version - # image: sbcrumb/nfoguard:v1.5.5 - - # Alternative: Use development version - # image: sbcrumb/nfoguard:dev - - container_name: nfoguard - - # Restart policy - restart: unless-stopped - - # Environment files - env_file: - - .env - - .env.secrets - - # Environment variables - environment: - - TZ=America/New_York # Set to your local timezone - # Alternative examples: - # - TZ=Europe/London - # - TZ=America/Los_Angeles - # - TZ=Australia/Sydney - # - TZ=UTC - - # Port mapping (adjust if needed) - ports: - - "8080:8080" - - # Volume mounts - CRITICAL: These must match your media setup - volumes: - # NFOGuard data directory (database, logs, cache) - - ./data:/app/data - - # Bind mount your Emby plugins directory for automatic plugin deployment - - ${EMBY_PLUGINS_PATH}:/emby-plugins - - # Movie libraries - Mount your movie directories here - # Format: host_path:container_path:rw - - /path/to/your/movies:/media/Movies/movies:rw - - /path/to/your/movies2:/media/Movies/movies6:rw - - # TV libraries - Mount your TV show directories here - - /path/to/your/tv:/media/TV/tv:rw - - /path/to/your/tv2:/media/TV/tv6:rw - - # Optional: Mount download directories for detection - # - /path/to/downloads:/downloads:ro - - # Health check - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/health"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 40s - - # Resource limits (optional) - deploy: - resources: - limits: - memory: 512M - cpus: '0.5' - reservations: - memory: 256M - cpus: '0.25' - - # Network (optional - use if you have a custom network) - # networks: - # - media-network - - # Logging configuration - logging: - driver: "json-file" - options: - max-size: "10m" - max-file: "3" - -# Optional: Custom network for media services -# networks: -# media-network: -# external: true - -# =========================================== -# SETUP INSTRUCTIONS -# =========================================== -# 1. Copy this file to docker-compose.yml -# 2. Update volume mounts to match your actual media paths -# 3. Copy .env.template to .env and configure -# 4. Copy .env.secrets.template to .env.secrets and add credentials -# 5. Create data directory: mkdir -p ./data -# 6. Run: docker-compose up -d -# 7. Check logs: docker-compose logs -f nfoguard -# 8. Access health check: curl http://localhost:8080/health - -# =========================================== -# VOLUME MAPPING EXAMPLES -# =========================================== -# Common setups: -# -# Unraid: -# - /mnt/user/Media/Movies:/media/Movies/movies:rw -# - /mnt/user/Media/TV:/media/TV/tv:rw -# -# Synology: -# - /volume1/Media/Movies:/media/Movies/movies:rw -# - /volume1/Media/TV:/media/TV/tv:rw -# -# Standard Linux: -# - /home/user/media/movies:/media/Movies/movies:rw -# - /home/user/media/tv:/media/TV/tv:rw -# -# Windows (Docker Desktop): -# - C:\Media\Movies:/media/Movies/movies:rw -# - C:\Media\TV:/media/TV/tv:rw - -# =========================================== -# WEBHOOK CONFIGURATION -# =========================================== -# Configure these webhook URLs in your *arr applications: -# -# Radarr webhook URL: -# http://nfoguard:8080/webhook/radarr -# (or http://localhost:8080/webhook/radarr if not using Docker network) -# -# Sonarr webhook URL: -# http://nfoguard:8080/webhook/sonarr -# (or http://localhost:8080/webhook/sonarr if not using Docker network) -# -# Webhook triggers: -# - On Import -# - On Upgrade -# - On Rename (recommended) - -# =========================================== -# TROUBLESHOOTING -# =========================================== -# Common issues and solutions: -# -# 1. Permission denied errors: -# - Ensure NFOGuard container can write to mounted directories -# - Check file ownership and permissions -# - Consider using PUID/PGID environment variables -# -# 2. Path mapping issues: -# - Verify container paths match .env configuration -# - Ensure *arr applications can see the same files -# - Check RADARR_ROOT_FOLDERS and SONARR_ROOT_FOLDERS in .env -# -# 3. Database connection issues: -# - Verify PostgreSQL credentials in .env.secrets -# - Check network connectivity to database -# - Ensure database exists and user has permissions -# -# 4. Webhook not triggering: -# - Verify webhook URLs in *arr applications -# - Check NFOGuard logs for incoming requests -# - Ensure port 8080 is accessible diff --git a/docker-compose.example.yml b/docker-compose.example.yml deleted file mode 100644 index 9eac4ad..0000000 --- a/docker-compose.example.yml +++ /dev/null @@ -1,40 +0,0 @@ -version: '3.8' - -services: - nfoguard: - image: ghcr.io/jskala/nfoguard:latest - container_name: nfoguard - restart: unless-stopped - ports: - - "8080:8080" - environment: - - PUID=${PUID:-1000} - - PGID=${PGID:-1000} - - TZ=${TZ:-UTC} - volumes: - - ./data:/app/data - - ./config:/app/config - - ${MEDIA_PATH}:/media:ro - # Bind mount your Emby plugins directory for automatic plugin deployment - - ${EMBY_PLUGINS_PATH}:/emby-plugins - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/health"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 40s - - # Optional: PostgreSQL database - # postgres: - # image: postgres:15 - # container_name: nfoguard-db - # restart: unless-stopped - # environment: - # POSTGRES_DB: nfoguard - # POSTGRES_USER: ${DB_USER:-nfoguard} - # POSTGRES_PASSWORD: ${DB_PASSWORD} - # volumes: - # - postgres_data:/var/lib/postgresql/data - -# volumes: -# postgres_data: \ No newline at end of file diff --git a/docs/DOCKER_HUB_SETUP.md b/docs/DOCKER_HUB_SETUP.md deleted file mode 100644 index f2204da..0000000 --- a/docs/DOCKER_HUB_SETUP.md +++ /dev/null @@ -1,89 +0,0 @@ -# Docker Hub Integration Setup - -## Required Secrets - -Add these secrets to your Gitea repository settings: - -### 1. DOCKER_HUB_USERNAME -- Your Docker Hub username (e.g., "jskala") - -### 2. DOCKER_HUB_TOKEN -- Your Docker Hub access token (NOT your password) - -## Creating a Docker Hub Access Token - -1. Go to [Docker Hub](https://hub.docker.com/) -2. Sign in to your account -3. Click your avatar โ†’ **Account Settings** -4. Go to **Security** tab -5. Click **New Access Token** -6. Name it: `NFOGuard-CI` -7. Permissions: **Read, Write, Delete** -8. Click **Generate** -9. **Copy the token immediately** (you won't see it again) - -## Adding Secrets to Gitea - -1. Go to your NFOguard repository in Gitea -2. Click **Settings** โ†’ **Secrets** -3. Add the following secrets: - - **Name**: `DOCKER_HUB_USERNAME` - - **Value**: Your Docker Hub username - - - **Name**: `DOCKER_HUB_TOKEN` - - **Value**: The access token you generated - -## What Gets Published - -### Main Branch (Production) -- `sbcrumb/nfoguard:latest` -- `sbcrumb/nfoguard:v1.5.2` (version from VERSION file) -- `sbcrumb/nfoguard:sha-abc123` (git commit SHA) - -### Dev Branch -- `sbcrumb/nfoguard:dev` -- `sbcrumb/nfoguard:dev-sha-abc123` - -## Usage Examples - -Once set up, users can pull from either registry: - -```bash -# From your local Gitea registry (fast for you) -docker pull 192.168.253.221:3000/jskala/nfoguard:latest - -# From Docker Hub (public access) -docker pull sbcrumb/nfoguard:latest - -# Dev versions -docker pull sbcrumb/nfoguard:dev -``` - -## Testing the Setup - -After adding the secrets, push a commit to trigger the CI: - -```bash -git add . -git commit -m "Add Docker Hub CI integration" -git push origin main -``` - -Watch the Actions tab in Gitea to see both registries being pushed to successfully! - -## Benefits - -- **Local**: Ultra-fast local builds and deployment -- **Public**: Anyone can use `docker pull yourusername/nfoguard:latest` -- **Redundancy**: Multiple image sources -- **Versioning**: Proper semantic versioning across both registries - -## Quick Usage - -```bash -# Pull the latest stable release -docker pull sbcrumb/nfoguard:latest - -# Pull development version -docker pull sbcrumb/nfoguard:dev -``` \ No newline at end of file diff --git a/nfoguard.py b/nfoguard.py deleted file mode 100644 index 2b1bd82..0000000 --- a/nfoguard.py +++ /dev/null @@ -1,2218 +0,0 @@ -#!/usr/bin/env python3 -""" -NFOGuard - Automated NFO file management for Radarr and Sonarr -Modular architecture with webhook processing and intelligent date handling -""" -import os -import json -import asyncio -import glob -import re -import logging -import logging.handlers -from pathlib import Path -from datetime import datetime, timezone, timedelta -from zoneinfo import ZoneInfo -from fastapi import FastAPI, HTTPException, BackgroundTasks, Request -from pydantic import BaseModel -from typing import Optional, Dict, Any, List, Set, Tuple -import threading -from concurrent.futures import ThreadPoolExecutor -import uvicorn - -# Import our new modular components -from core.database import NFOGuardDatabase -from core.nfo_manager import NFOManager -from core.path_mapper import PathMapper -from clients.radarr_client import RadarrClient -from clients.sonarr_client import SonarrClient -from clients.external_clients import ExternalClientManager - -# --------------------------- -# Configuration & Logging -# --------------------------- - -class TimezoneAwareFormatter(logging.Formatter): - """Formatter that respects the container timezone""" - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.timezone = self._get_local_timezone() - - def _get_local_timezone(self): - """Get the local timezone, respecting TZ environment variable""" - tz_name = os.environ.get('TZ', 'UTC') - - try: - # Try zoneinfo first (Python 3.9+) - return ZoneInfo(tz_name) - except ImportError: - # Fallback for older Python versions - try: - import pytz - return pytz.timezone(tz_name) - except: - # Final fallback to UTC - return timezone.utc - except: - # If zone name is invalid, fallback to UTC - return timezone.utc - - def formatTime(self, record, datefmt=None): - dt = datetime.fromtimestamp(record.created, tz=self.timezone) - if datefmt: - return dt.strftime(datefmt) - return dt.isoformat(timespec='seconds') - -def _setup_file_logging(): - """Setup file logging for NFOGuard""" - log_dir = Path(os.environ.get("LOG_DIR", "/app/data/logs")) - log_dir.mkdir(parents=True, exist_ok=True) - - logger = logging.getLogger("NFOGuard") - logger.setLevel(logging.DEBUG) - - file_handler = logging.handlers.RotatingFileHandler( - log_dir / "nfoguard.log", maxBytes=50*1024*1024, backupCount=3 - ) - - formatter = TimezoneAwareFormatter( - '[%(asctime)s] %(levelname)s: %(message)s' - ) - file_handler.setFormatter(formatter) - logger.addHandler(file_handler) - return logger - -def _mask_sensitive_data(msg: str) -> str: - """Mask API keys and other sensitive data in log messages""" - import re - - # List of patterns to mask - sensitive_patterns = [ - (r'api_key=([a-zA-Z0-9_\-]+)', r'api_key=***masked***'), - (r'password=([^\s&]+)', r'password=***masked***'), - (r'token=([a-zA-Z0-9_\-]+)', r'token=***masked***'), - (r'key=([a-zA-Z0-9_\-]{8,})', r'key=***masked***'), # Keys longer than 8 chars - (r'([a-zA-Z0-9]{32,})', lambda m: m.group(1)[:8] + '***masked***' if len(m.group(1)) > 16 else m.group(1)) # Long strings likely to be keys - ] - - masked_msg = msg - for pattern, replacement in sensitive_patterns: - if isinstance(replacement, str): - masked_msg = re.sub(pattern, replacement, masked_msg, flags=re.IGNORECASE) - else: - masked_msg = re.sub(pattern, replacement, masked_msg, flags=re.IGNORECASE) - - return masked_msg - -def _get_local_timezone(): - """Get the local timezone, respecting TZ environment variable""" - tz_name = os.environ.get('TZ', 'UTC') - - try: - # Try zoneinfo first (Python 3.9+) - return ZoneInfo(tz_name) - except ImportError: - # Fallback for older Python versions - try: - import pytz - return pytz.timezone(tz_name) - except: - # Final fallback to UTC - return timezone.utc - except: - # If zone name is invalid, fallback to UTC - return timezone.utc - -def _log(level: str, msg: str): - """Enhanced logging that writes to both console and file with sensitive data masking""" - masked_msg = _mask_sensitive_data(msg) - tz = _get_local_timezone() - print(f"[{datetime.now(tz).isoformat(timespec='seconds')}] {level}: {masked_msg}") - - try: - file_logger = _setup_file_logging() - getattr(file_logger, level.lower(), file_logger.info)(masked_msg) - except Exception as e: - print(f"File logging error: {e}") - -def convert_utc_to_local(utc_iso_string: str) -> str: - """Convert UTC ISO timestamp to local timezone timestamp""" - if not utc_iso_string: - return utc_iso_string - - try: - # Parse UTC timestamp - if utc_iso_string.endswith('Z'): - dt_utc = datetime.fromisoformat(utc_iso_string.replace('Z', '+00:00')) - elif '+00:00' in utc_iso_string: - dt_utc = datetime.fromisoformat(utc_iso_string) - else: - # Assume UTC if no timezone info - dt_utc = datetime.fromisoformat(utc_iso_string).replace(tzinfo=timezone.utc) - - # Convert to local timezone - local_tz = _get_local_timezone() - dt_local = dt_utc.astimezone(local_tz) - - return dt_local.isoformat(timespec='seconds') - except Exception: - # If conversion fails, return original - return utc_iso_string - -# Initialize logging -_setup_file_logging() - -def _load_environment_files(): - """Load environment variables from .env and optionally .env.secrets""" - from pathlib import Path - - # Try to load from python-dotenv if available - try: - from dotenv import load_dotenv - - # Load main .env file - env_file = Path(".env") - if env_file.exists(): - load_dotenv(env_file) - _log("INFO", f"Loaded environment from {env_file}") - - # Load secrets file if it exists - secrets_file = Path(".env.secrets") - if secrets_file.exists(): - load_dotenv(secrets_file) - _log("INFO", f"Loaded secrets from {secrets_file}") - - except ImportError: - _log("WARNING", "python-dotenv not available - environment files not loaded") - -# Load environment files at startup -_load_environment_files() - -# Add debug logging near where configuration is loaded -print(f"DEBUG: Environment check - SONARR_ROOT_FOLDERS: {os.getenv('SONARR_ROOT_FOLDERS')}") -print(f"DEBUG: Environment check - TV_PATHS: {os.getenv('TV_PATHS')}") - -def _bool_env(name: str, default: bool) -> bool: - v = os.environ.get(name) - if v is None: - return default - return v.lower() in ("1", "true", "yes", "y", "on") - -# --------------------------- -# Configuration -# --------------------------- - -class NFOGuardConfig: - def __init__(self): - # Paths - No hardcoded defaults, must be configured via environment - tv_paths_env = os.environ.get("TV_PATHS", "") - movie_paths_env = os.environ.get("MOVIE_PATHS", "") - - if not tv_paths_env: - raise ValueError("TV_PATHS environment variable is required but not set") - if not movie_paths_env: - raise ValueError("MOVIE_PATHS environment variable is required but not set") - - self.tv_paths = [Path(p.strip()) for p in tv_paths_env.split(",") if p.strip()] - self.movie_paths = [Path(p.strip()) for p in movie_paths_env.split(",") if p.strip()] - - # Core settings - self.manage_nfo = _bool_env("MANAGE_NFO", True) - self.fix_dir_mtimes = _bool_env("FIX_DIR_MTIMES", True) - self.lock_metadata = _bool_env("LOCK_METADATA", True) - self.debug = _bool_env("DEBUG", False) - self.manager_brand = os.environ.get("MANAGER_BRAND", "NFOGuard") - - # Batching - self.batch_delay = float(os.environ.get("BATCH_DELAY", "5.0")) - self.max_concurrent = int(os.environ.get("MAX_CONCURRENT_SERIES", "3")) - - # Database - self.db_path = Path(os.environ.get("DB_PATH", "/app/data/media_dates.db")) - - # Movie processing - self.movie_priority = os.environ.get("MOVIE_PRIORITY", "import_then_digital").lower() - self.prefer_release_dates_over_file_dates = _bool_env("PREFER_RELEASE_DATES_OVER_FILE_DATES", True) - self.allow_file_date_fallback = _bool_env("ALLOW_FILE_DATE_FALLBACK", False) - self.release_date_priority = [p.strip() for p in os.environ.get("RELEASE_DATE_PRIORITY", "digital,physical,theatrical").split(",")] - self.enable_smart_date_validation = _bool_env("ENABLE_SMART_DATE_VALIDATION", True) - self.max_release_date_gap_years = int(os.environ.get("MAX_RELEASE_DATE_GAP_YEARS", "10")) - self.movie_poll_mode = os.environ.get("MOVIE_POLL_MODE", "always").lower() - self.movie_update_mode = os.environ.get("MOVIE_DATE_UPDATE_MODE", "backfill_only").lower() - - # TV processing - self.tv_season_dir_format = os.environ.get("TV_SEASON_DIR_FORMAT", "Season {season:02d}") - self.tv_season_dir_pattern = os.environ.get("TV_SEASON_DIR_PATTERN", "season ").lower() - self.tv_webhook_processing_mode = os.environ.get("TV_WEBHOOK_PROCESSING_MODE", "targeted").lower() - -config = NFOGuardConfig() - -# --------------------------- -# Models -# --------------------------- - -class SonarrWebhook(BaseModel): - eventType: str - series: Optional[Dict[str, Any]] = None - episodes: Optional[list] = [] - episodeFile: Optional[Dict[str, Any]] = None - isUpgrade: Optional[bool] = False - - class Config: - extra = "allow" - -class RadarrWebhook(BaseModel): - eventType: str - movie: Optional[Dict[str, Any]] = None - movieFile: Optional[Dict[str, Any]] = None - isUpgrade: Optional[bool] = False - deletedFiles: Optional[list] = [] - remoteMovie: Optional[Dict[str, Any]] = None - renamedMovieFiles: Optional[List[Dict[str, Any]]] = None - - class Config: - extra = "allow" - -class HealthResponse(BaseModel): - status: str - version: str - uptime: str - database_status: str - radarr_database: Optional[Dict[str, Any]] = None - -class TVSeasonRequest(BaseModel): - series_path: str - season_name: str - -class TVEpisodeRequest(BaseModel): - series_path: str - season_name: str - episode_name: str - -# --------------------------- -# Core Processing -# --------------------------- - -class TVProcessor: - """Handles TV series processing""" - - def __init__(self, db: NFOGuardDatabase, nfo_manager: NFOManager, path_mapper: PathMapper): - self.db = db - self.nfo_manager = nfo_manager - self.path_mapper = path_mapper - self.sonarr = SonarrClient( - os.environ.get("SONARR_URL", ""), - os.environ.get("SONARR_API_KEY", "") - ) - self.external_clients = ExternalClientManager() - - def find_series_path(self, series_title: str, imdb_id: str, sonarr_path: str = None) -> Optional[Path]: - """Find series directory path""" - # Try webhook path first - if sonarr_path: - container_path = self.path_mapper.sonarr_path_to_container_path(sonarr_path) - path_obj = Path(container_path) - if path_obj.exists(): - return path_obj - - # Search by IMDb ID or title - for media_path in config.tv_paths: - if not media_path.exists(): - continue - - # Search by IMDb ID - if imdb_id: - pattern = str(media_path / f"*[imdb-{imdb_id}]*") - matches = glob.glob(pattern) - if matches: - return Path(matches[0]) - - # Search by title - if series_title: - title_clean = series_title.lower().replace(" ", "").replace("-", "") - for item in media_path.iterdir(): - if item.is_dir() and "[imdb-" in item.name.lower(): - item_clean = item.name.lower().replace(" ", "").replace("-", "") - if title_clean in item_clean: - return item - - return None - - def process_series(self, series_path: Path) -> None: - """Process a TV series directory""" - imdb_id = self.nfo_manager.parse_imdb_from_path(series_path) - if not imdb_id: - _log("ERROR", f"No IMDb ID found in series path: {series_path}") - return - - _log("INFO", f"Processing TV series: {series_path.name}") - - # Update database - self.db.upsert_series(imdb_id, str(series_path)) - - # Find video files - disk_episodes = self._find_disk_episodes(series_path) - _log("INFO", f"Found {len(disk_episodes)} episodes on disk") - - # Get episode dates - episode_dates = self._gather_episode_dates(series_path, imdb_id, disk_episodes) - - # Process episodes - for (season, episode), (aired, dateadded, source) in episode_dates.items(): - if (season, episode) in disk_episodes: - # Create NFO - if config.manage_nfo: - season_dir = series_path / config.tv_season_dir_format.format(season=season) - self.nfo_manager.create_episode_nfo( - season_dir, - season, episode, aired, dateadded, source, config.lock_metadata - ) - - # Update file mtimes - if config.fix_dir_mtimes and dateadded: - video_files = disk_episodes[(season, episode)] - for video_file in video_files: - self.nfo_manager.set_file_mtime(video_file, dateadded) - - # Save to database - self.db.upsert_episode_date(imdb_id, season, episode, aired, dateadded, source, True) - - # Create season/tvshow NFOs - if config.manage_nfo: - seasons_processed = set() - for (season, episode) in disk_episodes.keys(): - if season not in seasons_processed: - season_dir = series_path / config.tv_season_dir_format.format(season=season) - self.nfo_manager.create_season_nfo(season_dir, season) - seasons_processed.add(season) - - # Get TVDB ID for better Emby compatibility - tvdb_id = self.external_clients.get_tvdb_series_id(imdb_id) - self.nfo_manager.create_tvshow_nfo(series_path, imdb_id, tvdb_id) - - _log("INFO", f"Completed processing TV series: {series_path.name}") - - def _find_disk_episodes(self, series_path: Path) -> Dict[Tuple[int, int], List[Path]]: - """Find all episode video files on disk""" - disk_episodes = {} - video_exts = (".mkv", ".mp4", ".avi", ".mov", ".m4v") - - for season_dir in series_path.iterdir(): - if not (season_dir.is_dir() and season_dir.name.lower().startswith(config.tv_season_dir_pattern)): - continue - - try: - # Extract season number from directory name - # Handle formats like "Season 01", "S01", "Season01", etc. - dir_name = season_dir.name.lower() - if config.tv_season_dir_pattern in dir_name: - # Extract everything after the pattern - season_part = dir_name[len(config.tv_season_dir_pattern):].strip() - else: - continue - season_num = int(season_part) - except (ValueError, IndexError): - continue - - for video_file in season_dir.iterdir(): - if video_file.is_file() and video_file.suffix.lower() in video_exts: - match = re.search(r"S(\d{2})E(\d{2})", video_file.name, re.IGNORECASE) - if match: - file_season, file_episode = int(match.group(1)), int(match.group(2)) - key = (season_num, file_episode) # Use directory season number - if key not in disk_episodes: - disk_episodes[key] = [] - disk_episodes[key].append(video_file) - - return disk_episodes - - def _gather_episode_dates(self, series_path: Path, imdb_id: str, disk_episodes: Dict) -> Dict: - """Gather episode dates from various sources""" - episode_dates = {} - - # Check cache first - cached_episodes = self.db.get_series_episodes(imdb_id, has_video_file_only=True) - for ep in cached_episodes: - key = (ep["season"], ep["episode"]) - if key in disk_episodes: # Only use cached data for episodes we have - episode_dates[key] = (ep["aired"], ep["dateadded"], ep["source"]) - - # Find missing episodes - cached_keys = set(episode_dates.keys()) - missing_keys = set(disk_episodes.keys()) - cached_keys - - if not missing_keys: - _log("INFO", "All episodes found in cache") - return episode_dates - - _log("INFO", f"Querying APIs for {len(missing_keys)} missing episodes") - - # Query Sonarr for missing episodes - if self.sonarr.enabled: - series = self.sonarr.series_by_imdb(imdb_id) - if series: - series_id = series.get("id") - if series_id: - episodes = self.sonarr.episodes_for_series(series_id) - for ep in episodes: - season_num = ep.get("seasonNumber") - episode_num = ep.get("episodeNumber") - - if not isinstance(season_num, int) or not isinstance(episode_num, int): - continue - - key = (season_num, episode_num) - if key not in missing_keys: - continue - - # Get dates - aired = self._parse_date_to_iso(ep.get("airDateUtc")) - dateadded = None - source = "sonarr:episode.airDateUtc" - - # Try to get import history - episode_id = ep.get("id") - if episode_id: - import_date = self.sonarr.get_episode_import_history(episode_id) - if import_date: - dateadded = self._parse_date_to_iso(import_date) - source = "sonarr:history.import" - - if not dateadded: - dateadded = aired - - if aired or dateadded: - episode_dates[key] = (aired, dateadded, source) - - # Fill remaining gaps with external APIs - remaining_keys = missing_keys - set(episode_dates.keys()) - if remaining_keys and self.external_clients.tmdb.enabled: - tmdb_movie = self.external_clients.tmdb.find_by_imdb(imdb_id) - if tmdb_movie: - tv_id = tmdb_movie.get("id") - if tv_id: - seasons_needed = set(season for season, episode in remaining_keys) - for season_num in seasons_needed: - tmdb_episodes = self.external_clients.tmdb.get_tv_season_episodes(tv_id, season_num) - for ep_num, air_date in tmdb_episodes.items(): - key = (season_num, ep_num) - if key in remaining_keys: - aired = self._parse_date_to_iso(air_date) - episode_dates[key] = (aired, aired, "tmdb:air_date") - - return episode_dates - - def _parse_date_to_iso(self, date_str: str) -> Optional[str]: - """Parse date string to ISO format""" - if not date_str: - return None - try: - if len(date_str) == 10 and date_str[4] == "-": - dt = datetime.fromisoformat(date_str).replace(tzinfo=timezone.utc) - else: - dt = datetime.fromisoformat(date_str.replace("Z", "+00:00")).astimezone(timezone.utc) - return dt.isoformat(timespec="seconds") - except Exception: - return None - - def process_season(self, series_path: Path, season_path: Path) -> None: - """Process a specific TV season directory""" - imdb_id = self.nfo_manager.parse_imdb_from_path(series_path) - if not imdb_id: - _log("ERROR", f"No IMDb ID found in series path: {series_path}") - return - - # Extract season number from path - season_match = re.search(r'season\s*(\d+)', season_path.name, re.IGNORECASE) - if not season_match: - _log("ERROR", f"Could not extract season number from: {season_path.name}") - return - - season_num = int(season_match.group(1)) - _log("INFO", f"Processing TV season {season_num}: {season_path}") - - # Update database - self.db.upsert_series(imdb_id, str(series_path)) - - # Find video files in this season only - disk_episodes = self._find_season_episodes(season_path, season_num) - _log("INFO", f"Found {len(disk_episodes)} episodes in season {season_num}") - - # Get enhanced metadata from Sonarr - series_metadata = self._get_sonarr_series_metadata(imdb_id) - - # Get episode dates for this season - episode_dates = self._gather_season_episode_dates(series_path, imdb_id, season_num, disk_episodes, series_metadata) - - # Process episodes - for (season, episode), (aired, dateadded, source) in episode_dates.items(): - if (season, episode) in disk_episodes: - # Get enhanced episode metadata - enhanced_metadata = self._get_episode_metadata(series_metadata, season, episode) if series_metadata else None - - # Create NFO - if config.manage_nfo: - self.nfo_manager.create_episode_nfo( - season_path, - season, episode, aired, dateadded, source, config.lock_metadata, - enhanced_metadata - ) - - # Update file mtimes - if config.fix_dir_mtimes and dateadded: - video_files = disk_episodes[(season, episode)] - for video_file in video_files: - self.nfo_manager.set_file_mtime(video_file, dateadded) - - # Save to database - self.db.upsert_episode_date(imdb_id, season, episode, aired, dateadded, source, True) - - # Create season NFO - if config.manage_nfo: - self.nfo_manager.create_season_nfo(season_path, season_num) - # Get TVDB ID for better Emby compatibility - tvdb_id = self.external_clients.get_tvdb_series_id(imdb_id) - self.nfo_manager.create_tvshow_nfo(series_path, imdb_id, tvdb_id) - - _log("INFO", f"Completed processing season {season_num}") - - def process_episode_file(self, series_path: Path, season_path: Path, episode_file: Path) -> None: - """Process a single TV episode file""" - imdb_id = self.nfo_manager.parse_imdb_from_path(series_path) - if not imdb_id: - _log("ERROR", f"No IMDb ID found in series path: {series_path}") - return - - # Parse episode info from filename - episode_info = self._parse_episode_from_filename(episode_file.name) - if not episode_info: - _log("ERROR", f"Could not parse episode info from: {episode_file.name}") - return - - season_num, episode_num = episode_info - _log("INFO", f"Processing single episode S{season_num:02d}E{episode_num:02d}: {episode_file.name}") - - # Update database - self.db.upsert_series(imdb_id, str(series_path)) - - # Get enhanced metadata from Sonarr - series_metadata = self._get_sonarr_series_metadata(imdb_id) - enhanced_metadata = self._get_episode_metadata(series_metadata, season_num, episode_num) if series_metadata else None - - # Get episode date - aired, dateadded, source = self._get_single_episode_date(imdb_id, season_num, episode_num, series_metadata) - - # Create NFO - if config.manage_nfo and dateadded: - self.nfo_manager.create_episode_nfo( - season_path, - season_num, episode_num, aired, dateadded, source, config.lock_metadata, - enhanced_metadata - ) - - # Update file mtime - if config.fix_dir_mtimes and dateadded: - self.nfo_manager.set_file_mtime(episode_file, dateadded) - - # Save to database - self.db.upsert_episode_date(imdb_id, season_num, episode_num, aired, dateadded, source, True) - - _log("INFO", f"Completed processing episode S{season_num:02d}E{episode_num:02d}") - - def _find_season_episodes(self, season_path: Path, season_num: int) -> Dict[Tuple[int, int], List[Path]]: - """Find all episode video files in a single season""" - disk_episodes = {} - video_exts = (".mkv", ".mp4", ".avi", ".mov", ".m4v", ".ts", ".m2ts") - - for file_path in season_path.iterdir(): - if not file_path.is_file() or file_path.suffix.lower() not in video_exts: - continue - - episode_info = self._parse_episode_from_filename(file_path.name) - if episode_info and episode_info[0] == season_num: - season, episode = episode_info - key = (season, episode) - if key not in disk_episodes: - disk_episodes[key] = [] - disk_episodes[key].append(file_path) - - return disk_episodes - - def _parse_episode_from_filename(self, filename: str) -> Optional[Tuple[int, int]]: - """Parse season and episode numbers from filename""" - # Try SxxExx format - match = re.search(r'S(\d{1,2})E(\d{1,2})', filename, re.IGNORECASE) - if match: - return int(match.group(1)), int(match.group(2)) - - # Try season.episode format - match = re.search(r'(\d{1,2})\.(\d{1,2})', filename) - if match: - return int(match.group(1)), int(match.group(2)) - - return None - - def _get_sonarr_series_metadata(self, imdb_id: str) -> Optional[Dict[str, Any]]: - """Get enhanced series metadata from Sonarr API""" - try: - if not self.sonarr.enabled: - return None - - series = self.sonarr.series_by_imdb(imdb_id) - if not series: - _log("DEBUG", f"No Sonarr series found for IMDb {imdb_id}") - return None - - # Get episodes for the series - series_id = series.get("id") - if series_id: - episodes = self.sonarr.episodes_for_series(series_id) - series["episodes"] = episodes - _log("DEBUG", f"Got {len(episodes)} episodes from Sonarr for series {series.get('title')}") - - return series - - except Exception as e: - _log("ERROR", f"Error getting Sonarr metadata for {imdb_id}: {e}") - return None - - def _get_episode_metadata(self, series_metadata: Dict[str, Any], season_num: int, episode_num: int) -> Optional[Dict[str, Any]]: - """Extract specific episode metadata from series data""" - if not series_metadata or "episodes" not in series_metadata: - return None - - for episode in series_metadata["episodes"]: - if episode.get("seasonNumber") == season_num and episode.get("episodeNumber") == episode_num: - return { - "title": episode.get("title"), - "overview": episode.get("overview"), - "runtime": episode.get("runtime"), - "ratings": episode.get("ratings", {}) - } - - return None - - def _gather_season_episode_dates(self, series_path: Path, imdb_id: str, season_num: int, disk_episodes: Dict[Tuple[int, int], List[Path]], series_metadata: Optional[Dict[str, Any]] = None) -> Dict[Tuple[int, int], Tuple[Optional[str], Optional[str], str]]: - """Get episode dates for a specific season""" - episode_dates = {} - - for (season, episode) in disk_episodes.keys(): - if season != season_num: - continue - - aired, dateadded, source = self._get_single_episode_date(imdb_id, season, episode, series_metadata) - episode_dates[(season, episode)] = (aired, dateadded, source) - - return episode_dates - - def _get_single_episode_date(self, imdb_id: str, season_num: int, episode_num: int, series_metadata: Optional[Dict[str, Any]] = None) -> Tuple[Optional[str], Optional[str], str]: - """ - Get date info for a single episode during backfill scans. - Priority: 1) Database 2) Sonarr import history 3) Air dates - """ - # Step 1: Try database first - existing = self.db.get_episode_date(imdb_id, season_num, episode_num) - if existing and existing.get("dateadded"): - _log("DEBUG", f"Using existing database entry for S{season_num:02d}E{episode_num:02d}") - return existing.get("aired"), existing["dateadded"], existing.get("source", "database:existing") - - # Step 2: Try Sonarr import history (the real import date) - aired = None - import_date = None - - if self.sonarr.enabled: - try: - series = self.sonarr.series_by_imdb(imdb_id) - if series: - episodes = self.sonarr.episodes_for_series(series["id"]) - for ep in episodes: - if ep.get("seasonNumber") == season_num and ep.get("episodeNumber") == episode_num: - aired = ep.get("airDateUtc") - import_date = self.sonarr.get_episode_import_history(ep["id"]) - if import_date: - # Convert import date to local timezone for NFO files - local_import_date = convert_utc_to_local(import_date) - _log("INFO", f"Found Sonarr import history for S{season_num:02d}E{episode_num:02d}: {local_import_date}") - return aired, local_import_date, "sonarr:history.import" - break - except Exception as e: - _log("DEBUG", f"Sonarr API error for episode S{season_num:02d}E{episode_num:02d}: {e}") - - # Step 3: Try Sonarr metadata for air date - if not aired and series_metadata and "episodes" in series_metadata: - for episode in series_metadata["episodes"]: - if episode.get("seasonNumber") == season_num and episode.get("episodeNumber") == episode_num: - aired = episode.get("airDateUtc") - break - - # Step 4: Only if we have an air date but no import history, use air date as fallback - if aired: - _log("WARNING", f"No import history found for S{season_num:02d}E{episode_num:02d}, using air date as fallback") - return aired, aired, "sonarr:episode.airDateUtc" - - # Step 5: Last resort - current time in local timezone (shouldn't happen in normal operation) - local_tz = _get_local_timezone() - current_time = datetime.now(local_tz).isoformat(timespec="seconds") - _log("WARNING", f"No data found for S{season_num:02d}E{episode_num:02d}, using current time") - return None, current_time, "fallback:current_time" - - def process_webhook_episodes(self, series_path: Path, webhook_episodes: List[Dict[str, Any]]) -> None: - """Process only the specific episodes mentioned in a webhook (targeted mode)""" - imdb_id = self.nfo_manager.parse_imdb_from_path(series_path) - if not imdb_id: - _log("ERROR", f"No IMDb ID found in series path: {series_path}") - return - - if not webhook_episodes: - _log("WARNING", f"No episodes in webhook, falling back to series processing: {series_path}") - self.process_series(series_path) - return - - _log("INFO", f"Processing {len(webhook_episodes)} webhook episodes for: {series_path.name} (IMDb: {imdb_id})") - - # Update database - self.db.upsert_series(imdb_id, str(series_path)) - - # Get enhanced metadata from Sonarr - series_metadata = self._get_sonarr_series_metadata(imdb_id) - - episodes_processed = 0 - for webhook_episode in webhook_episodes: - season_num = webhook_episode.get("seasonNumber") - episode_num = webhook_episode.get("episodeNumber") - - if not season_num or not episode_num: - _log("WARNING", f"Invalid episode data in webhook: {webhook_episode}") - continue - - # Check if episode file exists on disk - season_dir = series_path / config.tv_season_dir_format.format(season=season_num) - if not season_dir.exists(): - _log("WARNING", f"Season directory not found: {season_dir}") - continue - - # Find matching episode files - episode_files = [] - for file_path in season_dir.iterdir(): - if file_path.is_file() and file_path.suffix.lower() in ('.mkv', '.mp4', '.avi', '.mov', '.m4v'): - parsed = self._parse_episode_from_filename(file_path.name) - if parsed and parsed == (season_num, episode_num): - episode_files.append(file_path) - - if not episode_files: - _log("WARNING", f"No video files found for S{season_num:02d}E{episode_num:02d}") - continue - - # Get episode date information - webhook processing prioritizes existing DB entries - _log("DEBUG", f"Processing webhook episode: IMDb={imdb_id}, S{season_num:02d}E{episode_num:02d}") - aired, dateadded, source = self._get_webhook_episode_date(imdb_id, season_num, episode_num, series_metadata) - enhanced_metadata = self._get_episode_metadata(series_metadata, season_num, episode_num) if series_metadata else None - - # Create NFO - if config.manage_nfo: - self.nfo_manager.create_episode_nfo( - season_dir, - season_num, episode_num, aired, dateadded, source, config.lock_metadata, - enhanced_metadata - ) - - # Update file mtimes - if config.fix_dir_mtimes and dateadded: - for episode_file in episode_files: - self.nfo_manager.set_file_mtime(episode_file, dateadded) - - # Save to database - self.db.upsert_episode_date(imdb_id, season_num, episode_num, aired, dateadded, source, True) - - # Verify database entry was saved (debug) - verification = self.db.get_episode_date(imdb_id, season_num, episode_num) - if verification: - _log("DEBUG", f"Verified database entry saved: S{season_num:02d}E{episode_num:02d} -> {verification['dateadded']}") - else: - _log("ERROR", f"Failed to save episode to database: S{season_num:02d}E{episode_num:02d}") - - episodes_processed += 1 - - # Create season/tvshow NFOs if any episodes were processed - if episodes_processed > 0 and config.manage_nfo: - seasons_processed = set() - for webhook_episode in webhook_episodes: - season_num = webhook_episode.get("seasonNumber") - if season_num and season_num not in seasons_processed: - season_dir = series_path / config.tv_season_dir_format.format(season=season_num) - if season_dir.exists(): - self.nfo_manager.create_season_nfo(season_dir, season_num) - seasons_processed.add(season_num) - - # Get TVDB ID for better Emby compatibility - tvdb_id = self.external_clients.get_tvdb_series_id(imdb_id) - self.nfo_manager.create_tvshow_nfo(series_path, imdb_id, tvdb_id) - - _log("INFO", f"Completed targeted processing: {episodes_processed}/{len(webhook_episodes)} episodes processed") - - def _get_webhook_episode_date(self, imdb_id: str, season_num: int, episode_num: int, series_metadata: Optional[Dict[str, Any]] = None) -> Tuple[Optional[str], Optional[str], str]: - """ - Get episode date for webhook processing with correct priority: - 1. Check existing NFOGuard database entry (preserve previous import dates) - 2. If not found, use current time (webhook = new download) - 3. Get aired date from Sonarr/TMDB for reference - """ - # Step 1: Check if we already have this episode in our database - _log("DEBUG", f"Checking database for existing episode: IMDb={imdb_id}, S{season_num:02d}E{episode_num:02d}") - existing = self.db.get_episode_date(imdb_id, season_num, episode_num) - if existing: - _log("DEBUG", f"Found database entry: {existing}") - if existing.get("dateadded"): - _log("INFO", f"Using existing database entry for S{season_num:02d}E{episode_num:02d}: {existing['dateadded']} (source: {existing.get('source', 'unknown')})") - return existing.get("aired"), existing["dateadded"], existing.get("source", "database:existing") - else: - _log("DEBUG", f"Database entry found but no dateadded value: {existing}") - else: - _log("DEBUG", f"No database entry found for IMDb={imdb_id}, S{season_num:02d}E{episode_num:02d}") - - # Step 2: Webhook = Source of Truth - use current timestamp in local timezone - local_tz = _get_local_timezone() - current_time = datetime.now(local_tz).isoformat(timespec="seconds") - _log("INFO", f"Webhook episode processing - using current timestamp as source of truth: {current_time}") - - # Step 3: Get aired date for reference (but don't use for dateadded) - aired = None - - # Try Sonarr metadata first for air date - if series_metadata and "episodes" in series_metadata: - for episode in series_metadata["episodes"]: - if episode.get("seasonNumber") == season_num and episode.get("episodeNumber") == episode_num: - aired = episode.get("airDateUtc") - if aired: - break - - # Fallback to Sonarr API for air date if not in metadata - if not aired and self.sonarr.enabled: - try: - series = self.sonarr.series_by_imdb(imdb_id) - if series: - episodes = self.sonarr.episodes_for_series(series["id"]) - for ep in episodes: - if ep.get("seasonNumber") == season_num and ep.get("episodeNumber") == episode_num: - aired = ep.get("airDateUtc") - break - except Exception as e: - _log("DEBUG", f"Error getting air date from Sonarr: {e}") - - return aired, current_time, "webhook:first_seen" - - -class MovieProcessor: - """Handles movie processing""" - - def __init__(self, db: NFOGuardDatabase, nfo_manager: NFOManager, path_mapper: PathMapper): - self.db = db - self.nfo_manager = nfo_manager - self.path_mapper = path_mapper - self.radarr = RadarrClient( - os.environ.get("RADARR_URL", ""), - os.environ.get("RADARR_API_KEY", "") - ) - self.external_clients = ExternalClientManager() - - def find_movie_path(self, movie_title: str, imdb_id: str, radarr_path: str = None) -> Optional[Path]: - """Find movie directory path""" - # Try webhook path first - if radarr_path: - container_path = self.path_mapper.radarr_path_to_container_path(radarr_path) - path_obj = Path(container_path) - if path_obj.exists(): - return path_obj - - # Search by IMDb ID or title - for media_path in config.movie_paths: - if not media_path.exists(): - continue - - # Search by IMDb ID - if imdb_id: - pattern = str(media_path / f"*[imdb-{imdb_id}]*") - matches = glob.glob(pattern) - if matches: - return Path(matches[0]) - - # Search by title - if movie_title: - title_clean = movie_title.lower().replace(" ", "").replace("-", "") - for item in media_path.iterdir(): - if item.is_dir() and "[imdb-" in item.name.lower(): - item_clean = item.name.lower().replace(" ", "").replace("-", "") - if title_clean in item_clean: - return item - - return None - - def process_movie(self, movie_path: Path, webhook_mode: bool = False) -> None: - """Process a movie directory""" - imdb_id = self.nfo_manager.find_movie_imdb_id(movie_path) - if not imdb_id: - _log("ERROR", f"No IMDb ID found in movie directory, filenames, or NFO file: {movie_path}") - return - - _log("INFO", f"Processing movie: {movie_path.name} (IMDb: {imdb_id})") - - # Update database - self.db.upsert_movie(imdb_id, str(movie_path)) - - # Check for video files - video_exts = (".mkv", ".mp4", ".avi", ".mov", ".m4v") - has_video = any(f.is_file() and f.suffix.lower() in video_exts for f in movie_path.iterdir()) - - if not has_video: - _log("WARNING", f"No video files found in: {movie_path}") - self.db.upsert_movie_dates(imdb_id, None, None, None, False) - return - - # Get existing dates - existing = self.db.get_movie_dates(imdb_id) - _log("DEBUG", f"Database lookup for {imdb_id}: {existing}") - - # Handle webhook mode - prioritize database, then use proper date logic - if webhook_mode: - _log("DEBUG", f"Webhook mode: existing={bool(existing)}, has_dateadded={bool(existing and existing.get('dateadded')) if existing else 'N/A'}") - if existing and existing.get("dateadded"): - _log("INFO", f"Webhook processing - using existing database entry: {existing['dateadded']} (source: {existing.get('source', 'unknown')})") - dateadded, source, released = existing["dateadded"], existing["source"], existing.get("released") - else: - if existing: - _log("INFO", f"Webhook processing - database entry exists but no dateadded field: {existing}") - else: - _log("INFO", f"Webhook processing - no database entry found for {imdb_id}") - _log("INFO", f"Using full date decision logic") - # Use same logic as manual scan to check Radarr import dates, release dates, etc. - should_query = True # Always query for webhooks when no database entry exists - dateadded, source, released = self._decide_movie_dates(imdb_id, movie_path, should_query, existing) - - # Only if ALL date sources fail, fall back to current timestamp - if dateadded is None: - local_tz = _get_local_timezone() - current_time = datetime.now(local_tz).isoformat(timespec="seconds") - _log("INFO", f"Webhook processing - all date sources failed, using current timestamp as last resort: {current_time}") - dateadded, source = current_time, "webhook:fallback_timestamp" - else: - # Manual scan mode - determine if we should query APIs - should_query = ( - config.movie_poll_mode == "always" or - (config.movie_poll_mode == "if_missing" and not existing) or - (config.movie_poll_mode == "if_missing" and existing and existing.get("source") == "file:mtime") - ) - - # Use existing movie date decision logic - dateadded, source, released = self._decide_movie_dates(imdb_id, movie_path, should_query, existing) - - # Create NFO regardless of date availability (preserves existing metadata) - if config.manage_nfo: - self.nfo_manager.create_movie_nfo( - movie_path, imdb_id, dateadded, released, source, config.lock_metadata - ) - - # Skip remaining processing if no valid date found and file dates disabled - if dateadded is None: - _log("WARNING", f"Movie {movie_path.name} - no valid date source available, but NFO was still processed") - self.db.upsert_movie_dates(imdb_id, released, None, source, True) - return - - _log("DEBUG", f"Movie {movie_path.name} proceeding to save: dateadded={dateadded}, source={source}") - - # Update file mtimes (only if we have a valid date) - if config.fix_dir_mtimes and dateadded and dateadded != "MANUAL_REVIEW_NEEDED": - self.nfo_manager.update_movie_files_mtime(movie_path, dateadded) - - _log("DEBUG", f"Movie processing reached file mtime section: fix_dir_mtimes={config.fix_dir_mtimes}, dateadded={dateadded}") - - # Save to database - _log("DEBUG", f"About to save to database: imdb_id={imdb_id}, dateadded={dateadded}") - try: - self.db.upsert_movie_dates(imdb_id, released, dateadded, source, True) - _log("DEBUG", f"Database save completed for {imdb_id}") - except Exception as e: - _log("ERROR", f"Database save failed for {imdb_id}: {e}") - raise - - _log("INFO", f"Completed processing movie: {movie_path.name} (source: {source})") - - def _decide_movie_dates(self, imdb_id: str, movie_path: Path, should_query: bool, existing: Optional[Dict]) -> Tuple[str, str, Optional[str]]: - """Decide movie dates based on configuration and available data""" - if not should_query and existing: - return existing["dateadded"], existing["source"], existing.get("released") - - # Query Radarr for movie info - radarr_movie = None - if should_query and self.radarr.api_key: - radarr_movie = self.radarr.movie_by_imdb(imdb_id) - - released = None - if radarr_movie: - released = self._parse_date_to_iso(radarr_movie.get("inCinemas")) - - # Try import history first if configured - if config.movie_priority == "import_then_digital": - import_date, import_source = None, None - if radarr_movie: - movie_id = radarr_movie.get("id") - if movie_id: - import_date, import_source = self.radarr.get_movie_import_date(movie_id, fallback_to_file_date=config.allow_file_date_fallback) - _log("INFO", f"Movie {imdb_id}: Radarr import result: date={import_date}, source={import_source}") - - # Check for special case: rename-first scenario (should prefer release dates) - if import_source == "radarr:db.prefer_release_dates": - _log("INFO", f"๐ŸŽฏ Movie {imdb_id} has rename-first history - skipping import, preferring release dates") - # Fall through to release date logic below - # Check if we got a real import date or just file date fallback - elif import_date and import_source != "radarr:db.file.dateAdded": - # Convert import date to local timezone for NFO files - local_import_date = convert_utc_to_local(import_date) - _log("INFO", f"โœ… Movie {imdb_id}: Using import date {local_import_date} from {import_source}") - return local_import_date, import_source, released - - # Get digital release date for comparison/fallback - _log("INFO", f"๐Ÿ” Movie {imdb_id}: Trying digital release date fallback...") - digital_date, digital_source = self._get_digital_release_date(imdb_id) - _log("INFO", f"Movie {imdb_id}: Digital release result: date={digital_date}, source={digital_source}") - - # If we only have file date and release date exists, prefer it if reasonable and enabled - if import_date and import_source == "radarr:db.file.dateAdded" and digital_date and config.prefer_release_dates_over_file_dates: - # Compare dates - prefer release date if it's reasonable - if self._should_prefer_release_over_file_date(digital_date, digital_source, released, imdb_id): - _log("INFO", f"โœ… Movie {imdb_id}: Preferring digital release date {digital_date} over file date") - return digital_date, digital_source, released - else: - # Convert file date to local timezone for NFO files - local_file_date = convert_utc_to_local(import_date) - _log("INFO", f"โœ… Movie {imdb_id}: Keeping file date {local_file_date} - digital date not reasonable") - return local_file_date, import_source, released - - # Use whichever we have - if import_date: - # Convert import date to local timezone for NFO files - local_import_date = convert_utc_to_local(import_date) - _log("INFO", f"โœ… Movie {imdb_id}: Using import date {local_import_date} from {import_source}") - return local_import_date, import_source, released - elif digital_date: - _log("INFO", f"โœ… Movie {imdb_id}: Using digital release date {digital_date} from {digital_source}") - return digital_date, digital_source, released - else: - _log("WARNING", f"โš ๏ธ Movie {imdb_id}: No import date OR digital release date found - trying additional fallbacks") - - # Try Radarr's own NFO premiered date as fallback - radarr_premiered = self._get_radarr_nfo_premiered_date(movie_path) - if radarr_premiered: - _log("INFO", f"โœ… Movie {imdb_id}: Using Radarr NFO premiered date {radarr_premiered}") - return radarr_premiered, "radarr:nfo.premiered", released - - else: # digital_then_import - # Try digital release first - digital_date, digital_source = self._get_digital_release_date(imdb_id) - if digital_date: - return digital_date, digital_source, released - - # Fall back to import history - if radarr_movie: - movie_id = radarr_movie.get("id") - if movie_id: - import_date, import_source = self.radarr.get_movie_import_date(movie_id, fallback_to_file_date=config.allow_file_date_fallback) - if import_date: - # Convert import date to local timezone for NFO files - local_import_date = convert_utc_to_local(import_date) - return local_import_date, import_source, released - - # Last resort: file mtime (if allowed) - if config.allow_file_date_fallback: - return self._get_file_mtime_date(movie_path) - else: - _log("INFO", f"No valid dates found for {imdb_id} and file date fallback disabled - skipping NFO creation") - return None, "no_valid_date_source", None - - def _get_digital_release_date(self, imdb_id: str) -> Tuple[Optional[str], str]: - """Get release date from external sources using configured priority""" - _log("INFO", f"๐Ÿ” Calling external clients for {imdb_id}") - _log("INFO", f"Release date priority: {config.release_date_priority}") - _log("INFO", f"Smart validation enabled: {config.enable_smart_date_validation}") - - try: - release_result = self.external_clients.get_release_date_by_priority( - imdb_id, - config.release_date_priority, - enable_smart_validation=config.enable_smart_date_validation - ) - _log("INFO", f"External clients result for {imdb_id}: {release_result}") - - if release_result: - _log("INFO", f"โœ… Got release date: {release_result[0]} from {release_result[1]}") - return release_result[0], release_result[1] - else: - _log("WARNING", f"โŒ No release date found from external clients for {imdb_id}") - return None, "release:none" - except Exception as e: - _log("ERROR", f"External clients error for {imdb_id}: {e}") - return None, f"release:error:{str(e)}" - - def _get_radarr_nfo_premiered_date(self, movie_path: Path) -> Optional[str]: - """Extract premiered date from Radarr's existing movie.nfo file""" - try: - nfo_path = movie_path / "movie.nfo" - if not nfo_path.exists(): - _log("DEBUG", f"No existing NFO file found at {nfo_path}") - return None - - nfo_content = nfo_path.read_text(encoding='utf-8') - - # Look for <premiered>YYYY-MM-DD</premiered> - import re - match = re.search(r'<premiered>(\d{4}-\d{2}-\d{2})</premiered>', nfo_content) - if match: - premiered_date = match.group(1) - # Convert to ISO format with timezone - iso_date = f"{premiered_date}T00:00:00+00:00" - _log("INFO", f"โœ… Found Radarr NFO premiered date: {premiered_date}") - return iso_date - else: - _log("DEBUG", f"No <premiered> tag found in existing NFO") - return None - - except Exception as e: - _log("ERROR", f"Error reading Radarr NFO file: {e}") - return None - - def _get_file_mtime_date(self, movie_path: Path) -> Tuple[str, str, Optional[str]]: - """Get date from file modification time as last resort""" - video_exts = (".mkv", ".mp4", ".avi", ".mov", ".m4v") - newest_mtime = None - - for file_path in movie_path.iterdir(): - if file_path.is_file() and file_path.suffix.lower() in video_exts: - try: - mtime = file_path.stat().st_mtime - if newest_mtime is None or mtime > newest_mtime: - newest_mtime = mtime - except Exception: - continue - - if newest_mtime: - try: - # Use local timezone for file modification times - local_tz = _get_local_timezone() - iso_date = datetime.fromtimestamp(newest_mtime, tz=local_tz).isoformat(timespec="seconds") - return iso_date, "file:mtime", None - except Exception: - pass - - return "MANUAL_REVIEW_NEEDED", "manual_review_required", None - - def _should_prefer_release_over_file_date(self, release_date: str, release_source: str, theatrical_release: Optional[str], imdb_id: str) -> bool: - """ - Decide if release date should be preferred over file date - - Logic: - - For theatrical dates: Always prefer over file dates (they're authoritative) - - For physical dates: Usually prefer over file dates - - For digital dates: Prefer if reasonable (not decades before theatrical) - """ - try: - release_dt = datetime.fromisoformat(release_date.replace("Z", "+00:00")) - - # Always prefer theatrical and physical releases over file dates - if any(release_type in release_source for release_type in ["theatrical", "physical"]): - _log("INFO", f"Release date {release_date} ({release_source}) for {imdb_id}, preferring over file date") - return True - - # If we have theatrical release date, compare digital against it - if theatrical_release: - theatrical_dt = datetime.fromisoformat(theatrical_release.replace("Z", "+00:00")) - year_diff = release_dt.year - theatrical_dt.year - - # If digital is more than 10 years before theatrical, it's probably wrong - if year_diff < -10: - _log("INFO", f"Release date {release_date} is {abs(year_diff)} years before theatrical {theatrical_release} for {imdb_id}, using file date instead") - return False - - # If digital is within reasonable range (theatrical to +20 years), use it - if -2 <= year_diff <= 20: - _log("INFO", f"Release date {release_date} is reasonable for {imdb_id} (theatrical: {theatrical_release}), preferring over file date") - return True - - # If no theatrical date, use digital if it's not absurdly old - if release_dt.year >= 1990: # Reasonable minimum for digital releases - _log("INFO", f"Release date {release_date} seems reasonable for {imdb_id}, preferring over file date") - return True - - _log("INFO", f"Release date {release_date} seems too old for {imdb_id}, using file date instead") - return False - - except Exception as e: - _log("WARNING", f"Error comparing dates for {imdb_id}: {e}") - return False - - def _parse_date_to_iso(self, date_str: str) -> Optional[str]: - """Parse date string to ISO format""" - if not date_str: - return None - try: - if len(date_str) == 10 and date_str[4] == "-": - dt = datetime.fromisoformat(date_str).replace(tzinfo=timezone.utc) - else: - dt = datetime.fromisoformat(date_str.replace("Z", "+00:00")).astimezone(timezone.utc) - return dt.isoformat(timespec="seconds") - except Exception: - return None - - -# --------------------------- -# Batching System -# --------------------------- - -class WebhookBatcher: - """Batches webhook events to avoid processing storms""" - - def __init__(self): - self.pending: Dict[str, Dict] = {} - self.timers: Dict[str, threading.Timer] = {} - self.processing: Set[str] = set() - self.lock = threading.Lock() - self.executor = ThreadPoolExecutor(max_workers=config.max_concurrent) - - def add_webhook(self, key: str, webhook_data: Dict, media_type: str): - """Add webhook to batch queue""" - with self.lock: - if key in self.timers: - self.timers[key].cancel() - - webhook_data['media_type'] = media_type - self.pending[key] = webhook_data - _log("INFO", f"Batched {media_type} webhook for {key}") - _log("DEBUG", f"Batch added - key: {key}, media_type: {media_type}, timer scheduled for {config.batch_delay}s") - - timer = threading.Timer(config.batch_delay, self._process_item, args=[key]) - self.timers[key] = timer - timer.start() - - def _process_item(self, key: str): - """Process a batched item""" - with self.lock: - if key in self.processing or key not in self.pending: - return - self.processing.add(key) - webhook_data = self.pending.pop(key) - self.timers.pop(key, None) - - try: - self.executor.submit(self._process_sync, key, webhook_data) - except Exception as e: - _log("ERROR", f"Error submitting processing for {key}: {e}") - with self.lock: - self.processing.discard(key) - - def _process_sync(self, key: str, webhook_data: Dict): - """Synchronous processing of webhook data with validation""" - try: - media_type = webhook_data.get('media_type') - path_str = webhook_data.get('path') - - _log("DEBUG", f"Processing batch item: key={key}, media_type={media_type}, path={path_str}") - - if not path_str: - _log("ERROR", f"No path found for {media_type} {key}") - return - - path_obj = Path(path_str) - if not path_obj.exists(): - _log("ERROR", f"BATCH PROCESSING FAILED: Path does not exist: {path_obj}") - _log("ERROR", f"This indicates a path mapping issue - webhook rejected to prevent wrong processing") - return - - # CRITICAL: Validate that the path contains the expected IMDb ID for movies - if media_type == 'movie': - expected_imdb = key.replace('movie:', '') if key.startswith('movie:') else key - if expected_imdb not in path_str.lower(): - _log("ERROR", f"BATCH VALIDATION FAILED: Expected IMDb {expected_imdb} not found in path {path_str}") - _log("ERROR", f"This prevents processing wrong movies due to batch corruption") - return - _log("DEBUG", f"Batch validation passed: IMDb {expected_imdb} found in path") - - # Process based on media type - if media_type == 'tv': - # Check processing mode for TV webhooks - processing_mode = webhook_data.get('processing_mode', config.tv_webhook_processing_mode) - episodes_data = webhook_data.get('episodes', []) - - if processing_mode == 'targeted' and episodes_data: - _log("INFO", f"Using targeted episode processing for {len(episodes_data)} episodes") - tv_processor.process_webhook_episodes(path_obj, episodes_data) - else: - _log("INFO", f"Using series processing mode (fallback or configured)") - tv_processor.process_series(path_obj) - elif media_type == 'movie': - movie_processor.process_movie(path_obj, webhook_mode=True) - else: - _log("ERROR", f"Unknown media type: {media_type}") - - except Exception as e: - _log("ERROR", f"Error processing {media_type} {key}: {e}") - finally: - with self.lock: - self.processing.discard(key) - - def get_status(self) -> Dict: - """Get batch queue status""" - with self.lock: - return { - "pending_items": list(self.pending.keys()), - "processing_items": list(self.processing), - "pending_count": len(self.pending), - "processing_count": len(self.processing) - } - - -# --------------------------- -# FastAPI Application -# --------------------------- - -# Get version -try: - version = (Path(__file__).parent / "VERSION").read_text().strip() -except: - version = "0.1.0" - -# Check if running from dev branch (detect at runtime) -try: - # Try to read git branch from .git/HEAD - git_head_path = Path(__file__).parent / ".git" / "HEAD" - if git_head_path.exists(): - head_content = git_head_path.read_text().strip() - if "ref: refs/heads/dev" in head_content: - version = f"{version}-dev" - elif head_content.startswith("ref: refs/heads/"): - # Extract branch name for other branches - branch = head_content.split("refs/heads/")[-1] - if branch != "main": - version = f"{version}-{branch}" -except Exception: - # If git detection fails, that's fine - use base version - pass - -app = FastAPI( - title="NFOGuard", - description="Webhook server for preserving media import dates", - version=version -) - -start_time = datetime.now(timezone.utc) - -# Initialize components -db = NFOGuardDatabase(config.db_path) -nfo_manager = NFOManager(config.manager_brand) -path_mapper = PathMapper(config) # FIXED: Pass config to PathMapper -tv_processor = TVProcessor(db, nfo_manager, path_mapper) -movie_processor = MovieProcessor(db, nfo_manager, path_mapper) -batcher = WebhookBatcher() - -# --------------------------- -# Webhook Handlers -# --------------------------- - -async def _read_payload(request: Request) -> dict: - """Read webhook payload from request""" - content_type = (request.headers.get("content-type") or "").lower() - try: - if "application/json" in content_type: - return await request.json() - form = await request.form() - if "payload" in form: - return json.loads(form["payload"]) - return dict(form) - except Exception as e: - _log("ERROR", f"Failed to read webhook payload: {e}") - return {} - -@app.post("/webhook/sonarr") -async def sonarr_webhook(request: Request, background_tasks: BackgroundTasks): - """Handle Sonarr webhooks""" - try: - payload = await _read_payload(request) - if not payload: - raise HTTPException(status_code=422, detail="Empty Sonarr payload") - - webhook = SonarrWebhook(**payload) - _log("INFO", f"Received Sonarr webhook: {webhook.eventType}") - - if webhook.eventType not in ["Download", "Upgrade", "Rename"]: - return {"status": "ignored", "reason": f"Event type {webhook.eventType} not processed"} - - if not webhook.series: - return {"status": "ignored", "reason": "No series data"} - - series_info = webhook.series - series_title = series_info.get("title", "") - imdb_id = series_info.get("imdbId", "").replace("tt", "").strip() - if imdb_id: - imdb_id = f"tt{imdb_id}" - sonarr_path = series_info.get("path", "") - - if not imdb_id: - _log("ERROR", f"No IMDb ID for series: {series_title}") - return {"status": "error", "reason": "No IMDb ID"} - - # Find series path - series_path = tv_processor.find_series_path(series_title, imdb_id, sonarr_path) - if not series_path: - _log("ERROR", f"Could not find series directory: {series_title} ({imdb_id})") - return {"status": "error", "reason": "Series directory not found"} - - # Add to batch queue with TV-prefixed key to avoid movie conflicts - tv_batch_key = f"tv:{imdb_id}" - webhook_dict = { - 'path': str(series_path), - 'series_info': series_info, - 'event_type': webhook.eventType, - 'episodes': webhook.episodes or [], # Include episode data for targeted processing - 'processing_mode': config.tv_webhook_processing_mode - } - batcher.add_webhook(tv_batch_key, webhook_dict, 'tv') - - return {"status": "accepted", "message": f"Sonarr webhook queued for {tv_batch_key}"} - - except Exception as e: - _log("ERROR", f"Sonarr webhook error: {e}") - raise HTTPException(status_code=422, detail=f"Invalid webhook: {e}") - -@app.post("/webhook/radarr") -async def radarr_webhook(request: Request, background_tasks: BackgroundTasks): - """Handle Radarr webhooks""" - try: - payload = await _read_payload(request) - _log("INFO", f"Received Radarr webhook: {payload.get('eventType', 'Unknown')}") - _log("DEBUG", f"Full Radarr webhook payload: {payload}") - - # Filter supported event types (same as Sonarr: Download, Upgrade, Rename) - event_type = payload.get('eventType', '') - if event_type not in ["Download", "Upgrade", "Rename"]: - return {"status": "ignored", "reason": f"Event type {event_type} not processed"} - - # Extract movie info - movie_data = payload.get("movie", {}) - if not movie_data: - _log("WARNING", "No movie data in Radarr webhook") - return {"status": "error", "message": "No movie data"} - - # Get IMDb ID for batching key - imdb_id = movie_data.get("imdbId", "").lower() - if not imdb_id: - _log("WARNING", "No IMDb ID in Radarr webhook movie data") - return {"status": "error", "message": "No IMDb ID"} - - # Get movie path and map it - movie_path = movie_data.get("folderPath") or movie_data.get("path", "") - if not movie_path: - _log("ERROR", "No movie path in Radarr webhook") - return {"status": "error", "message": "No movie path provided"} - - # Map the path to container path - container_path = path_mapper.radarr_path_to_container_path(movie_path) - _log("DEBUG", f"Mapped Radarr path {movie_path} -> {container_path}") - - # CRITICAL: Verify the mapped path actually exists - from pathlib import Path - if not Path(container_path).exists(): - _log("ERROR", f"RADARR WEBHOOK REJECTED: Mapped path does not exist: {container_path}") - _log("ERROR", f"This prevents processing wrong movies due to path mapping issues") - return {"status": "error", "message": f"Mapped movie path does not exist: {container_path}"} - - # Verify the path contains the expected IMDb ID - if imdb_id not in container_path.lower(): - _log("WARNING", f"IMDb ID {imdb_id} not found in container path {container_path}") - - # Create movie-specific webhook data with proper path validation - movie_webhook_data = { - 'path': container_path, # Use verified container path - 'movie_info': movie_data, - 'event_type': payload.get('eventType'), - 'original_payload': payload - } - - # Add to batch queue with movie-prefixed key to avoid TV conflicts - movie_batch_key = f"movie:{imdb_id}" - _log("DEBUG", f"Adding Radarr webhook to batch: key={movie_batch_key}, movie_title={movie_data.get('title', 'Unknown')}") - batcher.add_webhook(movie_batch_key, movie_webhook_data, "movie") - - return {"status": "success", "message": f"Radarr webhook queued for {movie_batch_key}"} - - except Exception as e: - _log("ERROR", f"Radarr webhook error: {e}") - return {"status": "error", "message": str(e)} - -# --------------------------- -# API Endpoints -# --------------------------- - -@app.get("/health") -async def health() -> HealthResponse: - """Health check endpoint with Radarr database status""" - uptime = datetime.now(timezone.utc) - start_time - - # Check NFOGuard database - try: - with db.get_connection() as conn: - conn.execute("SELECT 1").fetchone() - db_status = "healthy" - except Exception as e: - db_status = f"error: {e}" - - # Check Radarr database if available - radarr_db_health = None - overall_status = "healthy" if db_status == "healthy" else "degraded" - - # Get Radarr client with database access from movie processor - try: - if hasattr(movie_processor, 'radarr') and movie_processor.radarr: - radarr_client = movie_processor.radarr - if hasattr(radarr_client, 'db_client') and radarr_client.db_client: - try: - radarr_db_health = radarr_client.db_client.health_check() - if radarr_db_health["status"] != "healthy": - overall_status = "degraded" - except Exception as e: - radarr_db_health = { - "status": "error", - "error": str(e), - "tested_at": datetime.now(timezone.utc).isoformat(timespec="seconds") - } - overall_status = "degraded" - except Exception as e: - # If movie processor isn't available, skip database health check - _log("DEBUG", f"Skipping Radarr database health check: {e}") - - return HealthResponse( - status=overall_status, - version=version, - uptime=str(uptime), - database_status=db_status, - radarr_database=radarr_db_health - ) - -@app.get("/stats") -async def get_stats(): - """Get database statistics""" - try: - return db.get_stats() - except Exception as e: - raise HTTPException(status_code=500, detail=str(e)) - -@app.get("/batch/status") -async def batch_status(): - """Get batch queue status""" - return batcher.get_status() - -@app.get("/debug/movie/{imdb_id}") -async def debug_movie_import_date(imdb_id: str): - """Debug endpoint to analyze movie import date detection""" - try: - if not imdb_id.startswith("tt"): - imdb_id = f"tt{imdb_id}" - - _log("INFO", f"=== DEBUG MOVIE IMPORT DATE: {imdb_id} ===") - - if not (os.environ.get("RADARR_URL") and os.environ.get("RADARR_API_KEY")): - return { - "error": "Radarr not configured", - "imdb_id": imdb_id, - "radarr_configured": False - } - - # Create Radarr client - from clients.radarr_client import RadarrClient - radarr_client = RadarrClient( - os.environ.get("RADARR_URL"), - os.environ.get("RADARR_API_KEY") - ) - - # Look up movie - movie_obj = radarr_client.movie_by_imdb(imdb_id) - if not movie_obj: - return { - "error": f"Movie not found in Radarr for IMDb ID {imdb_id}", - "imdb_id": imdb_id, - "radarr_configured": True, - "movie_found": False - } - - movie_id = movie_obj.get("id") - movie_title = movie_obj.get("title") - - _log("INFO", f"Found movie: {movie_title} (Radarr ID: {movie_id})") - - # Test the FULL movie processing pipeline (not just database lookup) - _log("INFO", f"=== TESTING FULL MOVIE PROCESSING PIPELINE ===") - - # Create a dummy path for testing the decision logic - from pathlib import Path - dummy_path = Path("/tmp/test") - - try: - # Use the global movie processor instance to test full decision logic - global movie_processor - if movie_processor: - # First check external clients configuration - _log("INFO", f"=== CHECKING EXTERNAL CLIENTS CONFIG ===") - try: - tmdb_key = os.environ.get("TMDB_API_KEY", "") - _log("INFO", f"TMDB API Key configured: {'โœ… YES' if tmdb_key else 'โŒ NO'}") - if tmdb_key: - _log("INFO", f"TMDB API Key length: {len(tmdb_key)} chars") - - # Check if external clients exist - external_clients_available = hasattr(movie_processor, 'external_clients') and movie_processor.external_clients - _log("INFO", f"External clients initialized: {'โœ… YES' if external_clients_available else 'โŒ NO'}") - - except Exception as e: - _log("ERROR", f"Error checking external clients config: {e}") - - # Test the full decision logic (including TMDB fallback) - final_date, final_source, released = movie_processor._decide_movie_dates( - imdb_id, dummy_path, should_query=True, existing=None - ) - - _log("INFO", f"=== FULL PIPELINE RESULT ===") - _log("INFO", f"Final date: {final_date}") - _log("INFO", f"Final source: {final_source}") - _log("INFO", f"Released (theater): {released}") - - return { - "imdb_id": imdb_id, - "radarr_configured": True, - "movie_found": True, - "movie_title": movie_title, - "movie_id": movie_id, - "full_pipeline_test": { - "final_date": final_date, - "final_source": final_source, - "theater_release": released, - "decision_logic": "โœ… TESTED FULL PIPELINE INCLUDING TMDB FALLBACK" - }, - "database_only_test": { - "radarr_db_result": radarr_client.get_movie_import_date(movie_id, fallback_to_file_date=True), - "note": "This is just the database part - fallback happens in full pipeline" - }, - "debug_info": { - "radarr_url": os.environ.get("RADARR_URL"), - "movie_digital_release": movie_obj.get("digitalRelease"), - "movie_in_cinemas": movie_obj.get("inCinemas"), - "movie_physical_release": movie_obj.get("physicalRelease"), - "movie_folder_path": movie_obj.get("folderPath") - } - } - else: - _log("ERROR", "Movie processor not available - testing database only") - # Fallback to database-only testing - import_date, source = radarr_client.get_movie_import_date(movie_id, fallback_to_file_date=True) - return { - "error": "Movie processor not available - only database test performed", - "imdb_id": imdb_id, - "radarr_configured": True, - "movie_found": True, - "movie_title": movie_title, - "movie_id": movie_id, - "detected_import_date": import_date, - "import_source": source, - "debug_info": { - "note": "FULL PIPELINE TEST FAILED - movie processor not initialized" - } - } - - except Exception as pipeline_error: - _log("ERROR", f"Full pipeline test failed: {pipeline_error}") - # Fallback to database-only testing - import_date, source = radarr_client.get_movie_import_date(movie_id, fallback_to_file_date=True) - return { - "pipeline_error": str(pipeline_error), - "imdb_id": imdb_id, - "radarr_configured": True, - "movie_found": True, - "movie_title": movie_title, - "movie_id": movie_id, - "detected_import_date": import_date, - "import_source": source, - "debug_info": { - "note": "FULL PIPELINE TEST FAILED - showing database-only result" - } - } - - except Exception as e: - _log("ERROR", f"Debug endpoint error for {imdb_id}: {e}") - return { - "error": str(e), - "imdb_id": imdb_id, - "success": False - } - -@app.get("/debug/movie/{imdb_id}/history") -async def debug_movie_history(imdb_id: str): - """Detailed history analysis for a movie""" - try: - if not imdb_id.startswith("tt"): - imdb_id = f"tt{imdb_id}" - - _log("INFO", f"=== DETAILED HISTORY ANALYSIS: {imdb_id} ===") - - # Use database-only mode for consistency - if not movie_processor.radarr.db_client: - return {"error": "Radarr database not configured"} - - radarr_client = movie_processor.radarr - - # Look up movie - movie_obj = radarr_client.movie_by_imdb(imdb_id) - if not movie_obj: - return {"error": f"Movie not found for {imdb_id}"} - - movie_id = movie_obj.get("id") - movie_title = movie_obj.get("title") - - # Get history from database instead of API - if not radarr_client.db_client: - return {"error": "Database-only mode required"} - - # TODO: Implement database-only history retrieval - return { - "error": "History endpoint temporarily disabled - use /debug/movie/{imdb_id}/priority for date analysis", - "imdb_id": imdb_id, - "movie_id": movie_id, - "movie_title": movie_title, - "note": "This endpoint needs database-only implementation to avoid showing wrong movie events" - } - - # Analyze each event - analyzed_events = [] - for event in all_history: - event_type = event.get("eventType", "") - date_str = event.get("date", "") - event_data = event.get("data", {}) - - # Get source path info - source_path = ( - event_data.get('droppedPath', '') or - event_data.get('sourcePath', '') or - event_data.get('path', '') or - event_data.get('sourceTitle', '') - ) - - # Analyze if this is a real import - is_real, reason, date_iso = radarr_client._analyze_event_for_import(event) - - analyzed_events.append({ - "event_type": event_type, - "date": date_str, - "source_path": source_path, - "is_real_import": is_real, - "analysis_reason": reason, - "parsed_date": date_iso, - "full_data": event_data - }) - - # Find what our algorithm would pick - DATABASE ONLY - picked_date, _ = radarr_client.get_movie_import_date(movie_id, fallback_to_file_date=True) - - return { - "imdb_id": imdb_id, - "movie_title": movie_title, - "movie_id": movie_id, - "total_history_events": len(all_history), - "our_algorithm_picked": picked_date, - "all_events": analyzed_events, - "expected_july_date": "2025-07-07" in (picked_date or "") - } - - except Exception as e: - _log("ERROR", f"History debug error for {imdb_id}: {e}") - return {"error": str(e)} - -@app.post("/manual/scan") -async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = None, scan_type: str = "both"): - """Manual scan endpoint""" - if scan_type not in ["both", "tv", "movies"]: - raise HTTPException(status_code=400, detail="scan_type must be 'both', 'tv', or 'movies'") - - async def run_scan(): - paths_to_scan = [] - if path: - paths_to_scan = [Path(path)] - else: - if scan_type in ["both", "tv"]: - paths_to_scan.extend(config.tv_paths) - if scan_type in ["both", "movies"]: - paths_to_scan.extend(config.movie_paths) - - for scan_path in paths_to_scan: - if not scan_path.exists(): - continue - - if scan_type in ["both", "tv"] and (scan_path in config.tv_paths or path): - # Handle specific season/episode path - if path and scan_path.name.lower().startswith('season'): - # Single season processing - series_path = scan_path.parent - if nfo_manager.parse_imdb_from_path(series_path): - _log("INFO", f"Processing single season: {scan_path}") - try: - tv_processor.process_season(series_path, scan_path) - except Exception as e: - _log("ERROR", f"Failed processing season {scan_path}: {e}") - elif path and scan_path.is_file() and scan_path.suffix.lower() in ('.mkv', '.mp4', '.avi'): - # Single episode processing - season_path = scan_path.parent - series_path = season_path.parent - if nfo_manager.parse_imdb_from_path(series_path): - _log("INFO", f"Processing single episode: {scan_path}") - try: - tv_processor.process_episode_file(series_path, season_path, scan_path) - except Exception as e: - _log("ERROR", f"Failed processing episode {scan_path}: {e}") - else: - # Full series processing - for item in scan_path.iterdir(): - if item.is_dir() and nfo_manager.parse_imdb_from_path(item): - try: - tv_processor.process_series(item) - except Exception as e: - _log("ERROR", f"Failed processing TV series {item}: {e}") - - if scan_type in ["both", "movies"] and scan_path in config.movie_paths: - _log("INFO", f"Scanning movies in: {scan_path}") - movie_count = 0 - for item in scan_path.iterdir(): - if item.is_dir() and nfo_manager.find_movie_imdb_id(item): - movie_count += 1 - _log("INFO", f"Processing movie: {item.name}") - try: - movie_processor.process_movie(item) - except Exception as e: - _log("ERROR", f"Failed processing movie {item}: {e}") - _log("INFO", f"Completed movie scan: {movie_count} movies processed in {scan_path}") - - background_tasks.add_task(run_scan) - return {"status": "started", "message": f"Manual {scan_type} scan started"} - -@app.post("/tv/scan-season") -async def scan_tv_season(background_tasks: BackgroundTasks, request: TVSeasonRequest): - """Scan a specific TV season - URL-safe endpoint""" - try: - series_dir = Path(request.series_path) - season_dir = series_dir / request.season_name - - if not series_dir.exists(): - raise HTTPException(status_code=404, detail=f"Series path not found: {request.series_path}") - if not season_dir.exists(): - raise HTTPException(status_code=404, detail=f"Season path not found: {season_dir}") - - imdb_id = nfo_manager.parse_imdb_from_path(series_dir) - if not imdb_id: - raise HTTPException(status_code=400, detail="No IMDb ID found in series path") - - async def process_season(): - _log("INFO", f"Processing TV season: {season_dir}") - try: - tv_processor.process_season(series_dir, season_dir) - except Exception as e: - _log("ERROR", f"Failed processing season {season_dir}: {e}") - - background_tasks.add_task(process_season) - return {"status": "started", "message": f"Season scan started for {request.season_name}"} - - except Exception as e: - raise HTTPException(status_code=500, detail=str(e)) - -@app.post("/tv/scan-episode") -async def scan_tv_episode(background_tasks: BackgroundTasks, request: TVEpisodeRequest): - """Scan a specific TV episode - URL-safe endpoint""" - try: - series_dir = Path(request.series_path) - season_dir = series_dir / request.season_name - episode_file = season_dir / request.episode_name - - if not series_dir.exists(): - raise HTTPException(status_code=404, detail=f"Series path not found: {request.series_path}") - if not episode_file.exists(): - raise HTTPException(status_code=404, detail=f"Episode file not found: {episode_file}") - - imdb_id = nfo_manager.parse_imdb_from_path(series_dir) - if not imdb_id: - raise HTTPException(status_code=400, detail="No IMDb ID found in series path") - - async def process_episode(): - _log("INFO", f"Processing TV episode: {episode_file}") - try: - tv_processor.process_episode_file(series_dir, season_dir, episode_file) - except Exception as e: - _log("ERROR", f"Failed processing episode {episode_file}: {e}") - - background_tasks.add_task(process_episode) - return {"status": "started", "message": f"Episode scan started for {request.episode_name}"} - - except Exception as e: - raise HTTPException(status_code=500, detail=str(e)) - -@app.post("/test/bulk-update") -async def test_bulk_update(): - """Test bulk update functionality without modifying data""" - try: - from clients.radarr_db_client import RadarrDbClient - - # Test Radarr database - radarr_db = RadarrDbClient.from_env() - if not radarr_db: - return {"status": "error", "message": "Radarr database connection failed"} - - # Test query execution - query = 'SELECT COUNT(*) FROM "Movies" m JOIN "MovieMetadata" mm ON m."MovieMetadataId" = mm."Id" WHERE mm."ImdbId" IS NOT NULL' - with radarr_db._get_connection() as conn: - cursor = conn.cursor() - cursor.execute(query) - movie_count = cursor.fetchone()[0] - - return { - "status": "success", - "message": "Bulk update test passed", - "movies_with_imdb": movie_count, - "database_type": radarr_db.db_type - } - except Exception as e: - return {"status": "error", "message": f"Bulk update test failed: {e}"} - -@app.post("/test/movie-scan") -async def test_movie_scan(): - """Test movie directory scanning logic""" - try: - results = [] - for path in config.movie_paths: - path_result = { - "path": str(path), - "exists": path.exists(), - "movies_found": 0 - } - - if path.exists(): - for item in path.iterdir(): - if item.is_dir() and nfo_manager.find_movie_imdb_id(item): - path_result["movies_found"] += 1 - - results.append(path_result) - - total_movies = sum(r["movies_found"] for r in results) - return { - "status": "success", - "message": f"Movie scan test found {total_movies} movies", - "path_results": results - } - except Exception as e: - return {"status": "error", "message": f"Movie scan test failed: {e}"} - -@app.post("/bulk/update") -async def trigger_bulk_update(background_tasks: BackgroundTasks): - """Trigger bulk update of all movies""" - async def run_bulk_update(): - try: - from bulk_update_movies import bulk_update_all_movies - success = bulk_update_all_movies() - _log("INFO", f"Bulk update completed: {'success' if success else 'failed'}") - except Exception as e: - _log("ERROR", f"Bulk update error: {e}") - - background_tasks.add_task(run_bulk_update) - return {"status": "started", "message": "Bulk update started"} - -@app.get("/debug/movie/{imdb_id}/priority") -async def debug_movie_priority_logic(imdb_id: str): - """Debug endpoint showing how MOVIE_PRIORITY affects date selection""" - try: - if not imdb_id.startswith("tt"): - imdb_id = f"tt{imdb_id}" - - result = { - "imdb_id": imdb_id, - "movie_priority": config.movie_priority, - "release_date_priority": config.release_date_priority, - "priority_explanation": "", - "date_sources": {}, - "selected_date": None, - "selected_source": None - } - - # Get Radarr import date - if movie_processor.radarr.api_key: - radarr_movie = movie_processor.radarr.movie_by_imdb(imdb_id) - if radarr_movie: - movie_id = radarr_movie.get("id") - if movie_id: - import_date, import_source = movie_processor.radarr.get_movie_import_date(movie_id) - if import_date: - result["date_sources"]["radarr_import"] = { - "date": import_date, - "source": import_source - } - - # Get digital release dates with detailed logging - digital_date, digital_source = movie_processor._get_digital_release_date(imdb_id) - if digital_date: - result["date_sources"]["digital_release"] = { - "date": digital_date, - "source": digital_source - } - else: - # Add debug info about why digital date wasn't found - candidates = movie_processor.external_clients.get_digital_release_candidates(imdb_id) - result["date_sources"]["digital_release_debug"] = { - "candidates_found": len(candidates), - "candidates": candidates[:3] if candidates else [], # Show first 3 - "reason": digital_source if digital_source else "no_digital_dates_found" - } - - # Show priority logic - if config.movie_priority == "import_then_digital": - priority_list = " โ†’ ".join(config.release_date_priority) - result["priority_explanation"] = f"1st: Radarr import history, 2nd: Release dates ({priority_list}), 3rd: file mtime. Note: If import is only file date, prefer reasonable release dates." - - radarr_import = result["date_sources"].get("radarr_import") - digital_release = result["date_sources"].get("digital_release") - - # Check for file date fallback logic - if radarr_import and radarr_import["source"] == "radarr:db.file.dateAdded" and digital_release: - # Test the smart logic - would_prefer_digital = movie_processor._should_prefer_release_over_file_date( - digital_release["date"], - digital_release["source"], - None, # We don't have theatrical date in this debug context - imdb_id - ) - result["file_date_detected"] = True - result["would_prefer_digital"] = would_prefer_digital - - if would_prefer_digital: - result["selected_date"] = digital_release["date"] - result["selected_source"] = digital_release["source"] + " (preferred over file date)" - else: - result["selected_date"] = radarr_import["date"] - result["selected_source"] = radarr_import["source"] + " (digital too old)" - elif radarr_import and radarr_import["source"] != "radarr:db.file.dateAdded": - result["selected_date"] = radarr_import["date"] - result["selected_source"] = radarr_import["source"] - elif digital_release: - result["selected_date"] = digital_release["date"] - result["selected_source"] = digital_release["source"] - else: # digital_then_import - result["priority_explanation"] = "1st: TMDB/OMDb digital release, 2nd: Radarr import history, 3rd: file mtime" - if result["date_sources"].get("digital_release"): - result["selected_date"] = result["date_sources"]["digital_release"]["date"] - result["selected_source"] = result["date_sources"]["digital_release"]["source"] - elif result["date_sources"].get("radarr_import"): - result["selected_date"] = result["date_sources"]["radarr_import"]["date"] - result["selected_source"] = result["date_sources"]["radarr_import"]["source"] - - # Show external API status - result["external_apis"] = { - "tmdb_enabled": movie_processor.external_clients.tmdb.enabled, - "omdb_enabled": movie_processor.external_clients.omdb.enabled, - "jellyseerr_enabled": movie_processor.external_clients.jellyseerr.enabled - } - - return result - - except Exception as e: - return {"error": str(e), "imdb_id": imdb_id} - -@app.get("/debug/tmdb/{imdb_id}") -async def debug_tmdb_lookup(imdb_id: str): - """Debug TMDB API lookup for a specific movie""" - try: - if not imdb_id.startswith("tt"): - imdb_id = f"tt{imdb_id}" - - result = { - "imdb_id": imdb_id, - "tmdb_api_enabled": movie_processor.external_clients.tmdb.enabled, - "tmdb_api_key_configured": bool(movie_processor.external_clients.tmdb.api_key), - "steps": {} - } - - if not movie_processor.external_clients.tmdb.enabled: - result["error"] = "TMDB API not enabled - check TMDB_API_KEY environment variable" - return result - - # Step 1: Find movie by IMDb ID - _log("INFO", f"TMDB Debug: Looking up {imdb_id}") - tmdb_movie = movie_processor.external_clients.tmdb.find_by_imdb(imdb_id) - result["steps"]["1_find_by_imdb"] = { - "found": bool(tmdb_movie), - "tmdb_movie": tmdb_movie if tmdb_movie else None - } - - if not tmdb_movie: - result["error"] = f"Movie {imdb_id} not found in TMDB" - return result - - tmdb_id = tmdb_movie.get("id") - result["tmdb_id"] = tmdb_id - - # Step 2: Get release dates - if tmdb_id: - _log("INFO", f"TMDB Debug: Getting release dates for TMDB ID {tmdb_id}") - release_dates_result = movie_processor.external_clients.tmdb._get(f"/movie/{tmdb_id}/release_dates") - result["steps"]["2_release_dates"] = { - "raw_response": release_dates_result, - "has_results": bool(release_dates_result and release_dates_result.get("results")) - } - - # Step 3: Look for US digital releases - if release_dates_result and release_dates_result.get("results"): - us_releases = [] - for country_data in release_dates_result["results"]: - if country_data.get("iso_3166_1") == "US": - us_releases = country_data.get("release_dates", []) - break - - result["steps"]["3_us_releases"] = { - "found_us_data": bool(us_releases), - "us_releases": us_releases - } - - # Step 4: Look for digital releases (type 4) - digital_releases = [r for r in us_releases if r.get("type") == 4] - result["steps"]["4_digital_releases"] = { - "digital_count": len(digital_releases), - "digital_releases": digital_releases - } - - # Step 5: Test the full digital release function - digital_date = movie_processor.external_clients.tmdb.get_digital_release_date(imdb_id) - result["steps"]["5_final_result"] = { - "digital_date": digital_date, - "success": bool(digital_date) - } - - return result - - except Exception as e: - return {"error": str(e), "imdb_id": imdb_id, "traceback": str(e)} - -# --------------------------- -# Main -# --------------------------- - -if __name__ == "__main__": - _log("INFO", "Starting NFOGuard") - _log("INFO", f"Version: {version}") - _log("INFO", f"TV paths: {[str(p) for p in config.tv_paths]}") - _log("INFO", f"Movie paths: {[str(p) for p in config.movie_paths]}") - _log("INFO", f"Database: {config.db_path}") - _log("INFO", f"Config: manage_nfo={config.manage_nfo}, fix_mtimes={config.fix_dir_mtimes}") - _log("INFO", f"Movie priority: {config.movie_priority}") - - uvicorn.run( - app, - host="0.0.0.0", - port=int(os.environ.get("PORT", "8080")), - reload=False - ) \ No newline at end of file diff --git a/projectsummary.md b/projectsummary.md deleted file mode 100644 index b679a39..0000000 --- a/projectsummary.md +++ /dev/null @@ -1,321 +0,0 @@ -# NFOGuard Project Summary - -## Project Overview -NFOGuard is a comprehensive solution to protect and preserve date metadata for TV shows and movies across Plex, Emby, and Jellyfin media servers. The core issue is that these servers often display scan dates instead of the original import dates from NFO files. - -## Core Problem -- **TV episodes show scan dates instead of import dates in Emby** -- **Root Cause**: Emby displays `DateCreated` field, not NFO `<dateadded>` -- **Impact**: Users lose track of when content was actually imported/acquired - -## Project Components - -### 1. NFOGuard Core (Python) - v0.6.1 โœ… -**Status**: Completed and working -- Processes TV shows and movies -- Writes import date from NFO `<dateadded>` to `<aired>` field -- `<aired>` maps to Emby's `PremiereDate` field -- **Current Fix**: Writing import date to `<aired>` field (goes to PremiereDate) - -### 2. NFOGuard Emby Plugin (C# DLL) - v2.0.0-automatic โœ… -**Status**: Production-ready with automatic subscription system -- **Purpose**: Automatically sync `PremiereDate` โ†’ `DateCreated` in Emby -- **Approach**: Real-time processing + scheduled tasks with licensing tiers -- **Architecture**: Professional plugin with automatic subscription validation - -## What We've Tried - -### โŒ Failed Approaches -1. **Direct NFO `<dateadded>` reading** - Emby ignores this field -2. **Waiting for auto-sync** - PremiereDate doesn't auto-sync to DateCreated -3. **Manual database updates** - Too complex, risky - -### โœ… Working Solutions -1. **NFOGuard Core**: Successfully writes to `<aired>` field -2. **Plugin approach**: Direct database updates via Emby API (`UpdateToRepository()`) - -## Current Implementation Status - -### NFOGuard Core Features โœ… -- TV show processing with configurable webhook modes -- Movie processing -- NFO date field manipulation -- Comprehensive logging and error handling -- CI/CD pipeline with automated testing - -### Emby Plugin Features โœ… - PRODUCTION READY -- **Real-time processing**: Library event hooks (`ItemAdded`/`ItemUpdated`) -- **Scheduled task mode**: Weekly batch processing with free tier limits -- **Percentage-based free tier**: 2% of TV episodes + 5% of movies per month -- **Automatic subscription system**: Patreon/PayPal integration (no manual keys) -- **Machine-based activation**: Unique installation IDs prevent piracy -- **Usage tracking**: Monthly quotas with automatic reset -- **TV + Movie support**: Full media library coverage -- **Core sync logic**: `PremiereDate` โ†’ `DateCreated` synchronization -- **Professional licensing**: TimeLord-style automatic activation -- **Offline mode**: Graceful fallback to free tier - -## Technical Details - -### Key Discovery from TimeLord Analysis -```csharp -// Core sync operation (standard Emby API) -episode.DateCreated = episode.PremiereDate.Value; -episode.UpdateToRepository(ItemUpdateType.MetadataEdit); -``` - -### Our Implementation -- Uses standard Emby interfaces: `ILibraryManager`, `IItemRepository` -- Event-driven processing vs TimeLord's scheduled tasks -- Clean dependency injection and configuration management - -## Development Environment -- **Platform**: Windows with WSL (Ubuntu) -- **Build Tools**: .NET SDK 6.0 in WSL -- **Target Framework**: .NET Framework 4.8 -- **IDE**: VS Code in WSL -- **Emby Server**: Windows installation (can access DLLs directly) - -## Next Steps - Priority Order - -### Immediate (This Session) - โœ… COMPLETED -1. **โœ… Create project summary** (this file) -2. **โœ… Get Emby SDK DLLs** - From Windows Emby installation -3. **โœ… Build plugin** - First compilation test SUCCESS! -4. **โœ… Disable licensing** - For testing phase -5. **โœ… Add settings UI** - Configuration page with options: - - โœ… Enable/disable real-time processing - - โœ… Enable/disable scheduled task mode - - โœ… Verbose logging toggle - - โœ… Processing mode selection (realtime/scheduled/both) -6. **โœ… Add scheduled task** - Weekly batch processing option -7. **โœ… Build final plugin** - All features integrated and working - -### Testing Phase - ๐ŸŽ‰ MASSIVE SUCCESS! -1. **โœ… Deploy to test Emby server** - PLUGIN WORKING PERFECTLY: - - **โœ… PLUGIN LOADS**: Successfully loads and registers with Emby - - **๐Ÿš€ SCHEDULED TASK SUCCESS**: Processed 15,039 episodes, updated 14,661 (97.5% success!) - - **โšก BLAZING FAST**: 1,500 episodes per second processing speed - - **๐Ÿ†• MOVIES SUPPORT**: Ready for movies (0 movies in test library) - - **โœ… REAL-TIME + SCHEDULED**: Both modes working simultaneously - - **STATUS**: Core functionality 100% successful - ready for production! - - **Source**: `plugin-release/NFOGuard.Emby.Plugin.dll` (auto-copied after build) - - **Destination**: `C:\ProgramData\Emby-Server\plugins\NFOGuard.Emby.Plugin.dll` - - **Restart** Emby Server -2. **Configure plugin** - Dashboard โ†’ Plugins โ†’ NFOGuard โ†’ Settings -3. **Test with new TV episode import** -4. **Verify database sync**: `DateCreated` = `PremiereDate` -5. **Monitor logs for proper operation** - -### Plugin Version History -- **v1.0.0-working**: Basic functionality, unlimited processing (TESTED โœ…) -- **v1.1.0-free-tier**: Fixed 500 items/month, no real-time -- **v1.2.0-production**: Unlimited with manual license keys -- **v1.3.0-unified**: Single DLL with license key activation -- **v2.0.0-automatic**: Professional subscription system (CURRENT ๐Ÿš€) - -### Version Recommendations -- **Development/Testing**: Use v1.0.0-working (unlimited, no licensing) -- **Production/Commercial**: Use v2.0.0-automatic (percentage-based free tier + subscriptions) - -### API Requirements for v2.0.0-automatic -``` -Domain: nfoguard.com -POST /api/register # Machine registration -GET /api/patreon/check?machine_id=XXX # Patreon validation -GET /api/paypal/check?machine_id=XXX # PayPal validation -``` - -## File Structure -``` -NFOguard/ -โ”œโ”€โ”€ projectsummary.md (this file) -โ”œโ”€โ”€ README.md -โ”œโ”€โ”€ VERSION -โ”œโ”€โ”€ plugin-release/ โญ NEW - Auto-generated -โ”‚ โ””โ”€โ”€ NFOGuard.Emby.Plugin.dll (ready for deployment) -โ”œโ”€โ”€ NFOGuard.Emby.Plugin/ -โ”‚ โ”œโ”€โ”€ Plugin.cs (main plugin class) -โ”‚ โ”œโ”€โ”€ PluginEntryPoint.cs (initialization) -โ”‚ โ”œโ”€โ”€ LibraryEventHandler.cs (core logic) -โ”‚ โ”œโ”€โ”€ NFOGuardScheduledTask.cs (batch processing) -โ”‚ โ”œโ”€โ”€ PluginConfigurationPage.cs (settings UI) -โ”‚ โ”œโ”€โ”€ Configuration/configPage.html (embedded UI) -โ”‚ โ”œโ”€โ”€ LicenseManager.cs (licensing framework) -โ”‚ โ”œโ”€โ”€ NFOGuard.Emby.Plugin.csproj -โ”‚ โ”œโ”€โ”€ build.sh / build.bat (auto-copies to plugin-release/) -โ”‚ โ”œโ”€โ”€ WSL_SETUP.md -โ”‚ โ””โ”€โ”€ DEPLOYMENT.md -โ”œโ”€โ”€ EmbySDK/ -โ”‚ โ”œโ”€โ”€ MediaBrowser.Common.dll -โ”‚ โ”œโ”€โ”€ MediaBrowser.Controller.dll -โ”‚ โ””โ”€โ”€ MediaBrowser.Model.dll -โ””โ”€โ”€ decompiled-TimeLord/ (reference only) -``` - -## Current Branch Status -- **Branch**: `dev` -- **Main branch**: `main` (for PRs) -- **Modified files**: `README.md`, `VERSION` -- **New files**: Complete Emby plugin structure - -## Success Criteria -1. **Core functionality**: TV episodes show import dates, not scan dates -2. **User experience**: Seamless, automatic operation -3. **Reliability**: Handles errors gracefully, doesn't break Emby -4. **Performance**: Minimal impact on library operations -5. **Maintainability**: Clean, well-documented code - -## Known Limitations & Future Considerations -- **Movies**: May need separate handling if date sync issues occur -- **Bulk processing**: Currently real-time only, may need batch mode -- **Multi-server**: Plugin needs to be installed per Emby instance -- **Backup compatibility**: Ensure database changes don't break backups - -## Key Learnings -- **Emby architecture**: Library events are reliable for real-time processing -- **Database operations**: `UpdateToRepository()` is the proper way to persist changes -- **Plugin standards**: Modern SDK-style projects work better in WSL -- **TimeLord insights**: Custom licensing systems are common but not required - -## Latest Session Updates (2025-01-12 Part 2) - Repository Architecture & TVDB Integration - -### Major Accomplishments - Repository Split โœ… -1. **โœ… Repository Separation**: Split into focused repositories: - - **NFOGuard (main)**: Clean webhook Docker application - - **NFOGuard-Emby-Plugin**: Separate plugin development repository - - **Rationale**: Different audiences, release cycles, and deployment methods - -2. **โœ… Repository Cleanup**: NFOGuard webhook repo cleaned for public use: - - **Removed**: CI/development artifacts (gitea configs, test files) - - **Kept**: 21 essential files (core app, docs, utilities) - - **Docker**: Industry standard `docker-compose.example.yml` - - **Configuration**: Updated `.env.secrets.template` with TVDB_API_KEY - -### Critical Technical Improvement - TVDB Integration โœ… -3. **โœ… Root Cause Fix**: Solved Emby NFO reading issues: - - **Problem**: Emby showing "PremiereDate: NULL" despite valid NFO files - - **Root Cause**: tvshow.nfo files only had IMDB IDs, but Emby's TVDB plugin expects numeric TVDB series IDs - - **Solution**: Added TVDB v4 API integration for IMDBโ†’TVDB ID conversion - -4. **โœ… TVDB Client Implementation**: - ```python - # New TVDBClient class in external_clients.py - def imdb_to_tvdb_series_id(self, imdb_id: str) -> Optional[str]: - url = f"{self.base_url}/search/remoteid?remoteId={imdb_id}&type=series" - ``` - -5. **โœ… Enhanced NFO Structure**: Updated tvshow.nfo creation: - ```xml - <!-- Before (IMDB only - caused Emby failures) --> - <uniqueid type="imdb" default="true">tt1234567</uniqueid> - - <!-- After (TVDB + IMDB - Emby compatible) --> - <uniqueid type="tvdb" default="true">12345</uniqueid> - <uniqueid type="imdb">tt1234567</uniqueid> - ``` - -6. **โœ… Docker Timezone Support**: Added configurable timezone via TZ environment variable - - Users can set `TZ=Europe/London` in docker-compose for local timestamps - -### Repository Structure Changes -``` -# OLD - Monorepo -NFOguard/ -โ”œโ”€โ”€ NFOGuard.Emby.Plugin/ (plugin code) -โ”œโ”€โ”€ core/ (webhook code) -โ”œโ”€โ”€ decompiled-TimeLord/ (mixed reference) -โ””โ”€โ”€ releases/ (mixed artifacts) - -# NEW - Separated Repositories -NFOguard/ (webhook only - 21 files) -โ”œโ”€โ”€ core/, clients/ (webhook application) -โ”œโ”€โ”€ docker-compose.example.yml (public example) -โ”œโ”€โ”€ nfoguard.py, requirements.txt, Dockerfile -โ””โ”€โ”€ documentation (focused on webhook) - -NFOGuard-Emby-Plugin/ (plugin only) -โ”œโ”€โ”€ NFOGuard.Emby.Plugin/ (C# source) -โ”œโ”€โ”€ EmbySDK/ (build dependencies) -โ”œโ”€โ”€ decompiled-TimeLord/ (reference code) -โ”œโ”€โ”€ releases/ (plugin DLL versions) -โ””โ”€โ”€ documentation (focused on plugin) -``` - -### Technical Impact -- **Emby Compatibility**: TVDB IDs should resolve NFO reading issues -- **User Experience**: Single docker-compose.example.yml for easy deployment -- **Developer Experience**: Separate repos allow independent development -- **Public Readiness**: Clean webhook repo ready for open source distribution - -### Configuration Updates -```bash -# NEW - Added to .env.secrets.template -TVDB_API_KEY=your_tvdb_api_key # Free registration at thetvdb.com -``` - -### ๐Ÿ”„ TVDB Integration Reversion Guide (If Needed) - -**If TVDB integration causes issues, here's how to revert:** - -#### Files Modified for TVDB: -1. **`clients/external_clients.py`**: - ```python - # REVERT: Remove TVDBClient class (lines ~200-280) - # REVERT: Remove from ExternalClientManager.__init__(): self.tvdb = TVDBClient() - # REVERT: Remove get_tvdb_series_id() method - ``` - -2. **`core/nfo_manager.py`**: - ```python - # REVERT: Change create_tvshow_nfo() back to single parameter: - def create_tvshow_nfo(self, series_dir: Path, imdb_id: str): # Remove tvdb_id param - - # REVERT: tvshow.nfo content back to IMDB-only: - uniqueid_elements = [f' <uniqueid type="imdb" default="true">{imdb_id}</uniqueid>'] - ``` - -3. **`nfoguard.py`** (3 locations): - ```python - # REVERT: Remove TVDB lookup calls, change back to: - self.nfo_manager.create_tvshow_nfo(series_path, imdb_id) # Remove tvdb_id param - - # REVERT LOCATIONS: - # - TV processor method (~line 450) - # - Season processor method (~line 380) - # - Targeted webhook processing (~line 520) - ``` - -4. **`.env.secrets.template`**: - ```bash - # REVERT: Remove this line: - TVDB_API_KEY=your_tvdb_api_key - ``` - -#### Quick Revert Commands: -```bash -# If you need to quickly revert TVDB integration: -git log --oneline | grep -i tvdb # Find TVDB commits -git revert <commit_hash> # Revert specific commits -# OR -git checkout <pre-tvdb-commit> -- clients/external_clients.py core/nfo_manager.py nfoguard.py .env.secrets.template -``` - -#### Why You Might Need to Revert: -- **TVDB API issues**: Rate limiting, authentication problems -- **NFO compatibility**: Some media servers prefer IMDB-only uniqueids -- **Performance**: TVDB lookups add API call overhead -- **Dependency**: Removes external API dependency if not needed - -#### Testing Strategy: -1. **Test with TVDB first**: Deploy and check if Emby reads NFO files properly -2. **Monitor logs**: Look for "TVDB API key not configured" warnings -3. **Check NFO output**: Verify both TVDB and IMDB uniqueid elements are created -4. **Emby behavior**: Confirm PremiereDate is no longer NULL -5. **If issues**: Use revert guide above - -**Current Status**: โš ๏ธ **UNTESTED - TVDB integration implemented but needs validation** - ---- -*Last Updated: 2025-01-12* -*Major Session: Repository architecture redesign + TVDB integration for Emby compatibility* \ No newline at end of file diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 043f2eb..0000000 --- a/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -fastapi==0.104.1 -uvicorn[standard]==0.24.0 -pydantic==2.5.0 -psycopg2-binary==2.9.7 -requests==2.31.0 -python-multipart==0.0.6 -aiofiles==23.2.1 -python-dotenv==1.0.0