mirror of
https://github.com/LaQuay/TDTChannels.git
synced 2024-11-01 07:01:12 +01:00
Adapt to new model
This commit is contained in:
parent
4e56653d1f
commit
1652145a3a
3 changed files with 70 additions and 61 deletions
|
@ -5,7 +5,7 @@ class Ambito:
|
||||||
|
|
||||||
def add_channels(self, channels_to_add):
|
def add_channels(self, channels_to_add):
|
||||||
if self.channels:
|
if self.channels:
|
||||||
self.channels.append(channels_to_add)
|
self.channels += channels_to_add
|
||||||
|
|
||||||
def __channels_to_json__(self):
|
def __channels_to_json__(self):
|
||||||
channel_list = []
|
channel_list = []
|
||||||
|
|
|
@ -1,71 +1,13 @@
|
||||||
# coding=utf-8
|
# coding=utf-8
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import re
|
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from ambit import Ambito
|
from ambit import Ambito
|
||||||
from channel import Channel
|
|
||||||
from country import Country
|
from country import Country
|
||||||
|
|
||||||
|
|
||||||
def stringbetween(text, start, end):
|
|
||||||
result = re.search('(?<=' + start + ')(.*)(?=' + end + ')', text, re.DOTALL)
|
|
||||||
return result.group(1)
|
|
||||||
|
|
||||||
|
|
||||||
def stringbetweenparantheses(text):
|
|
||||||
return text.split("(")[1].split(")")[0]
|
|
||||||
|
|
||||||
|
|
||||||
def get_channels_from_part(text):
|
|
||||||
line_where_first_channel_starts = 15
|
|
||||||
attributes_per_item = 6
|
|
||||||
channel_list = []
|
|
||||||
list_to_iterate = text.split("|")[line_where_first_channel_starts:]
|
|
||||||
while "\n" in list_to_iterate:
|
|
||||||
list_to_iterate.remove("\n")
|
|
||||||
while "\n\n" in list_to_iterate:
|
|
||||||
list_to_iterate.remove("\n\n")
|
|
||||||
for i in range(0, len(list_to_iterate), attributes_per_item):
|
|
||||||
item_name = list_to_iterate[i].strip()
|
|
||||||
|
|
||||||
item_options = list_to_iterate[i + 1].strip()
|
|
||||||
|
|
||||||
item_web = list_to_iterate[i + 2].strip()
|
|
||||||
if len(item_web) > 0 and item_web[0] != "-":
|
|
||||||
item_web = stringbetweenparantheses(item_web)
|
|
||||||
if len(item_web) == 1:
|
|
||||||
item_web = ""
|
|
||||||
|
|
||||||
item_resolution = list_to_iterate[i + 3].strip()
|
|
||||||
if len(item_resolution) == 1:
|
|
||||||
item_resolution = ""
|
|
||||||
|
|
||||||
item_logo = list_to_iterate[i + 4].strip()
|
|
||||||
if len(item_logo) > 0 and item_logo[0] != "-":
|
|
||||||
item_logo = stringbetweenparantheses(item_logo)
|
|
||||||
if len(item_logo) == 1:
|
|
||||||
item_logo = ""
|
|
||||||
|
|
||||||
item_epg = list_to_iterate[i + 5].strip()
|
|
||||||
if len(item_epg) == 1:
|
|
||||||
item_epg = ""
|
|
||||||
|
|
||||||
item_options = item_options.split(" - ")
|
|
||||||
|
|
||||||
channel = Channel(item_name, item_web, item_resolution, item_logo, item_epg)
|
|
||||||
if len(item_options) > 0 and item_options[0] != "-":
|
|
||||||
for option in item_options:
|
|
||||||
format = (option[1:5]).replace("]", "")
|
|
||||||
url = stringbetweenparantheses(option)
|
|
||||||
channel.add_option(format, url)
|
|
||||||
channel_list.append(channel)
|
|
||||||
return channel_list
|
|
||||||
|
|
||||||
|
|
||||||
# TODO Change this
|
# TODO Change this
|
||||||
|
from public.utils import stringbetween, get_channels_from_part, get_license_info
|
||||||
|
|
||||||
page = requests.get('https://raw.githubusercontent.com/LaQuay/TDTChannels/add-local-m3u8/TELEVISION.md',
|
page = requests.get('https://raw.githubusercontent.com/LaQuay/TDTChannels/add-local-m3u8/TELEVISION.md',
|
||||||
headers={'Cache-Control': 'no-cache'})
|
headers={'Cache-Control': 'no-cache'})
|
||||||
content = str(page.text)
|
content = str(page.text)
|
||||||
|
@ -212,6 +154,8 @@ international.add_ambit(Ambito("Internacional", get_channels_from_part(canales_i
|
||||||
json_file = open('./public/output/channels.json', "w+")
|
json_file = open('./public/output/channels.json', "w+")
|
||||||
# TODO Add license
|
# TODO Add license
|
||||||
json_file.write("[")
|
json_file.write("[")
|
||||||
|
json_file.write(json.dumps(get_license_info()))
|
||||||
|
json_file.write(", ")
|
||||||
json_file.write(json.dumps(spain.to_json()))
|
json_file.write(json.dumps(spain.to_json()))
|
||||||
json_file.write(", ")
|
json_file.write(", ")
|
||||||
json_file.write(json.dumps(international.to_json()))
|
json_file.write(json.dumps(international.to_json()))
|
||||||
|
|
65
script/public/utils.py
Normal file
65
script/public/utils.py
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
import re
|
||||||
|
|
||||||
|
from channel import Channel
|
||||||
|
|
||||||
|
|
||||||
|
def get_license_info():
|
||||||
|
return {
|
||||||
|
"source": "https://github.com/LaQuay/TDTChannels",
|
||||||
|
"license": "https://github.com/LaQuay/TDTChannels/blob/master/LICENSE"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def stringbetween(text, start, end):
|
||||||
|
result = re.search('(?<=' + start + ')(.*)(?=' + end + ')', text, re.DOTALL)
|
||||||
|
return result.group(1)
|
||||||
|
|
||||||
|
|
||||||
|
def stringbetweenparantheses(text):
|
||||||
|
return text.split("(")[1].split(")")[0]
|
||||||
|
|
||||||
|
|
||||||
|
def get_channels_from_part(text):
|
||||||
|
line_where_first_channel_starts = 15
|
||||||
|
attributes_per_item = 6
|
||||||
|
channel_list = []
|
||||||
|
list_to_iterate = text.split("|")[line_where_first_channel_starts:]
|
||||||
|
while "\n" in list_to_iterate:
|
||||||
|
list_to_iterate.remove("\n")
|
||||||
|
while "\n\n" in list_to_iterate:
|
||||||
|
list_to_iterate.remove("\n\n")
|
||||||
|
for i in range(0, len(list_to_iterate), attributes_per_item):
|
||||||
|
item_name = list_to_iterate[i].strip()
|
||||||
|
|
||||||
|
item_options = list_to_iterate[i + 1].strip()
|
||||||
|
|
||||||
|
item_web = list_to_iterate[i + 2].strip()
|
||||||
|
if len(item_web) > 0 and item_web[0] != "-":
|
||||||
|
item_web = stringbetweenparantheses(item_web)
|
||||||
|
if len(item_web) == 1:
|
||||||
|
item_web = ""
|
||||||
|
|
||||||
|
item_resolution = list_to_iterate[i + 3].strip()
|
||||||
|
if len(item_resolution) == 1:
|
||||||
|
item_resolution = ""
|
||||||
|
|
||||||
|
item_logo = list_to_iterate[i + 4].strip()
|
||||||
|
if len(item_logo) > 0 and item_logo[0] != "-":
|
||||||
|
item_logo = stringbetweenparantheses(item_logo)
|
||||||
|
if len(item_logo) == 1:
|
||||||
|
item_logo = ""
|
||||||
|
|
||||||
|
item_epg = list_to_iterate[i + 5].strip()
|
||||||
|
if len(item_epg) == 1:
|
||||||
|
item_epg = ""
|
||||||
|
|
||||||
|
item_options = item_options.split(" - ")
|
||||||
|
|
||||||
|
channel = Channel(item_name, item_web, item_resolution, item_logo, item_epg)
|
||||||
|
if len(item_options) > 0 and item_options[0] != "-":
|
||||||
|
for option in item_options:
|
||||||
|
format = (option[1:5]).replace("]", "")
|
||||||
|
url = stringbetweenparantheses(option)
|
||||||
|
channel.add_option(format, url)
|
||||||
|
channel_list.append(channel)
|
||||||
|
return channel_list
|
Loading…
Reference in a new issue