From 4dc08662178e2c5d3288ced71c9b60998a5b762e Mon Sep 17 00:00:00 2001 From: stoney420 Date: Sun, 29 Jun 2025 02:06:07 +0200 Subject: [PATCH] Update scripts/generate_playlist.py --- scripts/generate_playlist.py | 37 +++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/scripts/generate_playlist.py b/scripts/generate_playlist.py index 629c8d5..1712669 100644 --- a/scripts/generate_playlist.py +++ b/scripts/generate_playlist.py @@ -1,12 +1,21 @@ #!/usr/bin/env python3 """ -IPTV Playlist Generator - Guaranteed Working Version -Has enhanced country detection built-in, no complex imports needed +IPTV Playlist Generator - Enhanced Country Detection +FIXED: Properly handles working directory for Forgejo """ import os +import sys import shutil from datetime import datetime +from pathlib import Path + +# FIXED: Ensure we're in the right directory +script_dir = Path(__file__).parent +root_dir = script_dir.parent + +# Change to root directory where channels.txt should be +os.chdir(root_dir) def setup_directories(): """Create required directories.""" @@ -101,18 +110,40 @@ def detect_country_enhanced(channel_name, epg_id="", logo_url=""): return "🌍 International" +def debug_current_directory(): + """Debug what files are available in current directory.""" + current_dir = os.getcwd() + print(f"🗂️ Current working directory: {current_dir}") + + files = os.listdir('.') + print(f"📁 Files in directory: {len(files)} items") + + # Check for our key files + key_files = ['channels.txt', 'playlist.m3u', 'bulk_import.m3u'] + for file in key_files: + if os.path.exists(file): + size = os.path.getsize(file) + print(f"✅ Found {file} ({size} bytes)") + else: + print(f"❌ Missing {file}") + def load_channels(): """Load existing channels from channels.txt.""" channels = [] + # Debug first + debug_current_directory() + if not os.path.exists('channels.txt'): - print("No existing channels.txt found") + print("❌ No existing channels.txt found") return channels try: with open('channels.txt', 'r', encoding='utf-8') as f: content = f.read() + print(f"📄 channels.txt size: {len(content)} characters") + blocks = content.split('\n\n') for block in blocks: