diff --git a/backups/channels_20250627_224445.txt b/backups/channels_20250627_224445.txt new file mode 100644 index 0000000..1a9d5ba --- /dev/null +++ b/backups/channels_20250627_224445.txt @@ -0,0 +1,5 @@ +Group = Sports +Stream name = Sky Sports Mix FHD +Logo = https://i.ibb.co/7kYj5gc/sky-mix.png +EPG id = SkySp.Mix.HD.uk +Stream URL = https://a1xs.vip/2000008 \ No newline at end of file diff --git a/bulk_import.m3u b/bulk_import.m3u index 6ebb855..fcd7187 100644 --- a/bulk_import.m3u +++ b/bulk_import.m3u @@ -1,2 +1 @@ -#EXTINF:-1 tvg-id="SkySp.Mix.HD.uk" tvg-name="Sky Sports Mix FHD" tvg-logo="https://i.ibb.co/7kYj5gc/sky-mix.png" group-title="UK Sports",Sky Sports Mix FHD -https://a1xs.vip/2000008 \ No newline at end of file +#EXTM3U diff --git a/channels.txt b/channels.txt index 1a9d5ba..13999fd 100644 --- a/channels.txt +++ b/channels.txt @@ -1,3 +1,9 @@ +Group = 🇬🇧 United Kingdom +Stream name = Sky Sports Mix FHD +Logo = https://i.ibb.co/7kYj5gc/sky-mix.png +EPG id = SkySp.Mix.HD.uk +Stream URL = https://a1xs.vip/2000008 + Group = Sports Stream name = Sky Sports Mix FHD Logo = https://i.ibb.co/7kYj5gc/sky-mix.png diff --git a/channels.txt.backup.20250627_224445 b/channels.txt.backup.20250627_224445 new file mode 100644 index 0000000..1a9d5ba --- /dev/null +++ b/channels.txt.backup.20250627_224445 @@ -0,0 +1,5 @@ +Group = Sports +Stream name = Sky Sports Mix FHD +Logo = https://i.ibb.co/7kYj5gc/sky-mix.png +EPG id = SkySp.Mix.HD.uk +Stream URL = https://a1xs.vip/2000008 \ No newline at end of file diff --git a/playlist.m3u b/playlist.m3u index ce6baf4..a797f5c 100644 --- a/playlist.m3u +++ b/playlist.m3u @@ -1,3 +1,3 @@ #EXTM3U -#EXTINF:-1 tvg-id="SkySp.Mix.HD.uk" tvg-logo="https://i.ibb.co/7kYj5gc/sky-mix.png" group-title="Sports" tvg-name="Sky Sports Mix FHD",Sky Sports Mix FHD +#EXTINF:-1 tvg-id="SkySp.Mix.HD.uk" tvg-logo="https://i.ibb.co/7kYj5gc/sky-mix.png" group-title="🇬🇧 United Kingdom" tvg-name="Sky Sports Mix FHD",Sky Sports Mix FHD https://a1xs.vip/2000008 diff --git a/playlist_update.log b/playlist_update.log index 0bf7e70..688cca6 100644 --- a/playlist_update.log +++ b/playlist_update.log @@ -1,43 +1,50 @@ -[2025-06-27 22:29:23] INFO: === STEP 1: Creating backup === -[2025-06-27 22:29:23] INFO: Created backup: /workspace/stoney420/my-private-iptv-m3u1/backups/channels_20250627_222923.txt -[2025-06-27 22:29:23] INFO: === STEP 2: Cleaning corrupted channels === -[2025-06-27 22:29:23] INFO: Cleaning up any corrupted entries in channels.txt... -[2025-06-27 22:29:23] INFO: No corrupted entries found to fix -[2025-06-27 22:29:23] INFO: === STEP 3: Updating existing channels === -[2025-06-27 22:29:23] INFO: FORCE re-detecting countries for ALL existing channels... -[2025-06-27 22:29:23] INFO: === STEP 4: Processing imports === -[2025-06-27 22:29:23] INFO: ✅ Found bulk_import.m3u in current directory -[2025-06-27 22:29:23] INFO: Import file has 181 characters -[2025-06-27 22:29:23] INFO: Import file first 200 chars: #EXTINF:-1 tvg-id="SkySp.Mix.HD.uk" tvg-name="Sky Sports Mix FHD" tvg-logo="https://i.ibb.co/7kYj5gc/sky-mix.png" group-title="UK Sports",Sky Sports Mix FHD +[2025-06-27 22:44:45] INFO: === STEP 1: Creating backup === +[2025-06-27 22:44:45] INFO: Created backup: /workspace/stoney420/my-private-iptv-m3u1/backups/channels_20250627_224445.txt +[2025-06-27 22:44:45] INFO: === STEP 2: Cleaning corrupted channels === +[2025-06-27 22:44:45] INFO: Cleaning up any corrupted entries in channels.txt... +[2025-06-27 22:44:45] INFO: No corrupted entries found to fix +[2025-06-27 22:44:45] INFO: === STEP 3: Updating existing channels === +[2025-06-27 22:44:45] INFO: FORCE re-detecting countries for ALL existing channels... +[2025-06-27 22:44:45] DEBUG: Detected 🇬🇧 United Kingdom for: Sky Sports Mix FHD (keyword: 'sky') +[2025-06-27 22:44:45] INFO: FORCED UPDATE: 'Sky Sports Mix FHD' from 'Sports' to '🇬🇧 United Kingdom' +[2025-06-27 22:44:45] INFO: Created backup: channels.txt.backup.20250627_224445 +[2025-06-27 22:44:45] INFO: FORCE updated ALL 1 channels (1 changes made) +[2025-06-27 22:44:45] INFO: === STEP 4: Processing imports === +[2025-06-27 22:44:45] INFO: ✅ Found bulk_import.m3u in current directory +[2025-06-27 22:44:45] INFO: Import file has 181 characters +[2025-06-27 22:44:45] INFO: Import file first 200 chars: #EXTINF:-1 tvg-id="SkySp.Mix.HD.uk" tvg-name="Sky Sports Mix FHD" tvg-logo="https://i.ibb.co/7kYj5gc/sky-mix.png" group-title="UK Sports",Sky Sports Mix FHD https://a1xs.vip/2000008 -[2025-06-27 22:29:23] INFO: Processing /workspace/stoney420/my-private-iptv-m3u1/bulk_import.m3u... -[2025-06-27 22:29:23] INFO: Processing 2 lines after pre-processing... -[2025-06-27 22:29:23] INFO: Cleaned up import file -[2025-06-27 22:29:23] INFO: Saving 1 imported channels to file... -[2025-06-27 22:29:23] INFO: FileManager initialized - root: /workspace/stoney420/my-private-iptv-m3u1 -[2025-06-27 22:29:23] INFO: Appending 1 channels to: /workspace/stoney420/my-private-iptv-m3u1/channels.txt -[2025-06-27 22:29:23] INFO: Successfully appended 1 channels -[2025-06-27 22:29:23] INFO: Verified: /workspace/stoney420/my-private-iptv-m3u1/channels.txt now has 154 bytes -[2025-06-27 22:29:23] INFO: ✅ Successfully saved 1 channels to /workspace/stoney420/my-private-iptv-m3u1/channels.txt -[2025-06-27 22:29:23] INFO: Successfully imported 1 channels -[2025-06-27 22:29:23] INFO: Import returned 1 channels -[2025-06-27 22:29:23] INFO: === STEP 5: Loading all channels === -[2025-06-27 22:29:23] INFO: Attempting to load channels from: /workspace/stoney420/my-private-iptv-m3u1/channels.txt -[2025-06-27 22:29:23] INFO: Loaded 1 channels from file -[2025-06-27 22:29:23] INFO: Loaded 1 total channels -[2025-06-27 22:29:23] INFO: === STEP 6: Removing duplicates === -[2025-06-27 22:29:23] INFO: After deduplication: 1 channels -[2025-06-27 22:29:23] INFO: === STEP 9: Generating M3U === -[2025-06-27 22:29:23] INFO: Generated /workspace/stoney420/my-private-iptv-m3u1/playlist.m3u with 1 channels -[2025-06-27 22:29:23] INFO: Top countries: {'Sports': 1} -[2025-06-27 22:29:23] INFO: === STEP 10: Generating report === -[2025-06-27 22:29:23] INFO: Report saved: reports/playlist_report_20250627_222923.md -[2025-06-27 22:29:23] INFO: Playlist generation complete: 1 channels across 1 countries -[2025-06-27 22:29:23] INFO: === FINAL DEBUG === -[2025-06-27 22:29:23] INFO: === FILE SYSTEM DEBUG === -[2025-06-27 22:29:23] INFO: Current working directory: /workspace/stoney420/my-private-iptv-m3u1 -[2025-06-27 22:29:23] INFO: Files in current directory: ['docs', 'config', 'templates', 'playlist_update.log', '.git', 'README.md', 'playlist.m3u', 'channels.txt', 'scripts', 'reports', 'backups', '.forgejo'] -[2025-06-27 22:29:23] INFO: ❌ Missing: bulk_import.m3u -[2025-06-27 22:29:23] INFO: ✅ Found channels.txt (size: 154 bytes) -[2025-06-27 22:29:23] INFO: ✅ Found playlist.m3u (size: 187 bytes) -[2025-06-27 22:29:23] INFO: === END FILE SYSTEM DEBUG === +[2025-06-27 22:44:45] INFO: Processing bulk_import.m3u... +[2025-06-27 22:44:45] INFO: Processing 2 lines after pre-processing... +[2025-06-27 22:44:45] INFO: Cleaned up import file +[2025-06-27 22:44:45] INFO: ✅ Cleared contents of bulk_import.m3u (file preserved for future imports) +[2025-06-27 22:44:45] INFO: Saving 1 imported channels to file... +[2025-06-27 22:44:45] INFO: FileManager initialized - root: /workspace/stoney420/my-private-iptv-m3u1 +[2025-06-27 22:44:45] INFO: Appending 1 channels to: channels.txt +[2025-06-27 22:44:45] INFO: Successfully appended 1 channels +[2025-06-27 22:44:45] INFO: Verified: channels.txt now has 327 bytes +[2025-06-27 22:44:45] INFO: ✅ Successfully saved 1 channels to channels.txt +[2025-06-27 22:44:45] INFO: Successfully imported 1 channels +[2025-06-27 22:44:45] INFO: Import returned 1 channels +[2025-06-27 22:44:45] INFO: === STEP 5: Loading all channels === +[2025-06-27 22:44:45] INFO: Attempting to load channels from: channels.txt +[2025-06-27 22:44:45] INFO: Loaded 2 channels from file +[2025-06-27 22:44:45] INFO: Loaded 2 total channels +[2025-06-27 22:44:45] INFO: === STEP 6: Removing duplicates === +[2025-06-27 22:44:45] INFO: Removed 1 duplicate channels +[2025-06-27 22:44:45] INFO: After deduplication: 1 channels +[2025-06-27 22:44:45] INFO: === STEP 9: Generating M3U === +[2025-06-27 22:44:45] INFO: Generated playlist.m3u with 1 channels +[2025-06-27 22:44:45] INFO: Top countries: {'🇬🇧 United Kingdom': 1} +[2025-06-27 22:44:45] INFO: === STEP 10: Generating report === +[2025-06-27 22:44:45] INFO: Report saved: reports/playlist_report_20250627_224445.md +[2025-06-27 22:44:45] INFO: Playlist generation complete: 1 channels across 1 countries +[2025-06-27 22:44:45] INFO: === FINAL DEBUG === +[2025-06-27 22:44:45] INFO: === FILE SYSTEM DEBUG === +[2025-06-27 22:44:45] INFO: Current working directory: /workspace/stoney420/my-private-iptv-m3u1 +[2025-06-27 22:44:45] INFO: Files in current directory: ['docs', 'config', 'templates', 'playlist_update.log', '.git', 'README.md', 'playlist.m3u', 'channels.txt', 'scripts', 'reports', 'backups', '.forgejo', 'channels.txt.backup.20250627_224445', 'bulk_import.m3u'] +[2025-06-27 22:44:45] INFO: ✅ Found bulk_import.m3u (size: 8 bytes) +[2025-06-27 22:44:45] INFO: First 3 lines: ['#EXTM3U', '', ''] +[2025-06-27 22:44:45] INFO: ✅ Found channels.txt (size: 327 bytes) +[2025-06-27 22:44:45] INFO: ✅ Found playlist.m3u (size: 204 bytes) +[2025-06-27 22:44:45] INFO: === END FILE SYSTEM DEBUG === diff --git a/reports/playlist_report_20250627_224445.md b/reports/playlist_report_20250627_224445.md new file mode 100644 index 0000000..0c0d921 --- /dev/null +++ b/reports/playlist_report_20250627_224445.md @@ -0,0 +1,19 @@ +# IPTV Playlist Generation Report +**Generated:** 2025-06-27 22:44:45 + +## Summary Statistics +- **Total channels processed:** 2 +- **Valid channels:** 1 +- **Duplicates removed:** 1 +- **New channels imported:** 1 +- **Countries detected:** 1 + +## Channel Distribution by Country +- **🇬🇧 United Kingdom:** 1 channels + +## Configuration +- **Remove duplicates:** True +- **Auto country detection:** True +- **Quality detection:** True +- **Adult content filtering:** True +- **Health check enabled:** False diff --git a/scripts/__pycache__/channel_processor.cpython-311.pyc b/scripts/__pycache__/channel_processor.cpython-311.pyc index 4a594e1..3546215 100644 Binary files a/scripts/__pycache__/channel_processor.cpython-311.pyc and b/scripts/__pycache__/channel_processor.cpython-311.pyc differ diff --git a/scripts/__pycache__/config_manager.cpython-311.pyc b/scripts/__pycache__/config_manager.cpython-311.pyc index d5b0577..5456828 100644 Binary files a/scripts/__pycache__/config_manager.cpython-311.pyc and b/scripts/__pycache__/config_manager.cpython-311.pyc differ diff --git a/scripts/__pycache__/file_manager.cpython-311.pyc b/scripts/__pycache__/file_manager.cpython-311.pyc index 917119a..ca8fef2 100644 Binary files a/scripts/__pycache__/file_manager.cpython-311.pyc and b/scripts/__pycache__/file_manager.cpython-311.pyc differ diff --git a/scripts/__pycache__/health_checker.cpython-311.pyc b/scripts/__pycache__/health_checker.cpython-311.pyc index ebde4b0..4895843 100644 Binary files a/scripts/__pycache__/health_checker.cpython-311.pyc and b/scripts/__pycache__/health_checker.cpython-311.pyc differ diff --git a/scripts/__pycache__/playlist_builder.cpython-311.pyc b/scripts/__pycache__/playlist_builder.cpython-311.pyc index b9aefcc..4a72166 100644 Binary files a/scripts/__pycache__/playlist_builder.cpython-311.pyc and b/scripts/__pycache__/playlist_builder.cpython-311.pyc differ diff --git a/scripts/__pycache__/report_generator.cpython-311.pyc b/scripts/__pycache__/report_generator.cpython-311.pyc index e93f1e8..0816b4b 100644 Binary files a/scripts/__pycache__/report_generator.cpython-311.pyc and b/scripts/__pycache__/report_generator.cpython-311.pyc differ