From ff12c26040a55538f1cb5f3435d29e2fe10d55ed Mon Sep 17 00:00:00 2001 From: IPTV Playlist Bot Date: Fri, 27 Jun 2025 21:59:35 +0000 Subject: [PATCH] Updated playlist: 0 0 channels --- bulk_import.m3u | 50 -- config/patterns.json | 600 ++++++++++++++++++ playlist_update.log | 80 ++- .../channel_processor.cpython-311.pyc | Bin 25431 -> 25431 bytes .../config_manager.cpython-311.pyc | Bin 14135 -> 15238 bytes .../__pycache__/file_manager.cpython-311.pyc | Bin 9155 -> 9155 bytes .../health_checker.cpython-311.pyc | Bin 6333 -> 6333 bytes .../playlist_builder.cpython-311.pyc | Bin 6189 -> 6189 bytes .../report_generator.cpython-311.pyc | Bin 10080 -> 10080 bytes .../playlist_report_20250627_215933.md | 16 + 10 files changed, 688 insertions(+), 58 deletions(-) delete mode 100644 bulk_import.m3u create mode 100644 config/patterns.json create mode 100644 scripts/reports/playlist_report_20250627_215933.md diff --git a/bulk_import.m3u b/bulk_import.m3u deleted file mode 100644 index feb53d4..0000000 --- a/bulk_import.m3u +++ /dev/null @@ -1,50 +0,0 @@ -#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 - -#EXTINF:-1 tvg-id="New.England.Sports.Network.HDTV.(NESNHD).us" tvg-name="NESN UHD" tvg-logo="https://i.postimg.cc/CxVDbJrS/nesn.png" group-title="US Sports",NESN UHD -https://a1xs.vip/4000080 -#EXTINF:-1 tvg-id="MSG.(Madison.Square.Gardens).us" tvg-name="MSG" tvg-logo="https://i.postimg.cc/W1jFdzt4/MSG-Network-logo.png" group-title="US Sports",MSG FHD -https://a1xs.vip/4000001 -#EXTINF:-1 tvg-id="MSG.Plus.us" tvg-name="MSG_PLUS" tvg-logo="https://i.postimg.cc/W1jFdzt4/MSG-Network-logo.png" group-title="US Sports",MSG_PLUS FHD -https://a1xs.vip/4000002#EXTINF:-1 tvg-id="SkySpMainEvHD.uk" tvg-name="UK: Sky Sports Main Event UHD" tvg-logo="https://i.ibb.co/gwCk7Bc/sky-m-event-uhd.png" group-title="UHD | 4K",UK: Sky Sports Main Event UHD -https://a1xs.vip/2000015 -#EXTINF:-1 tvg-id="SkySp.F1.uk" tvg-name="UK: Sky Sports F1 UHD" tvg-logo="https://i.imgur.com/aetKPNi.png" group-title="UHD | 4K",UK: Sky Sports F1 UHD -https://a1xs.vip/2000016 -#EXTINF:-1 tvg-id="TNT.Sports.Ultimate.uk" tvg-name="UK: TNT Sports Ultimate UHD" tvg-logo="https://i.ibb.co/QqGdJnM/TNTSprts-U.png" group-title="UHD | 4K",UK: TNT Sports Ultimate UHD -https://a1xs.vip/2000031 -#EXTINF:-1 tvg-id="Astro.Sports.UHD.my" tvg-name="MY: Astro Sports UHD" tvg-logo="https://i.ibb.co/3hW45Pb/Astro-Sports-UHD.png group-title="UHD | 4K",MY: Astro Sports UHD -https://a1xs.vip/9000001#EXTINF:-1 group-title="Poland",PL | Golf Channel -http://185.236.229.62:9981/play/a03m -#EXTINF:-1 group-title="Poland",PL | HBO HD -http://185.236.229.62:9981/play/a06k -#EXTINF:-1 group-title="Poland",PL | HBO2 HD -http://185.236.229.62:9981/play/a05x#EXTINF:-1 group-title="Turkey",TR | TV 8.5 -http://live-tv.uk:8080/live/Crach_Iptv/Hekxbjelsofjur628264772new/735.ts -#EXTINF:-1 group-title="Ukraine",UA | Preshyi -http://193.151.107.120:10001/ -#EXTINF:-1 group-title="Ukraine",UA | Suspline Kultura -http://zadyma.online:8880/play/live.php?mac=00:1A:79:01:7F:7E&stream=436343&extension=ts -#EXTINF:-1 group-title="Ukraine",UA | PlusPlus -http://proxpanel.pro/play/live.php?mac=00:1A:79:D1:04:17&stream=630128&extension=ts&play_token=0 -#EXTINF:-1 group-title="Ukraine",UA | Detinets -http://193.151.107.120:8991/ -#EXTINF:-1 group-title="Ukraine",UA | One Planet -http://95.67.12.82:9088/ -#EXTINF:-1 group-title="Ukraine",UA | Rozpakuy TV -http://109.108.92.149:63182/ -#EXTINF:-1 group-title="Ukraine",UA | FreeDom -http://95.67.12.84:10304/ -#EXTINF:-1 group-title="Ukraine",UA | Dorama -http://95.67.12.82:9046/ -#EXTINF:-1 group-title="Ukraine",UA | KinoKazka -http://95.67.12.82:9084/ -#EXTINF:-1 group-title="Ukraine",UA | Continent-E -http://95.67.12.82:9083/ -#EXTINF:-1 group-title="Ukraine",UA | Yedyni novyny -http://95.67.12.89:9018/ -#EXTINF:-1 tvg-id="BBC.One.Lon.HD.uk" group-title="United Kingdom" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/main/countries/united-kingdom/bbc-one-uk.png",BBC One -http://31.121.110.30:4000/play/a002/index.m3u8 -#EXTINF:-1 tvg-id="BBC.Two.HD.uk" group-title="United Kingdom" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/main/countries/united-kingdom/bbc-two-uk.png",BBC Two -http://31.121.110.30:4000/play/a003/index.m3u8 -#EXTINF:-1 tvg-id="ITV1.HD.uk" group-title="United Kingdom" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/main/countries/united-kingdom/itv-1-uk.png",ITV 1 -http://31.121.110.30:4000/play/a004/index.m3u8 \ No newline at end of file diff --git a/config/patterns.json b/config/patterns.json new file mode 100644 index 0000000..7ea4c79 --- /dev/null +++ b/config/patterns.json @@ -0,0 +1,600 @@ +{ + "country_patterns": { + "๐Ÿ‡บ๐Ÿ‡ธ United States": [ + "cbs", + "nbc", + "abc", + "fox", + "espn", + "cnn", + "hbo", + " usa", + " us ", + ".us", + "america", + "nfl" + ], + "๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom": [ + "bbc", + "itv", + "sky", + "channel 4", + "e4", + " uk", + ".uk", + "british", + "premier league" + ], + "๐Ÿ‡จ๐Ÿ‡ฆ Canada": [ + "cbc", + "ctv", + "global", + "canada", + "canadian", + " ca ", + ".ca" + ], + "๐Ÿ‡ฉ๐Ÿ‡ช Germany": [ + "ard", + "zdf", + "rtl", + "sat.1", + "pro7", + "germany", + "german", + " de ", + ".de" + ], + "๐Ÿ‡ซ๐Ÿ‡ท France": [ + "tf1", + "france 2", + "m6", + "canal+", + "france", + "french", + " fr ", + ".fr" + ], + "๐Ÿ‡ช๐Ÿ‡ธ Spain": [ + "tve", + "antena 3", + "telecinco", + "spain", + "spanish", + " es ", + ".es" + ], + "๐Ÿ‡ฎ๐Ÿ‡น Italy": [ + "rai", + "mediaset", + "canale 5", + "italy", + "italian", + " it ", + ".it" + ], + "๐Ÿ‡ณ๐Ÿ‡ฑ Netherlands": [ + "npo", + "rtl nl", + "netherlands", + "dutch", + "holland", + " nl ", + ".nl" + ], + "๐Ÿ‡ง๐Ÿ‡ช Belgium": [ + "vtm", + "รฉรฉn", + "canvas", + "belgium", + "belgian", + " be ", + ".be" + ], + "๐Ÿ‡จ๐Ÿ‡ญ Switzerland": [ + "srf", + "rts", + "switzerland", + "swiss", + " ch ", + ".ch" + ], + "๐Ÿ‡ฆ๐Ÿ‡น Austria": [ + "orf", + "austria", + "austrian", + " at ", + ".at" + ], + "๐Ÿ‡ต๐Ÿ‡น Portugal": [ + "rtp", + "sic", + "tvi", + "portugal", + "portuguese", + " pt ", + ".pt" + ], + "๐Ÿ‡ฎ๐Ÿ‡ช Ireland": [ + "rte", + "tg4", + "ireland", + "irish", + " ie ", + ".ie" + ], + "๐Ÿ‡ธ๐Ÿ‡ช Sweden": [ + "svt", + "tv4", + "sweden", + "swedish", + " se ", + ".se" + ], + "๐Ÿ‡ณ๐Ÿ‡ด Norway": [ + "nrk", + "tv 2 no", + "norway", + "norwegian", + " no ", + ".no" + ], + "๐Ÿ‡ฉ๐Ÿ‡ฐ Denmark": [ + "dr", + "tv2 dk", + "denmark", + "danish", + " dk ", + ".dk" + ], + "๐Ÿ‡ซ๐Ÿ‡ฎ Finland": [ + "yle", + "mtv3", + "finland", + "finnish", + " fi ", + ".fi" + ], + "๐Ÿ‡ฎ๐Ÿ‡ธ Iceland": [ + "ruv", + "iceland", + "icelandic", + " is ", + ".is" + ], + "๐Ÿ‡ท๐Ÿ‡บ Russia": [ + "channel one", + "rossiya", + "ntv", + "russia", + "russian", + " ru ", + ".ru" + ], + "๐Ÿ‡ต๐Ÿ‡ฑ Poland": [ + "tvp", + "polsat", + "tvn", + "poland", + "polish", + " pl ", + ".pl" + ], + "๐Ÿ‡จ๐Ÿ‡ฟ Czech Republic": [ + "ct", + "nova", + "prima", + "czech", + " cz ", + ".cz" + ], + "๐Ÿ‡ธ๐Ÿ‡ฐ Slovakia": [ + "rtvs", + "markiza", + "slovakia", + "slovak", + " sk ", + ".sk" + ], + "๐Ÿ‡ญ๐Ÿ‡บ Hungary": [ + "mtv hu", + "rtl klub", + "hungary", + "hungarian", + " hu ", + ".hu" + ], + "๐Ÿ‡บ๐Ÿ‡ฆ Ukraine": [ + "1+1", + "inter", + "ictv", + "ukraine", + "ukrainian", + " ua ", + ".ua" + ], + "๐Ÿ‡ท๐Ÿ‡ด Romania": [ + "tvr", + "pro tv", + "romania", + "romanian", + " ro ", + ".ro" + ], + "๐Ÿ‡ง๐Ÿ‡ฌ Bulgaria": [ + "btv", + "nova bg", + "bulgaria", + "bulgarian", + " bg ", + ".bg" + ], + "๐Ÿ‡ญ๐Ÿ‡ท Croatia": [ + "hrt", + "nova tv hr", + "croatia", + "croatian", + " hr ", + ".hr" + ], + "๐Ÿ‡ท๐Ÿ‡ธ Serbia": [ + "rts", + "pink", + "serbia", + "serbian", + " rs ", + ".rs" + ], + "๐Ÿ‡ฌ๐Ÿ‡ท Greece": [ + "ert", + "mega gr", + "greece", + "greek", + " gr ", + ".gr" + ], + "๐Ÿ‡ง๐Ÿ‡ท Brazil": [ + "globo", + "band", + "sbt", + "brazil", + "brasil", + " br ", + ".br" + ], + "๐Ÿ‡ฆ๐Ÿ‡ท Argentina": [ + "telefe", + "canal 13", + "argentina", + " ar ", + ".ar" + ], + "๐Ÿ‡ฒ๐Ÿ‡ฝ Mexico": [ + "televisa", + "tv azteca", + "mexico", + "mรฉxico", + " mx ", + ".mx" + ], + "๐Ÿ‡จ๐Ÿ‡ฑ Chile": [ + "tvn", + "mega", + "chile", + "chilean", + " cl ", + ".cl" + ], + "๐Ÿ‡จ๐Ÿ‡ด Colombia": [ + "caracol", + "rcn", + "colombia", + "colombian", + " co ", + ".co" + ], + "๐Ÿ‡ต๐Ÿ‡ช Peru": [ + "america tv pe", + "peru", + "peruvian", + " pe ", + ".pe" + ], + "๐Ÿ‡ป๐Ÿ‡ช Venezuela": [ + "venevision", + "venezuela", + "venezuelan", + " ve ", + ".ve" + ], + "๐Ÿ‡จ๐Ÿ‡ณ China": [ + "cctv", + "phoenix", + "china", + "chinese", + " cn ", + ".cn" + ], + "๐Ÿ‡ฏ๐Ÿ‡ต Japan": [ + "nhk", + "fuji", + "tv asahi", + "japan", + "japanese", + " jp ", + ".jp" + ], + "๐Ÿ‡ฐ๐Ÿ‡ท South Korea": [ + "kbs", + "sbs kr", + "mbc kr", + "korea", + "korean", + " kr ", + ".kr" + ], + "๐Ÿ‡ฐ๐Ÿ‡ต North Korea": [ + "kctv", + "north korea", + "dprk" + ], + "๐Ÿ‡น๐Ÿ‡ผ Taiwan": [ + "cts", + "ctv", + "tvbs", + "taiwan", + "taiwanese", + " tw ", + ".tw" + ], + "๐Ÿ‡ญ๐Ÿ‡ฐ Hong Kong": [ + "tvb", + "atv", + "hong kong", + "hongkong", + " hk ", + ".hk" + ], + "๐Ÿ‡น๐Ÿ‡ญ Thailand": [ + "ch3", + "ch7", + "thai pbs", + "thailand", + "thai", + " th ", + ".th" + ], + "๐Ÿ‡ป๐Ÿ‡ณ Vietnam": [ + "vtv", + "htv", + "vietnam", + "vietnamese", + " vn ", + ".vn" + ], + "๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia": [ + "tvri", + "sctv", + "rcti", + "indonesia", + "indonesian", + " id ", + ".id" + ], + "๐Ÿ‡ฒ๐Ÿ‡พ Malaysia": [ + "tv1", + "tv3", + "astro", + "malaysia", + "malaysian", + " my ", + ".my", + "my:" + ], + "๐Ÿ‡ธ๐Ÿ‡ฌ Singapore": [ + "channel 5", + "channel 8", + "singapore", + " sg ", + ".sg" + ], + "๐Ÿ‡ต๐Ÿ‡ญ Philippines": [ + "abs-cbn", + "gma", + "philippines", + "filipino", + " ph ", + ".ph" + ], + "๐Ÿ‡ฎ๐Ÿ‡ณ India": [ + "star plus", + "zee tv", + "colors", + "sony tv", + "india", + "indian", + "hindi", + " in ", + ".in" + ], + "๐Ÿ‡ต๐Ÿ‡ฐ Pakistan": [ + "ptv", + "geo tv", + "ary", + "pakistan", + "pakistani", + " pk ", + ".pk" + ], + "๐Ÿ‡ง๐Ÿ‡ฉ Bangladesh": [ + "btv", + "channel i", + "bangladesh", + "bangladeshi", + " bd ", + ".bd" + ], + "๐Ÿ‡ฑ๐Ÿ‡ฐ Sri Lanka": [ + "rupavahini", + "sirasa", + "sri lanka", + " lk ", + ".lk" + ], + "๐Ÿ‡ณ๐Ÿ‡ต Nepal": [ + "nepal tv", + "kantipur", + "nepal", + "nepali", + " np ", + ".np" + ], + "๐Ÿ‡ฆ๐Ÿ‡ซ Afghanistan": [ + "rta", + "tolo tv", + "afghanistan", + "afghan", + " af ", + ".af" + ], + "๐Ÿ‡ฆ๐Ÿ‡บ Australia": [ + "abc au", + "seven", + "nine", + "ten", + "australia", + "australian", + "aussie", + " au ", + ".au" + ], + "๐Ÿ‡ณ๐Ÿ‡ฟ New Zealand": [ + "tvnz", + "tvnz 1", + "tvnz 2", + "three nz", + "tvnz duke", + "new zealand", + "kiwi", + " nz ", + ".nz" + ], + "๐Ÿ‡ธ๐Ÿ‡ฆ Arabic": [ + "al jazeera", + "mbc", + "lbc", + "dubai tv", + "arabic", + "arab", + "qatar", + "dubai", + "saudi" + ], + "๐Ÿ‡ฎ๐Ÿ‡ฑ Israel": [ + "kan", + "keshet 12", + "israel", + "israeli", + "hebrew", + " il ", + ".il" + ], + "๐Ÿ‡น๐Ÿ‡ท Turkey": [ + "trt", + "atv", + "kanal d", + "turkey", + "turkish", + " tr ", + ".tr", + "tr |" + ], + "๐Ÿ‡ฎ๐Ÿ‡ท Iran": [ + "irib", + "press tv", + "iran", + "iranian", + "persian", + " ir ", + ".ir" + ], + "๐Ÿ‡ช๐Ÿ‡ฌ Egypt": [ + "nile tv", + "cbc egypt", + "egypt", + "egyptian", + " eg ", + ".eg" + ], + "๐Ÿ‡ฟ๐Ÿ‡ฆ South Africa": [ + "sabc", + "etv", + "mnet", + "south africa", + " za ", + ".za" + ], + "๐Ÿ‡ณ๐Ÿ‡ฌ Nigeria": [ + "nta", + "channels tv", + "nigeria", + "nigerian", + " ng ", + ".ng" + ] + }, + "country_prefixes": { + "๐Ÿ‡บ๐Ÿ‡ฆ Ukraine": [ + "ua |" + ], + "๐Ÿ‡ต๐Ÿ‡ฑ Poland": [ + "pl |" + ], + "๐Ÿ‡น๐Ÿ‡ท Turkey": [ + "tr |" + ], + "๐Ÿ‡ฒ๐Ÿ‡พ Malaysia": [ + "my:", + "my |" + ], + "๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom": [ + "uk:", + "uk |" + ], + "๐Ÿ‡บ๐Ÿ‡ธ United States": [ + "us:", + "us |" + ] + }, + "quality_patterns": { + "4K": [ + "4k", + "uhd", + "2160p" + ], + "FHD": [ + "fhd", + "1080p", + "1080" + ], + "HD": [ + "hd", + "720p", + "720" + ], + "SD": [ + "sd", + "480p", + "360p" + ] + }, + "adult_keywords": [ + "xxx", + "adult", + "porn", + "sex", + "erotic", + "playboy", + "18+" + ] +} \ No newline at end of file diff --git a/playlist_update.log b/playlist_update.log index 6a0064b..13e6bf6 100644 --- a/playlist_update.log +++ b/playlist_update.log @@ -1,8 +1,72 @@ -[2025-06-27 21:44:30] INFO: No import file found, skipping import -[2025-06-27 21:44:30] INFO: Import returned 0 channels -[2025-06-27 21:44:30] INFO: No channels.txt file found -[2025-06-27 21:44:30] INFO: Generated playlist.m3u with 0 channels -[2025-06-27 21:44:30] INFO: Top countries: {} -[2025-06-27 21:44:30] INFO: Report saved: reports/playlist_report_20250627_214430.md -[2025-06-27 21:44:30] INFO: Playlist generation complete: 0 channels across 0 countries -[2025-06-27 21:44:30] INFO: Top countries: {} +[2025-06-27 21:59:33] INFO: === STEP 1: Creating backup === +[2025-06-27 21:59:33] INFO: === STEP 2: Cleaning corrupted channels === +[2025-06-27 21:59:33] INFO: Cleaning up any corrupted entries in channels.txt... +[2025-06-27 21:59:33] INFO: No corrupted entries found to fix +[2025-06-27 21:59:33] INFO: === STEP 3: Updating existing channels === +[2025-06-27 21:59:33] INFO: FORCE re-detecting countries for ALL existing channels... +[2025-06-27 21:59:33] INFO: === STEP 4: Processing imports === +[2025-06-27 21:59:33] INFO: Found import file at: ../bulk_import.m3u +[2025-06-27 21:59:33] INFO: Processing ../bulk_import.m3u... +[2025-06-27 21:59:33] INFO: Processing 53 lines after pre-processing... +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ธ United States for: NESN UHD (keyword: '.us') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'NESN UHD' โ†’ ๐Ÿ‡บ๐Ÿ‡ธ United States +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ธ United States for: MSG FHD (keyword: '.us') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'MSG FHD' โ†’ ๐Ÿ‡บ๐Ÿ‡ธ United States +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ธ United States for: MSG_PLUS FHD (keyword: '.us') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'MSG_PLUS FHD' โ†’ ๐Ÿ‡บ๐Ÿ‡ธ United States +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom for: UK: TNT Sports Ultimate UHD (prefix: 'uk:') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UK: TNT Sports Ultimate UHD' โ†’ ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡ฒ๐Ÿ‡พ Malaysia for: MY: Astro Sports UHD (prefix: 'my:') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'MY: Astro Sports UHD' โ†’ ๐Ÿ‡ฒ๐Ÿ‡พ Malaysia +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡ต๐Ÿ‡ฑ Poland for: PL | Golf Channel (prefix: 'pl |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'PL | Golf Channel' โ†’ ๐Ÿ‡ต๐Ÿ‡ฑ Poland +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡น๐Ÿ‡ท Turkey for: TR | TV 8.5 (prefix: 'tr |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'TR | TV 8.5' โ†’ ๐Ÿ‡น๐Ÿ‡ท Turkey +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | Preshyi (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | Preshyi' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | Suspline Kultura (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | Suspline Kultura' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | PlusPlus (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | PlusPlus' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | Detinets (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | Detinets' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | One Planet (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | One Planet' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | Rozpakuy TV (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | Rozpakuy TV' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | FreeDom (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | FreeDom' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | Dorama (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | Dorama' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | KinoKazka (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | KinoKazka' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | Continent-E (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | Continent-E' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine for: UA | Yedyni novyny (prefix: 'ua |') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'UA | Yedyni novyny' โ†’ ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +[2025-06-27 21:59:33] DEBUG: Detected ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom for: ITV 1 (keyword: 'itv') +[2025-06-27 21:59:33] DEBUG: Auto-detected: 'ITV 1' โ†’ ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom +[2025-06-27 21:59:33] INFO: Cleaned up import file +[2025-06-27 21:59:33] INFO: Successfully imported 26 channels +[2025-06-27 21:59:33] INFO: Import returned 26 channels +[2025-06-27 21:59:33] INFO: === STEP 5: Loading all channels === +[2025-06-27 21:59:33] INFO: Loaded 0 channels from file +[2025-06-27 21:59:33] INFO: Loaded 0 total channels +[2025-06-27 21:59:33] INFO: === STEP 6: Removing duplicates === +[2025-06-27 21:59:33] INFO: After deduplication: 0 channels +[2025-06-27 21:59:33] INFO: === STEP 9: Generating M3U === +[2025-06-27 21:59:33] INFO: Generated /workspace/stoney420/my-private-iptv-m3u1/playlist.m3u with 0 channels +[2025-06-27 21:59:33] INFO: Top countries: {} +[2025-06-27 21:59:33] INFO: === STEP 10: Generating report === +[2025-06-27 21:59:33] INFO: Report saved: reports/playlist_report_20250627_215933.md +[2025-06-27 21:59:33] INFO: Playlist generation complete: 0 channels across 0 countries +[2025-06-27 21:59:33] INFO: === FINAL DEBUG === +[2025-06-27 21:59:33] INFO: === FILE SYSTEM DEBUG === +[2025-06-27 21:59:33] INFO: Current working directory: /workspace/stoney420/my-private-iptv-m3u1/scripts +[2025-06-27 21:59:33] INFO: Files in current directory: ['health_checker.py', 'playlist_builder.py', 'config', 'generate_playlist.py', 'config_manager.py', '__init__.py', 'playlist_update.log', '__pycache__', 'file_manager.py', 'reports', 'backups', 'report_generator.py', 'channel_processor.py'] +[2025-06-27 21:59:33] INFO: โŒ Missing: bulk_import.m3u +[2025-06-27 21:59:33] INFO: โŒ Missing: channels.txt +[2025-06-27 21:59:33] INFO: โŒ Missing: playlist.m3u +[2025-06-27 21:59:33] INFO: โŒ Missing: ../bulk_import.m3u +[2025-06-27 21:59:33] INFO: โœ… Found ../channels.txt (size: 0 bytes) +[2025-06-27 21:59:33] INFO: === END FILE SYSTEM DEBUG === diff --git a/scripts/__pycache__/channel_processor.cpython-311.pyc b/scripts/__pycache__/channel_processor.cpython-311.pyc index dd69ca5c7e34e1e73697780940034b17f3d44f6d..c4c94d23937c5aa05ef9f8399c912d1cbf1af414 100644 GIT binary patch delta 21 bcmcb9jPd$0My}<&yj%=Gz$~(n%QqPSO;-h! delta 21 bcmcb9jPd$0My}<&yj%=GP%W^L%QqPSP!k3S diff --git a/scripts/__pycache__/config_manager.cpython-311.pyc b/scripts/__pycache__/config_manager.cpython-311.pyc index 241d9c5affe6fc5ba703691fe5fc8dabf4c12d80..6c375fb547675dee5bb91e58c52bf834817b52b8 100644 GIT binary patch delta 2295 zcmb7FO-vg{6rQ!$_F#h{2~Lf{$(ow*qd)>yX$uYzAb*sE#574&DOe6(z{Gg1*`*=K z6_NUr9C|?$skyX5s+5v6RjayHa;aMN+RJXcRijm?dT0(+FH~(WQKfd?+H0V}kvblK z^Y*=O-+beldA^r<`?B}Lswy{P&0ZUy`MPu2JKf#w9+EOssp)x=P*PGxIGM;KrbQyO z3rA19a%5PTl87)V5h6}1!c;0P3fY7*BQJk7&2`geF1#dMPAM}*t{LhuoRen8NgK>m zY)&@X+4qkCkI=hF;j92c$|l||=KrV^n=M6Nx8-b`p6oe$j$8B~l&eE=NNctnnl0HY zJiW!WEGdj*wVXX^hj+HlkwbCNX14#Z`EA**GHk~->?IV(W$4ar=qO%cu{Wjej zYHl4cwnT9;T3YHx)Q?cIq8P5+NWD@;-#^e;!!mj|Ijb#a%_ip#aE2Lkr{z?dEeoO9 zTFXwl=}!lDHLM0>MrxB_c!3BhKWv1{dZI%|MYqw>uJY!j#N0`le zE*yuarLO*;sY~Z+BXvg^)iqlWBZrb`9JTJCVf$N4H8Dw2gk%b?o}7rkQ-9e(1bxB3a(Hv`AbDdTa&nN1KeqZsZ&1&A~8hGXs$40c(ezu13>8a7Eb zc&HSHvoLWhZ}761o+5C74Yxc=Qdz}(6%+OgfF-k{fdqkm%V)w5S$VjM9{K9tYgwMS zF`@g~uDc)X3hKMU*YVGR#+6sKzyUhq2#){dM0-Lj{?$`js7DL->cQUYyp98FL17zb z{hpf(YFn?iw^yr=>h)2e`q%vRH;=2$QLQ1W`48#-L-b8Yc8TS!sClPS^>wXc2CQp1 zqT`5)BWt)C0)wkby<>oltZR5k$3rR}D#rR&hxPqY)z`LJ!ZuelF! z0=?(%_B;y?AA`jP+8L>(l^)D>=6#;;tGQhM*T6B3`yk)h;I(lV@&kJw+PM4qVCXxJ z`z^oT=&-rk*>)1d(Z9o?z^9OD1)vAKkHIN^3kBKmJP0rZFbr^nL92@hY%pq);#6Wjt;E^+R78@I z$uSye4u)7AMP!754AoyKG-56s>PvCq>1NEG&CfSqb8nIA>Kb&8LV|O2tgEGRLp3=| z-{|Ui8EWVgn!#6+Y}nIcW?S73Q#U!r=thO~nn*}0DavGoIwB#bsjrUikF;>#*xtQ&e5js-jil7 z$iRNmY1qU8W|JTQEXQ!c%}=K;nw7(xip&7bd=E4{#?d(`IiD8$$Sl3vJ=#BN=XS26 O?eTZh|7V$~ne<;}ulltB delta 1313 zcmZ`(%}*0S6rWkP+igo*tVOYcY}KmeGioe?_(>3BP&^nhF%cGaDJ9D;&TjocqFfYB zjEPR-M>K|$28jo=Bwmbvfib8gl8qjWddKKRy*O`63q*WvfAik&y?OKAeDvzM7kcPP zFz822E|zrlKdZYHN*_M#Z!z?~Ogc+sD`V)=5m}ehDv@fXL$a=Dswv5uCiO0f(F|G1 z=xK=sNP}+tpsHK9Cet`USK^JQ>Kq|Ap_hZj=B0>@@cS`^5xR>khItvmkC`=DU`9~a zB7LBsk8|`)QIvkc(aTB^3xag6C_J2)CuuPs(9H3*KD>zQ? z2yt&RLZDyzS%}i#!uv>)b9htL`Un(Y!cJ44sIPd#lu`64w(j2W+gR01tcpGmD=Ov$ zw65kFKO@FwE2?wjTGuX{Evuyg-_YuBV)#b!bm`8wV&jb1IGz96o&HWf0o6K!dOl-X zro$UUs_yUuroj;I0x4r|vW8BF>T&FLI3=tFJ3^boalFAk9ey9iS$kV$8^#aqVJXDn z6ZZA>A36No?n}JG_^aKx*~57^v12B`5N%DyV-t|zKEQThe}L8j&`L*>9|BuJ-R8P! zPgQ$p2dI?{4o+|+MPF9!C@lf10bnOUBR~@ssuP!U#e%&Hpc!B{z#axkFNv|iDN)ou zIjdP+L$YP5L^sJkpo3XcB?ZnAdu2;a8{`5hWnR+4z=XRb<%GEV5M{)0dG3|5*F~RJ zuf%QktLicTl0J^54hXG~rGwr}Z7E)8i5#V`Q+3DTYW&j>aD{%HB2CqoZOY>|m21Ig zoK*?QD5^e89AI`x*a)Qw)6d3rpLYX p?jl5nsKV;M#pXdn$!h8zqR>B0?RzhAI5LNp$L}ux^FLlU>0jMq8!i9< diff --git a/scripts/__pycache__/file_manager.cpython-311.pyc b/scripts/__pycache__/file_manager.cpython-311.pyc index 5456aabfef7aa766a28167428d0bb1810dd7354b..8fe661b2345d4071e323f12fee7d9ed1764015e0 100644 GIT binary patch delta 19 ZcmX@?e%PIBIWI340}wEaY~ delta 19 ZcmZ2$u-1TUIWI340}xaTY~)gw001zg1Q7rL diff --git a/scripts/__pycache__/report_generator.cpython-311.pyc b/scripts/__pycache__/report_generator.cpython-311.pyc index b01d617473dbf81fbabb3641f4935963b59f9394..1026bbd28698ec7ca51e9998fb5e630c1d076408 100644 GIT binary patch delta 19 ZcmaFh_rQ;9IWI340}wEaY~%`42LL&R1c3km delta 19 ZcmaFh_rQ;9IWI340}xaTY~%`42LL=l1oZ#_ diff --git a/scripts/reports/playlist_report_20250627_215933.md b/scripts/reports/playlist_report_20250627_215933.md new file mode 100644 index 0000000..bcfca14 --- /dev/null +++ b/scripts/reports/playlist_report_20250627_215933.md @@ -0,0 +1,16 @@ +# IPTV Playlist Generation Report +**Generated:** 2025-06-27 21:59:33 + +## Summary Statistics +- **Total channels processed:** 0 +- **Valid channels:** 0 +- **Duplicates removed:** 0 +- **New channels imported:** 26 +- **Countries detected:** 0 + +## Configuration +- **Remove duplicates:** True +- **Auto country detection:** True +- **Quality detection:** True +- **Adult content filtering:** True +- **Health check enabled:** False