MCPcopy
hub / github.com/Free-TV/IPTV / Channel

Class Channel

make_playlist.py:94–120  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

92
93
94class Channel:
95 def __init__(self, group, md_line, country_code=""):
96 self.group = group
97 self.country_code = country_code
98 md_line = md_line.strip()
99 parts = md_line.split("|")
100 self.number = parts[1].strip()
101 self.name = parts[2].strip()
102 self.url = parts[3].strip()
103 self.url = self.url[self.url.find("(")+1:self.url.rfind(")")]
104 self.logo = parts[4].strip()
105 self.logo = self.logo[self.logo.find('src="')+5:self.logo.rfind('"')]
106
107 self.chno = self.number if self.number and self.number != "0" else None
108
109 if len(parts) > 6:
110 self.epg = parts[5].strip()
111 else:
112 self.epg = None
113
114 def to_m3u_line(self):
115 country = f' tvg-country="{self.country_code}"' if self.country_code else ""
116 chno = f' tvg-chno="{self.chno}"' if self.chno else ""
117 if self.epg is None:
118 return (f'#EXTINF:-1 tvg-name="{self.name}" tvg-logo="{self.logo}"{chno}{country} group-title="{self.group}",{self.name}\n{self.url}')
119 else:
120 return (f'#EXTINF:-1 tvg-name="{self.name}" tvg-logo="{self.logo}" tvg-id="{self.epg}"{chno}{country} group-title="{self.group}",{self.name}\n{self.url}')
121
122
123def main():

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected