Code:
def layoutFinished(self):
self.genreliste.append(('Aktuelles Programm', 1, 'http://www.test.de'))
self.genreliste.append(('Filme auf Abruf', 2, 'http://www.test,de/test.m3u8'))
self.genreliste.append(('TV-Programmvorschau', 3, 'http://www.test.de/test.avi'))
self.ml.setList(map(self._defaultlistcenter, self.genreliste))
def keyOK(self):
genreID = self['liste'].getCurrent()[0][1]
genre = self['liste'].getCurrent()[0][0]
tvLink = self['liste'].getCurrent()[0][2]
if genreID == 1:
self.session.open(
GermanyTVPlayer2,
[(genre, tvLink)],
'WorldTV - aktuelles Programm'
)
else:
self.session.open(worldTvListScreen, genreID, tvLink, genre)
class worldTvListScreen(MPScreen):
def __init__(self, session, genreID, tvLink, wtvGenre):
self.genreID = genreID
self.tvLink = tvLink
self.genreName = wtvGenre
self.plugin_path = mp_globals.pluginPath
self.skin_path = mp_globals.pluginPath + mp_globals.skinsPath
path = "%s/%s/defaultGenreScreen.xml" % (self.skin_path, config.mediaportal.skin.value)
if not fileExists(path):
path = self.skin_path + mp_globals.skinFallback + "/defaultGenreScreen.xml"
with open(path, "r") as f:
self.skin = f.read()
f.close()
MPScreen.__init__(self, session)
self["actions"] = ActionMap(["MP_Actions"], {
"0" : self.closeAll,
"ok" : self.keyOK,
"cancel" : self.keyCancel,
"up" : self.keyUp,
"down" : self.keyDown,
"right" : self.keyRight,
"left" : self.keyLeft
}, -1)
self['title'] = Label(WTV_Version)
self['ContentTitle'] = Label("Genre: %s" % self.genreName)
self['F1'] = Label(_("Exit"))
self.keyLocked = True
self.baseUrl = "http://www.test.de"
self.filmliste = []
self.ml = MenuList([], enableWrapAround=True, content=eListboxPythonMultiContent)
self['liste'] = self.ml
self.onLayoutFinish.append(self.layoutFinished)
def layoutFinished(self):
self.keyLocked = True
twAgentGetPage(self.tvLink).addCallback(self.genreData).addErrback(self.dataError)
def genreData(self, data):
if self.genreID == 2:
wtvDaten = re.findall('<a href="\?v=(.*?)" title="(.*?)".*?<img src="(.*?)".*?_time">(.*?)<', data)
if wtvDaten:
for (href,title,img,dura) in wtvDaten:
self.filmliste.append(('',title.replace(' - ','\n',1).replace('&','&')+' ['+dura+']',href,img))
self.keyLocked = False
else:
self.filmliste.append((_('No videos found!'),'','',''))
self.ml.setList(map(self.TvListEntry, self.filmliste))
elif self.genreID == 3:
m = re.search('<div id="bx_main_c">(.*?)</div>', data, re.S)
if m:
wtvDaten = re.findall('<td .*?<strong>(.*?)</strong></td>.*?title="(.*?)"><img src="(.*?)".*?onclick=', m.group(1), re.S)
if wtvDaten:
for (ptime,title,img) in
Es ist nur ein Beispiel. Wollte nicht das ganze Code hier einfügen. Noch nicht.
Lesezeichen