From 00000d9d4078606280013ae994e2e3f5dc9e8474 Mon Sep 17 00:00:00 2001 From: doms9 <96013514+doms9@users.noreply.github.com> Date: Tue, 30 Sep 2025 12:29:54 -0400 Subject: [PATCH] e --- EPG/TVG-IDs.json | 140 ----------------------------------------------- EPG/fetch.py | 27 +++++++-- M3U8/base.m3u8 | 6 +- 3 files changed, 24 insertions(+), 149 deletions(-) delete mode 100644 EPG/TVG-IDs.json diff --git a/EPG/TVG-IDs.json b/EPG/TVG-IDs.json deleted file mode 100644 index e6a2b49..0000000 --- a/EPG/TVG-IDs.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "A.and.E.HD.East.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s51529_dark_360w_270h.png", - "ABC.(WFTS).Tampa.Bay,.FL.us": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10003_dark_360w_270h.png", - "ACC.Network.us2": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s111871_dark_360w_270h.png", - "AdultSwim.com.Cartoon.Network.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16496_dark_360w_270h.png", - "AMC.HD.us2": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10021_dark_360w_270h.png", - "Animal.Planet.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16331_dark_360w_270h.png", - "ASPiRE.HD.us2": "https://i.gyazo.com/0dec42cc5ef48c489cc10db906dc5b9b.png", - "Astro.Premier.League.my": "https://1000logos.net/wp-content/uploads/2020/08/Astro-Logo-500x281.png", - "BBC.America.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s64492_dark_360w_270h.png", - "BBC.News.(North.America).HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s89542_dark_360w_270h.png", - "BET.HD.us2": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10051_dark_360w_270h.png", - "Big.Ten.Network.HD.us2": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s56783_dark_360w_270h.png", - "Bloomberg.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s71799_dark_360w_270h.png", - "Boomerang.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s21883_dark_360w_270h.png", - "Bounce.TV.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s73067_dark_360w_270h.png", - "Bravo.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10057_dark_360w_270h.png", - "BUZZR.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s93430_dark_360w_270h.png", - "Cartoon.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12131_dark_360w_270h.png", - "CBS.(WCBS).New.York,.NY.us": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10098_dark_360w_270h.png", - "CBS.Sports.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16365_dark_360w_270h.png", - "CMT.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10138_dark_360w_270h.png", - "CNBC.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10139_dark_360w_270h.png", - "CNN.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58646_dark_360w_270h.png", - "CNN.International.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10146_dark_360w_270h.png", - "Comedy.Central.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10149_dark_360w_270h.png", - "Comedy.TV.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s82470_dark_360w_270h.png", - "Comet.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s97051_dark_360w_270h.png", - "Cooking.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s30156_dark_360w_270h.png", - "Court.TV.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s117160_dark_360w_270h.png", - "COZI.TV.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s78851_dark_360w_270h.png", - "Crime.and.Investigation.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s61469_dark_360w_270h.png", - "CSPAN.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10161_dark_360w_270h.png", - "CW.(WKCF).Orlando,.FL.us": "https://i.gyazo.com/afd5b481b327d204087dfde6a7741f9d.png", - "DAZN.1.pt": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s131810_dark_360w_270h.png", - "DAZN.2.pt": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s111746_dark_360w_270h.png", - "DAZN.LALIGA.es": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s114091_dark_360w_270h.png", - "Discovery.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11150_dark_360w_270h.png", - "Discovery.Family.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16618_dark_360w_270h.png", - "Discovery.Life.Channel.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16125_dark_360w_270h.png", - "Disney.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10171_dark_360w_270h.png", - "Disney.XD.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18279_dark_360w_270h.png", - "E!.Entertainment.Television.HD.us2": "https://i.gyazo.com/f73b80e3eb56cec06df6705d00e2f422.png", - "ESPN.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10179_dark_360w_270h.png", - "ESPN2.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12444_dark_360w_270h.png", - "ESPNEWS.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16485_dark_360w_270h.png", - "ESPNU.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s45654_dark_360w_270h.png", - "FanDuel.Sports.Network.Detroit.24/7.HDTV.us": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s54286_dark_360w_270h.png", - "FanDuel.Sports.Network.Midwest.24/7.HDTV.us": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11058_dark_360w_270h.png", - "FanDuel.Sports.Network.North.HDTV.us": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10977_dark_360w_270h.png", - "FanDuel.Sports.Network.Oklahoma.24/7.HDTV.(Tulsa).us": "https://i.gyazo.com/80ad6fd142cd67f06eef58d9ce5aa72b.png", - "FanDuel.Sports.Network.Southwest.HDTV.24/7.(Main).us": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s59629_dark_360w_270h.png", - "FanDuel.Sports.Network.West.HDTV.us": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s59627_dark_360w_270h.png", - "Food.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s44718_dark_360w_270h.png", - "FOX.(WFLX).West.Palm.Beach,.FL.us": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s28719_dark_360w_270h.png", - "Fox.Business.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58649_dark_360w_270h.png", - "Fox.News.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16374_dark_360w_270h.png", - "Freeform.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10093_dark_360w_270h.png", - "FS1.Fox.Sports.1.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s82541_dark_360w_270h.png", - "FS2.Fox.Sports.2.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s33178_dark_360w_270h.png", - "Fuse.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14929_dark_360w_270h.png", - "FX.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14321_dark_360w_270h.png", - "FX.Movie.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s70253_dark_360w_270h.png", - "FXX.HD.us2": "https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/fxx-us.png", - "FYI.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16834_dark_360w_270h.png", - "Game.Show.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14909_dark_360w_270h.png", - "get.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s82563_dark_360w_270h.png", - "GOL.TV.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s32161_dark_360w_270h.png", - "Golf.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14899_dark_360w_270h.png", - "Grit.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s89922_dark_360w_270h.png", - "Hallmark.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11221_dark_360w_270h.png", - "Hallmark.Family.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s105723_dark_360w_270h.png", - "Hallmark.Mystery.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s61522_dark_360w_270h.png", - "HBO.Comedy.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s59839_dark_360w_270h.png", - "HBO.Drama.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s34879_dark_360w_270h.png", - "HBO.East.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10240_dark_360w_270h.png", - "HBO.Zone.HD.us2": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18431_dark_360w_270h.png", - "HBO2.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68140_dark_360w_270h.png", - "History.HD.us2": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s87679_dark_360w_270h.png", - "HLN.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10145_dark_360w_270h.png", - "Investigation.Discovery.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16615_dark_360w_270h.png", - "ION.Television.HD.us2": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18633_dark_360w_270h.png", - "Lifetime.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10918_dark_360w_270h.png", - "LMN.HD.us2": "https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18480_dark_360w_270h.png", - "Marquee.Sports.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s113768_dark_360w_270h.png", - "MLB.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s62081_dark_360w_270h.png", - "MOTORTREND.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s31046_dark_360w_270h.png", - "MSG.National.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10979_dark_360w_270h.png", - "MSNBC.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16300_dark_360w_270h.png", - "MTV.-.Music.Television.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10986_dark_360w_270h.png", - "National.Geographic.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s49438_dark_360w_270h.png", - "NBA.TV.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s32281_dark_360w_270h.png", - "NBC.(WFLA).Tampa.Bay,.FL.us": "https://i.gyazo.com/39d42952500205d04e448247b7889256.png", - "NBC.Sports.Boston.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s49198_dark_360w_270h.png", - "NBC.Sports.Philadelphia.HD.us2": "https://i.gyazo.com/c5204722cef60da756f1b994d6d71c28.png", - "NewsNation.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s91096_dark_360w_270h.png", - "NFL.Network.HD.us2": "https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/nfl-network-hz-us.png", - "NFL.RedZone.HD.us2": "https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/nfl-red-zone-hz-us.png", - "NHL.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58570_dark_360w_270h.png", - "Nickelodeon.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11006_dark_360w_270h.png", - "Nicktoons.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s30420_dark_360w_270h.png", - "Outdoor.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14776_dark_360w_270h.png", - "Ovation.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s15807_dark_360w_270h.png", - "Oxygen.True.Crime.HD.us2": "https://i.gyazo.com/68db5ec4dba40181592406e7c3128fc7.png", - "Paramount+.with.Showtime.HD.us2": "https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/showtime-us.png", - "Paramount.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11163_dark_360w_270h.png", - "plex.tv.CBS.Sports.Golazo.Network.plex": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s133691_dark_360w_270h.png", - "plex.tv.FIFA+.plex": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s136235_dark_360w_270h.png", - "POP.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16715_dark_360w_270h.png", - "Premier.Sports.1.HD.uk": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s79027_dark_360w_270h.png", - "Premier.Sports.2.HD.uk": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s109162_dark_360w_270h.png", - "ReelzChannel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68385_dark_360w_270h.png", - "ROOT.Sports.Northwest.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11062_dark_360w_270h.png", - "Science.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s24282_dark_360w_270h.png", - "SEC.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s89535_dark_360w_270h.png", - "Sky.Sports.Football.HD.uk": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/GNLZZGG0027JZ38.png_dark_360w_270h.png", - "Smithsonian.HD.Network.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58532_dark_360w_270h.png", - "SNY.SportsNet.New.York.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s50038_dark_360w_270h.png", - "Sony.Movie.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s69130_dark_360w_270h.png", - "Sportsnet.One.ca2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68859_dark_360w_270h.png", - "SportsNet.Pittsburgh.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s26028_dark_360w_270h.png", - "Starz.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12719_dark_360w_270h.png", - "Syfy.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11097_dark_360w_270h.png", - "TBS.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11867_dark_360w_270h.png", - "Tennis.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s60316_dark_360w_270h.png", - "The.Weather.Channel.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58812_dark_360w_270h.png", - "TLC.HD.(US).us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11158_dark_360w_270h.png", - "TNT.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11164_dark_360w_270h.png", - "truTV.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10153_dark_360w_270h.png", - "TSN.1.ca2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11182_dark_360w_270h.png", - "TSN.2.ca2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s61474_dark_360w_270h.png", - "Turner.Classic.Movies.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s12852_dark_360w_270h.png", - "TV.Land.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s16123_dark_360w_270h.png", - "TV.ONE.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s35513_dark_360w_270h.png", - "UFC.Fight.Pass.Dummy.us": "https://1000logos.net/wp-content/uploads/2017/06/Logo-UFC-500x313.png", - "USA.Network.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11207_dark_360w_270h.png", - "Vice.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18822_dark_360w_270h.png", - "Willow.Cricket.HD.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68605_dark_360w_270h.png", - "Yes.Network.us2": "http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s30017_dark_360w_270h.png" -} \ No newline at end of file diff --git a/EPG/fetch.py b/EPG/fetch.py index 053cb75..6ba1b52 100644 --- a/EPG/fetch.py +++ b/EPG/fetch.py @@ -1,16 +1,14 @@ #!/usr/bin/env python3 import asyncio import gzip -import json +import re from pathlib import Path from xml.etree import ElementTree as ET import httpx -tvg_ids_file = Path(__file__).parent / "TVG-IDs.json" epg_file = Path(__file__).parent / "TV.xml" epg_urls = [ - # "https://epgshare01.online/epgshare01/epg_ripper_CA1.xml.gz", "https://epgshare01.online/epgshare01/epg_ripper_CA2.xml.gz", "https://epgshare01.online/epgshare01/epg_ripper_DUMMY_CHANNELS.xml.gz", "https://epgshare01.online/epgshare01/epg_ripper_ES1.xml.gz", @@ -19,10 +17,8 @@ epg_urls = [ "https://epgshare01.online/epgshare01/epg_ripper_PLEX1.xml.gz", "https://epgshare01.online/epgshare01/epg_ripper_PT1.xml.gz", "https://epgshare01.online/epgshare01/epg_ripper_UK1.xml.gz", - # "https://epgshare01.online/epgshare01/epg_ripper_US1.xml.gz", "https://epgshare01.online/epgshare01/epg_ripper_US2.xml.gz", "https://epgshare01.online/epgshare01/epg_ripper_US_LOCALS2.xml.gz", - # "https://epgshare01.online/epgshare01/epg_ripper_US_SPORTS1.xml.gz", ] client = httpx.AsyncClient( @@ -56,6 +52,25 @@ replace_ids = { } +def get_tvg_ids() -> dict[str, str]: + base_m3u8 = ( + (Path(__file__).parent.parent / "M3U8" / "base.m3u8") + .read_text(encoding="utf-8") + .splitlines() + ) + + tvg = {} + + for line in base_m3u8: + if line.startswith("#EXTINF"): + tvg_id = re.search(r'tvg-id="([^"]*)"', line)[1] + tvg_logo = re.search(r'tvg-logo="([^"]*)"', line)[1] + + tvg[tvg_id] = tvg_logo + + return tvg + + async def fetch_xml(url: str) -> ET.Element | None: try: r = await client.get(url) @@ -122,7 +137,7 @@ def hijack_id( async def main() -> None: - tvg_ids: dict[str, str] = json.loads(tvg_ids_file.read_text(encoding="utf-8")) + tvg_ids = get_tvg_ids() tvg_ids |= dummies | {v["old"]: live_img for v in replace_ids.values()} diff --git a/M3U8/base.m3u8 b/M3U8/base.m3u8 index 5b0de21..e439a93 100644 --- a/M3U8/base.m3u8 +++ b/M3U8/base.m3u8 @@ -102,10 +102,10 @@ https://fl25.moveonjoy.com/Crime_and_Investigation_Network/index.m3u8 #EXTINF:-1 tvg-chno="34" tvg-id="CW.(WKCF).Orlando,.FL.us" tvg-name="CW" tvg-logo="https://i.gyazo.com/afd5b481b327d204087dfde6a7741f9d.png" group-title="TV",CW https://fl25.moveonjoy.com/CW_ORLANDO/index.m3u8 -#EXTINF:-1 tvg-chno="35" tvg-id="DAZN.1.pt" tvg-name="DAZN 1" tvg-logo="https://1000logos.net/wp-content/uploads/2024/10/DAZN-Logo-500x281.png" group-title="TV",DAZN 1 +#EXTINF:-1 tvg-chno="35" tvg-id="DAZN.1.pt" tvg-name="DAZN 1" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s131810_dark_360w_270h.png" group-title="TV",DAZN 1 http://ndzcdn.royalflushdns.top/live/508373667/k717x9942z/273450.m3u8?sjwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxOTAzOTksImlhdCI6MTc1OTEwNDAwMCwibmJmIjoxNzU5MTA0MDAwLCJ1c2VyIjoiNTA4MzczNjY3IiwidXNlckFnZW50IjoiY3VybC84LjE2LjAiLCJ1c2VySXAiOiIxODUuMjM2LjE4My4xMDc6NDE0ODYifQ.Sgqmb6t0sCqjGlp3x1Y1fIPl2MUbpfow2YSrntrqkwc&id=273450&p=m3u8&aid=1759166680 -#EXTINF:-1 tvg-chno="36" tvg-id="DAZN.2.pt" tvg-name="DAZN 2" tvg-logo="https://1000logos.net/wp-content/uploads/2024/10/DAZN-Logo-500x281.png" group-title="TV",DAZN 2 +#EXTINF:-1 tvg-chno="36" tvg-id="DAZN.2.pt" tvg-name="DAZN 2" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s111746_dark_360w_270h.png" group-title="TV",DAZN 2 http://ndzcdn.royalflushdns.top/live/508373667/k717x9942z/273451.m3u8?sjwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxOTAzOTksImlhdCI6MTc1OTEwNDAwMCwibmJmIjoxNzU5MTA0MDAwLCJ1c2VyIjoiNTA4MzczNjY3IiwidXNlckFnZW50IjoiY3VybC84LjE2LjAiLCJ1c2VySXAiOiIxODUuMjM2LjE4My4xMDc6NDkxNDAifQ.olbMPQH7NaRXUYQXKpeROnHMSNd5gx0ifAmM4u65mko&id=273451&p=m3u8&aid=1759166763 #EXTINF:-1 tvg-chno="37" tvg-id="Discovery.Channel.HD.us2" tvg-name="Discovery Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11150_dark_360w_270h.png" group-title="TV",Discovery Channel @@ -249,7 +249,7 @@ https://fl25.moveonjoy.com/INVESTIGATION_DISCOVERY/index.m3u8 #EXTINF:-1 tvg-chno="83" tvg-id="ION.Television.HD.us2" tvg-name="ION TV" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s18633_dark_360w_270h.png" group-title="TV",ION TV http://tv14s.xyz:8080/A1Jay5/362586/9297 -#EXTINF:-1 tvg-chno="84" tvg-id="DAZN.LALIGA.es" tvg-name="LaLigaTV" tvg-logo="https://1000logos.net/wp-content/uploads/2019/01/Spanish-La-Liga-Logo-500x281.png" group-title="TV",LaLigaTV +#EXTINF:-1 tvg-chno="84" tvg-id="DAZN.LALIGA.es" tvg-name="LaLigaTV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s114091_dark_360w_270h.png" group-title="TV",LaLigaTV http://mains.services/live/pmf0423/1aku0jt@/36097dae-f908-43cf-9bc8-84e8c3bd33b9.m3u #EXTINF:-1 tvg-chno="85" tvg-id="Lifetime.HD.us2" tvg-name="Lifetime" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10918_dark_360w_270h.png" group-title="TV",Lifetime