From e41d8409ee4ed08556ba25a763364afa74f3da07 Mon Sep 17 00:00:00 2001 From: IPTV Playlist Bot Date: Fri, 27 Jun 2025 22:44:48 +0000 Subject: [PATCH] Updated playlist: 1 channels --- backups/channels_20250627_224445.txt | 5 + bulk_import.m3u | 3 +- channels.txt | 6 ++ channels.txt.backup.20250627_224445 | 5 + playlist.m3u | 2 +- playlist_update.log | 91 ++++++++++-------- reports/playlist_report_20250627_224445.md | 19 ++++ .../channel_processor.cpython-311.pyc | Bin 26205 -> 27889 bytes .../config_manager.cpython-311.pyc | Bin 15238 -> 14390 bytes .../__pycache__/file_manager.cpython-311.pyc | Bin 12488 -> 12488 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 13 files changed, 86 insertions(+), 45 deletions(-) create mode 100644 backups/channels_20250627_224445.txt create mode 100644 channels.txt.backup.20250627_224445 create mode 100644 reports/playlist_report_20250627_224445.md 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 4a594e1ac94d0217233e42bbf5b2c28af18df40f..354621576de66480a59844da041a5083c4c54d17 100644 GIT binary patch delta 1912 zcma)5Z%h+s7=Pb8j*deA>9w@9g@YCf6J33afUyFv~)mR#oiUGQ#Mp3VL32H*3CQJ6QZf4`dlI?wabTV*%-ahx- z^FDun&-3(_=HZk3P=86M(*k@hRtJuK)%B(R=Ps&Fi%jjltiL-`g7)_{vm1HS3xl%eqV-tSVvmK6X0!n2uwiK*|*tj7sPmsi-x#KH`f>nM+EMqB*X;iEo=@&B`%bR zCnSMW3&ffx8#>i349xe%-#jap`W}T)<~b?4yE@A`v9{C6{Kun zd{i7A6C~*>I^*NeW#7@tv&7>nVP6wBO)L>4BSY@Ne(DznO$;8VUW3`kgS)9Td-jxK za4i}<3kHwexc@qvGxREk-aIhqMqr*QH4VZaZO(K2g%e8k_Ag@B{IablXX{aHJ$V4l zo8|sP_pG*$HRm;%@|?9D9{R<>jJ&wfZ4zo$6X- z-3zQ+u1{Sn`Jr5S)sH2Wa_nh^JuMe#d8v}a88GJ6{GJ-`SzvL8UW}OVMsJSwDQwy& zvug>%SjH{jELeDGGEdnRQ~jc;X~EPazqtDvlQVTHrp`Rj6ed(+>V-?JW$M7njB;$N z!nVq6>q=P__Ta4dn-OJ~SFRt#lwz6U5S$`39Zvk|X{|$8ab(7rKjVZ_WC~S|s zj*5_b3FLe!z@W<)jogBflWT{H6RRDZMbBHD-8<;{7KUhcFhsM9WV=<{-p=%T!0iU&d)uQuXr*s& zbspSE-_aA_I~y6Sxntc+;mcjS)~l!Q)>nJWXoZGYR>~N!K07-+PQmX{!{K^3iO*0X4Fk?_+h}+TT{+@|pJ%Dj8CX6?z6?4n#--V8_9#WU4?)I~Dam+0 z)8+w@pTm!#`+V5ENIonlVdn|c5tc)Kp#v_VY2lp%CraTyyvu)nJyC5>|HVbB#999Y DTlXzN delta 630 zcmex(lkx5uM!w~|yj%<*ARV7!;=YmZlQ)w9`(#1K(9PjK3s@#|hNv+LPc{gVXB3$n z5F#olnj?`bSmWJXwHQjIEZhhHrt?bYp-8h<0B9a7Ol$$zBy;H+f!Pdmnb1v0XGms>WJqDJ6{r&khSKGXxAY%^1|9n)s3_#j3%XQ13cLm6Ko zhC{rfPI}CTlz2dFJr*Y;_CrR@AhszZh;8O24dk2^;__oV$H08niV?^@$H3~x zy4fc&mx=M<MW845wk!9FNiol`E|B4cjq9~f{`A0cvI@F*z~2bu~1em9$Gc9PI(9ni&=47t zA83(ys2zz~RIMyN3MKtBs#FOf^&#;RO>t%}Mk(EG@|#>jdtMCi6_$=stg|!~Zwso^@!(6bl`L&45X{qHE&U(FJIV*b$+F=@Q2q!I)spu$R1n>AhiJtNEL zXJ2D}@t&{!zOS8LvIc{?88vpEYx+N+fNAfviEue-RW$i4#ytB$MzA?Fdwkz__#^-!$WWO zM(Ab7C>O{H^bsdHUq!P2ZQ&guJ;RK=vsDPL`{-)0UvIq1l31x!5N3Vhxlq?e|Lm(5 zn#uvpIs7t;gy;ijCk=}=c!Ktd9~^lI>#aFvV++wU8FES?>O&|$twu@5CR0juT8X8y z)6w{}5x~rDT<|J&{Z)w8`~x3lx%ORu+6AMKhDy+CDxDh zp@<159*kjsQ$DZan$fe9CjiIyKQ{-Ze5Dwr&7?3j?Jh#riD zeJilemjL=e`!}$0fWve-@{{9vpuL8fPPUJ^27tCQICRZK2I<%BeYI7f8Uh#wcmZHH zHFvZumG%_m7XkJF>;>4zAYvgt_R^|kB@vrXWutSkEGwn7N=85}&Z|&Y>pIOEk7bpq z40(&xGAlXAK!w{dRBFU17l|nr1Euc-`##VwJ8JOJ;x`>8S15&-xts&6n@t~_ge&nn-e^O7*Eqi3PB zS@7zp0%Q0T7D77Ogs*Xu;L+))!_t@$4PvmZnS^41t<+2z)ks{ku+5lGB`1yB-Ixo3 n`*vfJPprFVGxB^&*+UZa>G0UzeH`}aXls0A=>Pg3tKsxt@uT4s delta 2799 zcmb7FTWl0n7(TPJGkf;Z?Lxb-y)2#H*lnd1C|0C}*0vO=g+dExNMy3?Oxta@yUp3D zRI*rNyzoFw$T5LLF-=U6o6)#lcra1GH(z$m7&jA$nuwA3U=8|$FP?w4yIrIu@$A`e z{`3Fe`Oi0J&gJvzH;%hMC@FCuC{^u3=6(9?`}Zxn`)<5W{B1u*DoH z2O@j$?0>(~iqJWvaZ53+hx_SkIixKeS2qlbQ1H$1IGPt$oyf`LwP2Qego41Oe zFj~HydxgiPF8!aW3kz&1b?XYMJ^!6R1&yGlRkVSBeaMV;USRQXa zajQ0~IhXvK=@q{A*+;g1laIg#G_Y(ADa(d99U^K>GaR`iL1y9&VQLZ{d_tqY@ZWbD zmUzOj!qH)fxq+LkhBcu^M+vNG!;uJ+$h2m5#e~fOSP6EDAW5R%T4N2j*?Dma-St*n z2%bIq_EFv2eAj#+CMN zzJwXDn!#;4ZcF2~JGc}AJ(m={wVORz&EQ@g_oi|0Vr<8yK7B)H+Pj0*4DQl#R~mOc zu3ure;m<6e+P-kled4~Z>0Lvajr;YD`_tZGRx@}+$0KPxvY6<=hr`#N|LEwIqu2ZN z&V8AdA-!cN?LEM11`q3aIE{zz=A`b)-~k;Er1SMYY>RN=NM?;v_J_}WUt!1dIi%EZ zO7YL4@QPItm`_kd#rCe7z9kL`Sg~Jo&{tM%qt&*0&Pls%je<*IKN{cEM5(QhFG&jY z$4zVPu9LzmLTrLX9@qkcd$C_lVCnGVk`~2st@I)jaTSD^g+q{y^*Xt^i}SGjwE}1E zobT|44F~VRO>z$wP5(WCp<&&#uYah?ZLA{dRQx4XR%WK7k#I;;6Lhux%vQrW6`GZg z$H}Bh5=NOC3muE9^0*p`YU6TvTn$ee<;5*oi%hBU8IAsG57J$Zx9o6Sk{Sl|XGfV> z1+8lO!0{v}(Pn46vmP8?1}CcN#x3P^&WU$!V$Fnw2|a}tL{zsv>#xl=1he%4sO##o z%o7M^tE#j0!E8e#M44Stv*0f+cPtwj=QV@3cvs4p<+-VP?*Fa4J-WCtaIr@Uq0f{7$u0Nnu3(k}yzTXT~N z?H+($fIfho44Q02Vh_WksH35os3x-mMpH>FL3YuKpud*gjED>{NWgtAfvJF0}#+KDCnA*uM zMmOwibrKR$)C3uz)-AQ7sj-4Su_egeOdZ@ZYnf|+w6K^6NGBBxE+f(iwn>HsPXJ&G zB~%8d3cswiJ8kV=u+|CBaSP}X+|AVqKJYKXZf=qjqyG4b2brK(pC0TQwmx^D diff --git a/scripts/__pycache__/file_manager.cpython-311.pyc b/scripts/__pycache__/file_manager.cpython-311.pyc index 917119ae758e6c05b96f02d74369d80e0f5d21d9..ca8fef2c86267ac095f0105297a715f0e3c89b2a 100644 GIT binary patch delta 19 ZcmX?+cp{N&IWI340}#xW+sL)g002Ew1&jay delta 19 YcmX?+cp{N&IWI340|-cO;M1& diff --git a/scripts/__pycache__/health_checker.cpython-311.pyc b/scripts/__pycache__/health_checker.cpython-311.pyc index ebde4b0ee0a8b8b4427523cf1e6b024926120649..489584353f7f556a45e3cedc267b4dfb95357878 100644 GIT binary patch delta 19 ZcmdmMxYv+tIWI340}#xW+sL(90su8Q1oHp@ delta 19 YcmdmMxYv+tIWI340|-cO