diff --git a/CONTROL/control b/CONTROL/control index 98e9530..c88f265 100644 --- a/CONTROL/control +++ b/CONTROL/control @@ -1,6 +1,6 @@ Description: TVMagazineCockpit Maintainer: dream-alpha Package: enigma2-plugin-extensions-tvmagazinecockpit -Version: 0.8.4 +Version: 0.9.0 Architecture: all Depends: enigma2-plugin-skincomponents-extmultilistselection diff --git a/src/ConfigInit.py b/src/ConfigInit.py index 5e6ab96..f55f46e 100755 --- a/src/ConfigInit.py +++ b/src/ConfigInit.py @@ -40,7 +40,7 @@ def __init__(self): default="programm", choices=[ ("main", _("Tv Spielfilm Main")), - ("tipps", _("Tv Spielfilm Tips")), + ("tips", _("Tv Spielfilm Tips")), ("programm", _("Tv Spielfilm Programm Standard")), ("programmfavo", _("Tv Spielfilm Programm Favourites")), ("programmsky", _("Tv Spielfilm Programm Sky")), diff --git a/src/EventDetails.py b/src/EventDetails.py index 19154f9..1ff7390 100755 --- a/src/EventDetails.py +++ b/src/EventDetails.py @@ -1,5 +1,6 @@ # coding=utf-8 +from time import strftime, localtime from os import remove as os_remove from twisted.internet.defer import DeferredSemaphore from Screens.Screen import Screen @@ -24,11 +25,16 @@ from MYSimpleSummary import MYSimpleSummary from .__init__ import _ from .Debug import logger +from .Constants import EVENT_IDX_TITLE, EVENT_IDX_TIME_START, EVENT_IDX_TIME_END, EVENT_IDX_TEXT +from .PictureUtils import getPicon, getVideo, getEventPicUrl class EventDetails(Screen): - def __init__(self, session, mlist): + def __init__(self, session, index, list_events): logger.info("...") + self.index = index + self.list_events = list_events + self.list_event = list_events[index] Screen.__init__(self, session) self.skinName = "EventDetails" self["description"] = ScrollLabel() @@ -42,8 +48,6 @@ def __init__(self, session, mlist): "down": self["description"].pageDown } ) - self.mlist = mlist - self["bigpixmap"] = Pixmap() self["channelpix"] = Pixmap() self["daumenpix"] = Pixmap() @@ -57,7 +61,7 @@ def __init__(self, session, mlist): self["channel"] = Label() self["time"] = Label() self["headingtext"] = Label() - self["heading"] = Label(_('Loading...')) + self["heading"] = Label() self["infoicon"] = Label() self["progress"] = Progress() self["progresspix"] = Pixmap() @@ -65,7 +69,7 @@ def __init__(self, session, mlist): self["remaining"] = Label() self["duration"] = Label() self["trailer"] = Boolean(False) - self["liste"] = MultiListSummary(mlist[:]) + self["liste"] = MultiListSummary() self.filename = '' self.videourl = '' @@ -87,40 +91,18 @@ def makebigpixmap(self, myfile=None): def createsetup(self): logger.info("...") - self.deferCanceler() - ds = DeferredSemaphore(tokens=1) - dr = ds.run(MygetPage, url=self.mlist[mindex['urlsendung']], headers=headers_gzip).addCallbacks(self.result_back_details).addErrback(http_failed) - self.deferreds.append(dr) - - self.setTitle(self.mlist[mindex['title']]) - self["channel"].setText(self.mlist[mindex['channel']]) - self["time"].setText(self.mlist[mindex['time']]) - self["headingtext"].setText(self.mlist[mindex['tvsearch']]) - if self.mlist[mindex['progress']]: - self["progress"].setValue(self.mlist[mindex['progress']]) - if self.mlist[mindex['progresspix']]: - self["progresspix"].instance.setPixmap(self.mlist[mindex['progresspix']]) - if self.mlist[mindex['progresspro']]: - self["progresspro"].setText(self.mlist[mindex['progresspro']]) - if self.mlist[mindex['remaining']]: - self["remaining"].setText(self.mlist[mindex['remaining']]) - if self.mlist[mindex['duration']]: - self["duration"].setText(self.mlist[mindex['duration']]) - if self.mlist[mindex['channelpix']]: - self["channelpix"].instance.setPixmap(self.mlist[mindex['channelpix']]) - if self.mlist[mindex['daumen']]: - self["daumenpix"].instance.setPixmap(self.mlist[mindex['daumen']]) - if self.mlist[mindex['trailer']]: - self["trailer"].boolean = True - - pixmap = Load_My_Pixmap(plugindir + 'icons/icon_rating_0.png') - if pixmap: - self["anspruch"].instance.setPixmap(pixmap) - self["humor"].instance.setPixmap(pixmap) - self["action"].instance.setPixmap(pixmap) - self["spannung"].instance.setPixmap(pixmap) - self["erotik"].instance.setPixmap(pixmap) - self["community"].instance.setPixmap(pixmap) + logger.debug("list_event: %s", self.list_event) + self.setTitle(self.list_event[EVENT_IDX_TITLE]) + self["channel"].setText(self.list_event[EVENT_IDX_TITLE]) + self["time"].setText(strftime('%H:%M', localtime(int(self.list_event[EVENT_IDX_TIME_START])))) + self["duration"].setText(str((int(self.list_event[EVENT_IDX_TIME_END]) - int(self.list_event[EVENT_IDX_TIME_START])) / 60)) + self["channelpix"].setPixmap(getPicon(self.list_event)) + self["description"].setText(self.list_event[EVENT_IDX_TEXT]) + self.video_title, self.video_pic, self.video_url = getVideo(self.list_event) + # if self.mlist[mindex['daumen']]: + # self["daumenpix"].instance.setPixmap(self.mlist[mindex['daumen']]) + # if self.mlist[mindex['trailer']]: + # self["trailer"].boolean = True def __finish_decode(self, _picInfo): logger.info("...") @@ -135,83 +117,7 @@ def __finish_decode(self, _picInfo): if pathExists(self.filename): os_remove(self.filename) - def result_back_details(self, result): - logger.info("...") - error_message = _("Error during download") - if result: - val = parse_details(result) - if val and len(val) >= dindex['listend']: - if val[dindex['videourl']] and val[dindex['videourl']].endswith(('mp4')): - self.videourl = val[dindex['videourl']] - self["trailer"].boolean = True - if val[dindex['imageurl']] and val[dindex['imageurl']].endswith(('.jpg', '.png', '.svg')): - self.filename = '/tmp/.tvtemp' + val[dindex['imageurl']][-4:] - self.deferCanceler() - ds = DeferredSemaphore(tokens=1) - dr = ds.run(MydownloadPage, url=val[dindex['imageurl']], file=self.filename, headers=_headers_jpeg).addCallback(self.back_resultneu).addErrback(http_failed) - self.deferreds.append(dr) - else: - self.makebigpixmap(plugindir + 'icons/default.png') - currtmp = self["liste"].list - if not self.mlist[mindex['channel']] and val[dindex['channel']]: - self["channel"].setText(val[dindex['channel']]) - currtmp[mindex['channel']] = val[dindex['channel']] - if not self.mlist[mindex['id']] and val[dindex['id']]: - currtmp[mindex['id']] = val[dindex['id']] - if not self.mlist[mindex['time']] and val[dindex['time']]: - self["time"].setText(val[dindex['time']]) - currtmp[mindex['time']] = val[dindex['time']] - if not self.mlist[mindex['daumen']] and val[dindex['daumen']]: - self["daumenpix"].instance.setPixmap(val[dindex['daumen']]) - currtmp[mindex['daumen']] = val[dindex['daumen']] - if val[dindex['heading']]: - self["headingtext"].setText(val[dindex['heading']]) - if val[dindex['headingtext']]: - self["heading"].setText(val[dindex['headingtext']]) - currtmp[mindex['description']] = val[dindex['headingtext']] - - if val[dindex['tipp']] or val[dindex['neu']]: - self["infoicon"].setText(val[dindex['tipp']] + ' ' + val[dindex['neu']]) - currtmp[mindex['tipp']] = val[dindex['tipp']] - currtmp[mindex['neu']] = val[dindex['neu']] - - self["liste"].setList(currtmp) - - if val[dindex['anspruch']]: - self["anspruch"].instance.setPixmap(val[dindex['anspruch']]) - if val[dindex['humor']]: - self["humor"].instance.setPixmap(val[dindex['humor']]) - if val[dindex['action']]: - self["action"].instance.setPixmap(val[dindex['action']]) - if val[dindex['spannung']]: - self["spannung"].instance.setPixmap(val[dindex['spannung']]) - if val[dindex['erotik']]: - self["erotik"].instance.setPixmap(val[dindex['erotik']]) - if val[dindex['community']]: - self["community"].instance.setPixmap(val[dindex['community']]) - textstr = '' - if val[dindex['infotext']]: - textstr += val[dindex['infotext']] + '\n\n' - if val[dindex['deheadline']]: - textstr += val[dindex['deheadline']] + '\n\n' - if val[dindex['description']]: - textstr += val[dindex['description']] + '\n' - if val[dindex['strong']]: - textstr += val[dindex['strong']] + '\n' - if textstr == '': - textstr += self.mlist[mindex['tvsearch']] + '\n\n' - if val[dindex['castlist']]: - textstr += val[dindex['castlist']] + '\n' - if val[dindex['actorslist']]: - textstr += val[dindex['actorslist']] + '\n' - if textstr: - self["description"].setText(textstr) - else: - self["heading"].setText(error_message) - else: - self["heading"].setText(error_message) - - def back_resultneu(self, result): + def back_result(self, result): logger.info("...") if result is None: self.makebigpixmap(self.filename) @@ -242,9 +148,9 @@ def deferCanceler(self): def key_ok(self): logger.info("...") - if self.videourl and self.videourl.endswith(('mp4')): - sref = eServiceReference(eServiceReference.idGST, 0, self.videourl) - sref.setName(self.mlist[mindex['title']]) + if self.video_url and self.video_url.endswith(('mp4')): + sref = eServiceReference(eServiceReference.idGST, 0, self.video_url) + sref.setName(self.video_title) self.session.open(StreamPlayer, sref) else: self.close() diff --git a/src/PictureUtils.py b/src/PictureUtils.py new file mode 100644 index 0000000..f263d3c --- /dev/null +++ b/src/PictureUtils.py @@ -0,0 +1,57 @@ +# !/usr/bin/python +# coding=utf-8 +# +# Copyright (C) 2018-2024 by dream-alpha +# +# In case of reuse of this source code please do not remove this copyright. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# For more information on the GNU General Public License see: +# . + + +from .tools import Load_My_Pixmap +from .Constants import EVENT_IDX_BROADCASTER_ID, EVENT_IDX_IMAGES, EVENT_IDX_VIDEOS +from .ConfigInit import plugindir +from .Debug import logger + + +def getPicon(list_event): + picon = str(list_event[EVENT_IDX_BROADCASTER_ID]) + ".png" + picon_file = '%slogos/%s' % (plugindir, picon) + logger.debug("picon_file: %s", picon_file) + pixmap_ptr = Load_My_Pixmap(picon_file) + return pixmap_ptr + + +def getVideo(list_event): + videos = list_event[EVENT_IDX_VIDEOS] + logger.debug("videos: %s", videos) + title = video_url = still_image_url = "" + if len(videos) > 0: + video_list = videos[0].get("video", "") + video = video_list[0] + title = video.get("title", "") + still_image_url = video.get("stillImage", "") + video_url = video.get("url", "") + return title, still_image_url, video_url + + +def getEventPicUrl(list_event): + images = list_event[EVENT_IDX_IMAGES] + logger.debug("images: %s", images) + url = "" + if len(images) > 0: + image = images[0] + url = image.get("size1", "") + logger.debug("programmpix url: %s", url) + return url diff --git a/src/ProgramColumns.py b/src/ProgramColumns.py index 90581e1..a6f94e5 100755 --- a/src/ProgramColumns.py +++ b/src/ProgramColumns.py @@ -267,7 +267,7 @@ def showMenuCallback(self, page_index=None): def key_tipps(self): logger.info("...") - self.close("tipps") + self.close("tips") def key_programm(self): logger.info("...") @@ -297,9 +297,10 @@ def key_back(self): def key_ok(self): logger.info("...") - curr = self["liste%s" % self.listindex].l.getCurrentSelection() - logger.debug("curr: %s", curr) - self.session.open(EventDetails, self.list_events[curr[listprogresindex["id"]]]) + current_selection = self["liste%s" % self.listindex].l.getCurrentSelection() + current_index = self["liste%s" % self.listindex].getCurrentIndex() + logger.debug("current_selection: %s", current_selection) + self.session.open(EventDetails, current_index, self.list_events[current_selection[listprogresindex["id"]]]) def key_red(self): logger.info("...") @@ -307,7 +308,7 @@ def key_red(self): def key_green(self): logger.info("...") - self.close("tipps") + self.close("tips") def key_yellow(self): logger.info("...") diff --git a/src/tvspielfilmtipps.py b/src/ProgramTips.py similarity index 93% rename from src/tvspielfilmtipps.py rename to src/ProgramTips.py index 3879dc2..dfdcb61 100755 --- a/src/tvspielfilmtipps.py +++ b/src/ProgramTips.py @@ -5,15 +5,12 @@ from time import strftime, localtime, time as nowtime from twisted.internet.defer import DeferredSemaphore from Screens.Screen import Screen -from enigma import eSlider from Downloader import _headers_jpeg, headers_gzip, MygetPage, MydownloadPage, http_failed from tools import Piconchannelname, mastxval_list, listmainindex as mindex from _tvdict import _channelreference, _pixmap_cache, listtippsindex from tvconfig import read_ServiceReference from Tools.LoadPixmap import LoadPixmap from Components.ActionMap import ActionMap -from Components.HTMLComponent import HTMLComponent -from Components.GUIComponent import GUIComponent from Components.Label import Label from Components.Sources.StaticText import StaticText from .EasyMenu import EasyMenu @@ -24,25 +21,10 @@ from .__init__ import _ from .Debug import logger from .XMLTipps import XMLTipps +from .Slider import Slider -class Slider(HTMLComponent, GUIComponent): - def __init__(self, min_value=0, max_value=6): - logger.info("...") - GUIComponent.__init__(self) - self.min = min_value - self.max = max_value - - GUI_WIDGET = eSlider - - def postWidgetCreate(self, instance): - logger.info("...") - instance.setRange(self.min, self.max) - instance.setOrientation(eSlider.orVertical, False, True) - instance.setBorderWidth(0) - - -class TvSpielfilmTipps(Screen, EasyMenu): +class ProgramTips(Screen, EasyMenu): def __init__(self, session): logger.info("...") Screen.__init__(self, session) @@ -82,7 +64,7 @@ def __init__(self, session): mytime = mytime - 86400 self.timelist = [] - for _tre in range(0, 15): + for _day in range(0, 15): self.timelist.append([strftime("%A, %d. %b %y", localtime(mytime)), strftime("&date=%Y-%m-%d", localtime(mytime))]) mytime = mytime + 86400 @@ -136,7 +118,7 @@ def download_page(self): def updateTitle(self): logger.info("...") - self.setTitle('Tv Spielfilm Tv Tipps') + self.setTitle('TV Spielfilm - Tips') def result_back(self, result): logger.info("result: %s", result) @@ -160,7 +142,7 @@ def result_back(self, result): def result_pixmax(self, _result, args): logger.info("...") - if self.has_key(args['id']): + if args['id'] in self: ptr = LoadPixmap(args['file']) if ptr: os_remove(args['file']) @@ -178,7 +160,7 @@ def result_pixmax(self, _result, args): def buildEntry(self, *args): logger.info("...") - if args[listtippsindex['dict']] and args[listtippsindex['dict']].has_key('url'): + if "url" in args[listtippsindex['dict']] and args[listtippsindex['dict']]: self.download.run(MydownloadPage, url=args[listtippsindex['dict']]['url'], file=args[listtippsindex['dict']]['file'], headers=_headers_jpeg).addCallback(self.result_pixmax, args[listtippsindex['dict']]).addErrback(http_failed) del args[listtippsindex['dict']]['url'] return args diff --git a/src/Slider.py b/src/Slider.py new file mode 100755 index 0000000..7add80e --- /dev/null +++ b/src/Slider.py @@ -0,0 +1,23 @@ +# coding=utf-8 + + +from enigma import eSlider +from Components.HTMLComponent import HTMLComponent +from Components.GUIComponent import GUIComponent +from .Debug import logger + + +class Slider(HTMLComponent, GUIComponent): + def __init__(self, min_value=0, max_value=6): + logger.info("...") + GUIComponent.__init__(self) + self.min = min_value + self.max = max_value + + GUI_WIDGET = eSlider + + def postWidgetCreate(self, instance): + logger.info("...") + instance.setRange(self.min, self.max) + instance.setOrientation(eSlider.orVertical, False, True) + instance.setBorderWidth(0) diff --git a/src/TVMagazineCockpit.py b/src/TVMagazineCockpit.py index 543cb77..73ed7a8 100644 --- a/src/TVMagazineCockpit.py +++ b/src/TVMagazineCockpit.py @@ -22,7 +22,7 @@ from Components.config import config from .Debug import logger from .TvSpielfilmmain import TvSpielfilmmain -from .tvspielfilmtipps import TvSpielfilmTipps +from .ProgramTips import ProgramTips from .ProgramColumns import ProgramColumns from .TvSpielfilmsearch import TvSpielfilmsearch from .tvconfig import read_tvconfig @@ -66,7 +66,7 @@ def showScreenCallback(self, *args): channel_list = read_channel_list("favorites") logger.debug("channel_list: %s", channel_list) self.showScreen(ProgramColumns, channel_list) - elif return_screen == "tipps": - self.showScreen(TvSpielfilmTipps) + elif return_screen == "tips": + self.showScreen(ProgramTips) elif return_screen == "search": self.showScreen(TvSpielfilmsearch, *args) diff --git a/src/Version.py b/src/Version.py index b9aa532..fb1983e 100644 --- a/src/Version.py +++ b/src/Version.py @@ -21,6 +21,6 @@ PLUGIN = "TVMagazineCockpit" ID = "TVC" -VERSION = "0.8.4" +VERSION = "0.9.0" COPYRIGHT = "2018-2024 by dream-alpha" LICENSE = "This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version." diff --git a/src/skin/Default-FHD/skin.xml b/src/skin/Default-FHD/skin.xml index b4f37e9..362dc96 100644 --- a/src/skin/Default-FHD/skin.xml +++ b/src/skin/Default-FHD/skin.xml @@ -44,7 +44,7 @@ - + diff --git a/src/skin/Default-HD/skin.xml b/src/skin/Default-HD/skin.xml index 37fbb37..eaf61dc 100644 --- a/src/skin/Default-HD/skin.xml +++ b/src/skin/Default-HD/skin.xml @@ -44,7 +44,7 @@ - + diff --git a/src/skin/Default-WQHD/skin.xml b/src/skin/Default-WQHD/skin.xml index 8bd6abf..20aa465 100644 --- a/src/skin/Default-WQHD/skin.xml +++ b/src/skin/Default-WQHD/skin.xml @@ -44,7 +44,7 @@ - + diff --git a/src/skin/Other-WQHD/skin.xml b/src/skin/Other-WQHD/skin.xml index 8bd6abf..20aa465 100644 --- a/src/skin/Other-WQHD/skin.xml +++ b/src/skin/Other-WQHD/skin.xml @@ -44,7 +44,7 @@ - + diff --git a/src/skin/Shadow-FHD/skin.xml b/src/skin/Shadow-FHD/skin.xml index b4f37e9..362dc96 100644 --- a/src/skin/Shadow-FHD/skin.xml +++ b/src/skin/Shadow-FHD/skin.xml @@ -44,7 +44,7 @@ - + diff --git a/src/skin/screen_TvSpielfilmView.xmlinc b/src/skin/screen_EventDetails.xmlinc similarity index 95% rename from src/skin/screen_TvSpielfilmView.xmlinc rename to src/skin/screen_EventDetails.xmlinc index 659fd92..9a76d25 100755 --- a/src/skin/screen_TvSpielfilmView.xmlinc +++ b/src/skin/screen_EventDetails.xmlinc @@ -1,4 +1,4 @@ - + diff --git a/src/skin/skin_src.xml b/src/skin/skin_src.xml index e464d76..632f078 100644 --- a/src/skin/skin_src.xml +++ b/src/skin/skin_src.xml @@ -1,7 +1,7 @@ - + diff --git a/src/tvspielfilm_channel_list_all.json b/src/tvspielfilm_channel_list_all.json new file mode 100644 index 0000000..ff26e3d --- /dev/null +++ b/src/tvspielfilm_channel_list_all.json @@ -0,0 +1,209 @@ +[ + "123TV", + "13TH", + "2NEO", + "3PLUS", + "3SAT", + "ADULT", + "ALJAZ", + "ALPHA", + "AMS", + "ANIXE", + "APLAN", + "ARD", + "ARTE", + "ATV", + "ATV2", + "AXN", + "BBC", + "BBC-E", + "BBC-N", + "BBC1", + "BBC2", + "BBC4", + "BE1", + "BERG", + "BIBEL", + "BILD", + "BLM", + "BR", + "BULI", + "BUTV", + "C-NET", + "C5", + "CC", + "CH21", + "CIN", + "CIN24", + "CLASS", + "CNBC", + "CNN", + "CNN-T", + "CPLUS", + "CPLUSC", + "CPLUSS", + "CRIN", + "DAZN", + "DISNE", + "DMAX", + "DMC", + "DMF", + "DR1", + "DR2", + "DWTV", + "EOTV", + "ES1", + "EURO", + "EURO-D", + "EURO-S", + "EURO2", + "EURON", + "EX-SP", + "FATV", + "FES", + "FFTV", + "FR24E", + "FR24F", + "FRA2", + "FRA3", + "FRA4", + "FRA5", + "GEO", + "GOLD", + "GUSTO", + "HDDIS", + "HEALTH", + "HEIMA", + "HGTV", + "HH1", + "HISHD", + "HR", + "HSE", + "JUKE", + "K1", + "K1CLA", + "K1DOKU", + "KIKA", + "KINOW", + "KTV", + "LAUNE", + "LEITV", + "LUSTP", + "MAPO", + "MASPO", + "MDR", + "MEZZO", + "MOVTV", + "MTV", + "MTV-B", + "MTV-D", + "MTV-H", + "MTV-L", + "N-GHD", + "N-GW", + "N24DOKU", + "N3", + "NAUCH", + "NHK", + "NICK", + "NICKJ", + "NICKT", + "NOWUS", + "NTV", + "OE24TV", + "ORF1", + "ORF2", + "ORF3", + "ORFSP", + "PASS", + "PBOY", + "PHOEN", + "PRO7", + "PRO7F", + "PRO7M", + "PULS4", + "PULS8", + "QVC", + "QVCP", + "RBB", + "RBTV", + "RIC", + "RMTV", + "RNF", + "ROM", + "RTL", + "RTL-C", + "RTL-L", + "RTL-N", + "RTL2", + "RTLPL", + "S1PLU", + "SAT1", + "SAT1E", + "SAT1G", + "SCIFI", + "SERVU", + "SERVUSA", + "SF1", + "SF2", + "SHOT", + "SILVE", + "SIXX", + "SKLAR", + "SKY-A", + "SKY-C", + "SKY-CO", + "SKY-CR", + "SKY-D", + "SKY-F", + "SKY-H", + "SKY-K", + "SKY-N", + "SKY-NA", + "SKY1", + "SKYAT", + "SKYCS", + "SKYF1", + "SKYRP", + "SKYSG", + "SKYSH", + "SKYSM", + "SKYSPL", + "SKYST", + "SKYSTE", + "SKYTH", + "SNHD", + "SONY", + "SP-GE", + "SPO-A", + "SPO-D", + "SPORT", + "SPTVW", + "STTV", + "SUPER", + "SWR", + "TAG24", + "TELE5", + "TLC", + "TMAX", + "TNT-C", + "TNT-F", + "TNT-S", + "TOGGO", + "TRACE", + "TRAVELXP", + "TV2", + "TV5", + "TVB", + "TVM", + "UHD1", + "UNIVE", + "VH1", + "VOX", + "VOXUP", + "WDR", + "WDWTV", + "WELT", + "ZDF", + "ZINFO" +] \ No newline at end of file diff --git a/src/tvspielfilm_channel_list_default.json b/src/tvspielfilm_channel_list_default.json new file mode 100755 index 0000000..cd41672 --- /dev/null +++ b/src/tvspielfilm_channel_list_default.json @@ -0,0 +1 @@ +["ARD", "ZDF", "RTL", "SAT1", "PRO7", "K1", "RTL2", "VOX", "TELE5", "3SAT", "ARTE", "2NEO", "FES", "RTL-N", "DMAX", "SIXX", "SAT1G", "PRO7M"] diff --git a/src/tvspielfilm_channel_list_sky.json b/src/tvspielfilm_channel_list_sky.json new file mode 100644 index 0000000..5a7d410 --- /dev/null +++ b/src/tvspielfilm_channel_list_sky.json @@ -0,0 +1,24 @@ +[ + "SKY-A", + "SKY-C", + "SKY-CO", + "SKY-CR", + "SKY-D", + "SKY-F", + "SKY-H", + "SKY-K", + "SKY-N", + "SKY-NA", + "SKY1", + "SKYAT", + "SKYCS", + "SKYF1", + "SKYRP", + "SKYSG", + "SKYSH", + "SKYSM", + "SKYSPL", + "SKYST", + "SKYSTE", + "SKYTH" +] \ No newline at end of file