Changeset 14801 for ipk/source
- Timestamp:
- Mar 20, 2012, 6:11:59 PM (14 years ago)
- Location:
- ipk/source/infos_buliticker_0_1
- Files:
-
- 1 deleted
- 10 edited
-
CONTROL/control (modified) (1 diff)
-
usr/lib/enigma2/python/Plugins/Extensions/Buliticker/icons/elf_gr.png (modified) ( previous)
-
usr/lib/enigma2/python/Plugins/Extensions/Buliticker/icons/gelb_gr.png (modified) ( previous)
-
usr/lib/enigma2/python/Plugins/Extensions/Buliticker/icons/halbzeit_gr.png (modified) ( previous)
-
usr/lib/enigma2/python/Plugins/Extensions/Buliticker/icons/rot_gr.png (modified) ( previous)
-
usr/lib/enigma2/python/Plugins/Extensions/Buliticker/icons/rotgelb_gr.png (modified) ( previous)
-
usr/lib/enigma2/python/Plugins/Extensions/Buliticker/icons/tor_gr.png (modified) ( previous)
-
usr/lib/enigma2/python/Plugins/Extensions/Buliticker/icons/wechsel_gr.png (modified) ( previous)
-
usr/lib/enigma2/python/Plugins/Extensions/Buliticker/plugin.py (modified) (44 diffs)
-
usr/lib/enigma2/python/Plugins/Extensions/Buliticker/zdftickerback.png (deleted)
-
usr/lib/enigma2/python/Plugins/Extensions/Buliticker/zdftickerback_sd.png (modified) ( previous)
Legend:
- Unmodified
- Added
- Removed
-
ipk/source/infos_buliticker_0_1/CONTROL/control
r7451 r14801 1 1 Package: enigma2-plugin-infos-buliticker 2 Version: 0.12 Version: 1.2 3 3 Architecture: sh4 4 OE: buliticker 1. 0c4 OE: buliticker 1.2b 5 5 Section: extra 6 6 Priority: optional -
ipk/source/infos_buliticker_0_1/usr/lib/enigma2/python/Plugins/Extensions/Buliticker/plugin.py
r7451 r14801 3 3 # Fußball Liveticker für die 1./2.Bundesliga 4 4 # 5 # Quelle: http://linpop.zdf.de/sport/bl 1/konferenz-sub.htm5 # Quelle: http://linpop.zdf.de/sport/bl[1,2]/konferenz.htm 6 6 # 7 7 # V1.0 13.04.09 … … 13 13 # V1.0c 18.04.09 Fehler im Tickertext gefixt 14 14 # 15 # V1.1 21.04.09 ConfigScreen für X,Y Position Tickerleiste und Intervall Timer hinzugefügt, Übersicht Hintergrund geändert 16 # 17 # V1.2 24.04.09 Filmauswahl über Video Taste, neue Configeinstellung Auswahl Ergebnis/Textticker , Unterkanal Switch,Movie Stop Fehler beim Starten gefixt 18 # Auswahl Einzelspiel- oder Konferenz-Ticker 19 # 20 # V1.2a 25.04.09 Menu Auswahl bereinigt, Konferenz lang auch bei Einzelspiel 21 # 22 # V1.2b 01.05.09 Toggle Einzel- Konferenzticker mit <Text> - Taste 23 # 15 24 # Enigma2 Plugin 16 25 # … … 19 28 20 29 import os, sys 21 22 30 from Plugins.Plugin import PluginDescriptor 23 31 from twisted.web.client import getPage 24 32 from twisted.internet import reactor 25 33 from Screens.Screen import Screen 26 from Screens.Console import Console27 34 from Screens.MessageBox import MessageBox 28 35 from Screens.InputBox import InputBox 29 36 from Screens.ChoiceBox import ChoiceBox 30 37 from Screens.ChannelSelection import ChannelSelection 31 from Screens.InfoBarGenerics import InfoBarSubserviceSelection 38 from Screens.InfoBarGenerics import InfoBarSubserviceSelection, InfoBarSeek, InfoBarShowHide 39 from Screens.MovieSelection import MovieSelection 32 40 from Screens.SubservicesQuickzap import SubservicesQuickzap 33 41 from Components.ActionMap import ActionMap … … 35 43 from Components.Sources.List import List 36 44 from Components.MenuList import MenuList 37 from Components.config import config, ConfigSubsection, ConfigText, configfile 45 from Components.config import config, ConfigSubsection, ConfigText, ConfigYesNo, ConfigInteger, getConfigListEntry 46 from Components.ConfigList import ConfigListScreen 38 47 from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest 39 48 from Components.Pixmap import Pixmap, MovingPixmap 40 from Components.AVSwitch import AVSwitch41 49 from enigma import eTimer, getDesktop, eListboxPythonMultiContent, eListbox, gFont, RT_HALIGN_LEFT, RT_HALIGN_RIGHT, RT_HALIGN_CENTER 42 50 from re import sub, split, search, match, findall … … 48 56 text = text.replace('©.*'," ").replace('&',"&").replace('ü',"ü").replace('ä',"ä").replace('ö',"ö") 49 57 text = text.replace('Ü',"Ü").replace('Ä',"Ä").replace('Ö',"Ö") 50 return text 51 52 refreshtimer = 15000 53 screenhidetimer = 15000 58 return text 59 60 # aus GoogleMaps (c) 3c5x9 ;-) 61 def applySkinVars(skin,dict): 62 for key in dict.keys(): 63 try: 64 skin = skin.replace('{'+key+'}',dict[key]) 65 except Exception,e: 66 print e,"@key=",key 67 return skin 68 54 69 try: 55 70 size_w = int(getDesktop(0).size().width()) … … 59 74 size_h = 720 60 75 76 if size_w == 1280: 77 tickerpos_x = 0 78 tickerpos_y = 620 79 else: 80 tickerpos_x = 0 81 tickerpos_y = 470 82 83 ############################# 84 # activeticker = None 85 # def showhide(session, **kwargs): 86 # global activeticker 87 # if activeticker is None: 88 # activeticker = session.instantiateDialog(ShowFullTicker) 89 # 90 # if activeticker.shown: 91 # activeticker.hide() 92 # else: 93 # activeticker.show() 94 # print dir(activeticker) 95 96 ############################# 97 61 98 config.plugins.buliticker = ConfigSubsection() 62 99 config.plugins.buliticker.link = ConfigText(default="http://linpop.zdf.de/sport/bl1/konferenz.htm", fixed_size = False) 63 config.plugins.buliticker.actmenu = ConfigText(default="ergmenu", fixed_size = False) 64 65 ############################################################################### 100 config.plugins.buliticker.tickerkurz = ConfigYesNo(default = True) 101 config.plugins.buliticker.acttickermenu = ConfigText(default="ergmenu", fixed_size = False) 102 config.plugins.buliticker.tickerpos_x = ConfigInteger(tickerpos_x, (-20,100)) 103 config.plugins.buliticker.tickerpos_y = ConfigInteger(tickerpos_y, (300,700)) 104 config.plugins.buliticker.refreshtimer = ConfigInteger(15000, (5000,60000)) 105 config.plugins.buliticker.screenhidetimer = ConfigInteger(15000, (1000,60000)) 106 config.plugins.buliticker.selectticker = ConfigInteger(0, (0,2)) 107 108 ####################### 109 110 class ItemList(MenuList): 111 def __init__(self, items, enableWrapAround = True): 112 MenuList.__init__(self, items, enableWrapAround, eListboxPythonMultiContent) 113 self.l.setFont(-2, gFont("Regular", 24)) 114 self.l.setFont(-1, gFont("Regular", 22)) 115 self.l.setFont(0, gFont("Regular", 20)) 116 self.l.setFont(1, gFont("Regular", 18)) 117 self.l.setFont(2, gFont("Regular", 16)) 118 self.l.setFont(3, gFont("Regular", 15)) 119 120 121 # ConfigScreen Teile davon aus GoogleMaps (c) 3c5x9 ;-) 122 class BulitickerConfigScreen(ConfigListScreen,Screen): 123 124 if size_w == 1280: 125 screenpos = "100,100" 126 else: 127 screenpos = "35,100" 128 129 skin = """ 130 <screen position="%s" size="640,220" title="Tickerleiste Setup" > 131 <widget name="config" position="0,0" size="640,180" scrollbarMode="showOnDemand" /> 132 <widget name="buttonred" position="10,180" size="90,40" backgroundColor="red" valign="center" halign="center" zPosition="1" foregroundColor="white" font="Regular;18"/> 133 <widget name="buttongreen" position="540,180" size="90,40" backgroundColor="green" valign="center" halign="center" zPosition="1" foregroundColor="white" font="Regular;18"/> 134 </screen>""" % screenpos 135 136 def __init__(self, session, args = 0): 137 self.session = session 138 Screen.__init__(self, session) 139 self.list = [] 140 # self.list.append(getConfigListEntry("Start URL", config.plugins.buliticker.link)) 141 # self.list.append(getConfigListEntry("Startmenu", config.plugins.buliticker.acttickermenu)) 142 self.list.append(getConfigListEntry("Ticker X Position", config.plugins.buliticker.tickerpos_x)) 143 self.list.append(getConfigListEntry("Ticker Y Position", config.plugins.buliticker.tickerpos_y)) 144 self.list.append(getConfigListEntry("Tickerauswahl: (0)beide (1)Ergebnissticker (2)Textticker", config.plugins.buliticker.selectticker)) 145 self.list.append(getConfigListEntry("Nur die letzten 6 Tickertext Meldungen", config.plugins.buliticker.tickerkurz)) 146 self.list.append(getConfigListEntry("Update Intervall in ms", config.plugins.buliticker.refreshtimer)) 147 self.list.append(getConfigListEntry("Hidescreen Timeout in ms", config.plugins.buliticker.screenhidetimer)) 148 149 ConfigListScreen.__init__(self, self.list) 150 self["buttonred"] = Label(_("cancel")) 151 self["buttongreen"] = Label(_("ok")) 152 self["setupActions"] = ActionMap(["SetupActions"], 153 { 154 "green": self.save, 155 "red": self.cancel, 156 "save": self.save, 157 "cancel": self.cancel, 158 "ok": self.save, 159 }, -2) 160 161 def save(self): 162 for x in self["config"].list: 163 x[1].save() 164 self.close() 165 166 def cancel(self): 167 for x in self["config"].list: 168 x[1].cancel() 169 self.close() 170 171 ####################### 66 172 # backgroundColor="#c9deb7" 67 173 # scrollbarMode="showOnDemand" 68 69 # <eLabel zPosition="1" position="28,93" size="502,459" backgroundColor="#c9deb7" />70 # <eLabel zPosition="1" position="548,93" size="500,234" backgroundColor="#c9deb7" />71 174 class ShowFullTicker(Screen): 72 175 … … 74 177 skin = """ 75 178 <screen name="ShowTicker" position="5,3" size="1270,712" title="Buli FullTicker" flags="wfNoBorder"> 76 <ePixmap position="5,7" size="1270,7 10" zPosition="-10" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Buliticker/zdftickerback.png" transparent="1" />77 <widget source="global.CurrentTime" render="Label" position="850,505" size="280,22" font="Regular;20" halign="right" foregroundColor=" black" transparent="1">179 <ePixmap position="5,7" size="1270,70" zPosition="-10" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Buliticker/zdftickerback_hd.png" transparent="1" /> 180 <widget source="global.CurrentTime" render="Label" position="850,505" size="280,22" font="Regular;20" halign="right" foregroundColor="white" transparent="1"> 78 181 <convert type="ClockToText">Date</convert> 79 182 </widget> 80 <widget source="global.CurrentTime" render="Label" position="1140,505" size="80,22" font="Regular;20" halign="left" foregroundColor=" black" transparent="1">183 <widget source="global.CurrentTime" render="Label" position="1140,505" size="80,22" font="Regular;20" halign="left" foregroundColor="white" transparent="1"> 81 184 <convert type="ClockToText">Default</convert> 82 185 </widget> 83 <widget name="0_menu" zPosition="2" position="30,95" size="500,447" transparent="1" foregroundColor="black" /> 84 <widget name="tablabel" zPosition="2" position="100,280" size="440,25" font="Regular;22" halign="left" foregroundColor="black" transparent="1"/> 85 <widget name="1_menu" zPosition="2" position="550,95" size="500,225" transparent="1" foregroundColor="black" /> 86 <widget name="erglabel" zPosition="2" position="600,100" size="440,25" font="Regular;22" halign="left" foregroundColor="black" transparent="1"/> 87 <eLabel zPosition="2" position="5,531" size="1270,2" backgroundColor="black" /> 88 <widget name="2_menu" zPosition="2" position="20,535" size="1240,165" transparent="1" foregroundColor="black" /> 89 <eLabel zPosition="1" position="5,535" size="1270,180" backgroundColor="#f4fcfc" /> 90 <widget name="tickerlabel" zPosition="2" position="520,610" size="440,25" font="Regular;22" halign="left" foregroundColor="black" transparent="1" /> 91 <widget name="statuslabel" zPosition="2" position="620,480" size="440,25" font="Regular;22" halign="left" foregroundColor="black" transparent="1" /> 186 <widget name="0_menu" zPosition="2" position="30,95" size="500,447" transparent="1" foregroundColor="white" /> 187 <widget name="tablabel" zPosition="2" position="100,280" size="440,25" font="Regular;22" halign="left" foregroundColor="white" transparent="1"/> 188 <widget name="1_menu" zPosition="2" position="550,95" size="500,250" transparent="1" foregroundColor="white" /> 189 <widget name="erglabel" zPosition="2" position="600,100" size="440,25" font="Regular;22" halign="left" foregroundColor="white" transparent="1"/> 190 <eLabel zPosition="2" position="5,531" size="1270,2" backgroundColor="white" /> 191 <widget name="2_menu" zPosition="2" position="10,535" size="1260,165" transparent="1" foregroundColor="white" /> 192 <widget name="tickerlabel" zPosition="2" position="520,610" size="440,25" font="Regular;22" halign="left" foregroundColor="white" transparent="1" /> 193 <widget name="statuslabel" zPosition="2" position="620,480" size="440,25" font="Regular;22" halign="left" foregroundColor="white" transparent="1" /> 92 194 </screen>""" 93 195 else: 94 # <eLabel zPosition="1" position="8,73" size="392,372" backgroundColor="#c9deb7" />95 # <eLabel zPosition="1" position="413,73" size="292,230" backgroundColor="#c9deb7" />96 196 skin = """ 97 197 <screen name="ShowTicker" position="5,3" size="710,568" title="Buli FullTicker" flags="wfNoBorder"> 98 <ePixmap position="5,5" size="710,5 60" zPosition="-10" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Buliticker/zdftickerback_sd.png" transparent="1" />99 <widget source="global.CurrentTime" render="Label" position="420,432" size="200,20" font="Regular;17" halign="right" foregroundColor=" black" transparent="1">198 <ePixmap position="5,5" size="710,57" zPosition="1" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Buliticker/zdftickerback_sd.png" transparent="1" /> 199 <widget source="global.CurrentTime" render="Label" position="420,432" size="200,20" font="Regular;17" halign="right" foregroundColor="white" transparent="1"> 100 200 <convert type="ClockToText">Date</convert> 101 201 </widget> 102 <widget source="global.CurrentTime" render="Label" position="630,432" size="80,20" font="Regular;17" halign="left" foregroundColor=" black" transparent="1">202 <widget source="global.CurrentTime" render="Label" position="630,432" size="80,20" font="Regular;17" halign="left" foregroundColor="white" transparent="1"> 103 203 <convert type="ClockToText">Default</convert> 104 204 </widget> 105 106 <widget name="0_menu" zPosition="2" position="10,75" size="370,370" transparent="1" foregroundColor="black" /> 107 108 <widget name="tablabel" zPosition="2" position="50,275" size="440,25" font="Regular;20" halign="left" foregroundColor="black" transparent="1"/> 109 110 <widget name="1_menu" zPosition="2" position="385,75" size="310,225" transparent="1" foregroundColor="black" /> 111 205 <widget name="0_menu" zPosition="2" position="10,75" size="370,370" transparent="1" foregroundColor="white" /> 206 <widget name="tablabel" zPosition="2" position="50,275" size="440,25" font="Regular;20" halign="left" foregroundColor="black" transparent="1"/> 207 <widget name="1_menu" zPosition="2" position="385,75" size="310,250" transparent="1" foregroundColor="white" /> 112 208 <widget name="erglabel" zPosition="2" position="500,95" size="200,25" font="Regular;20" halign="left" foregroundColor="black" transparent="1"/> 113 114 <eLabel zPosition="2" position="5,453" size="710,2" backgroundColor="black" /> 115 116 <widget name="2_menu" zPosition="2" position="20,456" size="690,115" transparent="1" foregroundColor="black" /> 117 <eLabel zPosition="1" position="5,456" size="705,115" backgroundColor="#f4fcfc" /> 118 <widget name="tickerlabel" zPosition="2" position="250,510" size="340,25" font="Regular;20" halign="left" foregroundColor="black" transparent="1" /> 119 <widget name="statuslabel" zPosition="2" position="385,380" size="340,25" font="Regular;20" halign="left" foregroundColor="black" transparent="1" /> 209 <eLabel zPosition="2" position="0,450" size="715,2" backgroundColor="white" /> 210 <widget name="2_menu" zPosition="2" position="0,453" size="710,110" transparent="1" foregroundColor="white" /> 211 <widget name="tickerlabel" zPosition="2" position="250,510" size="340,25" font="Regular;20" halign="left" foregroundColor="white" transparent="1" /> 212 <widget name="statuslabel" zPosition="2" position="385,300" size="340,25" font="Regular;20" halign="left" foregroundColor="white" transparent="1" /> 120 213 </screen>""" 121 214 122 215 def __init__(self, session): 123 self.loadinginprogress = False 216 self.session = session 217 124 218 self.skin = ShowFullTicker.skin 219 125 220 Screen.__init__(self, session) 126 221 127 222 print "----> %d" % size_w 128 223 print "----> %d" % size_h 129 224 225 self.loadinginprogress = False 130 226 self.baseurl = "http://linpop.zdf.de/sport/" 131 self.lastbulilink = pluginpath + "/lastbulilink.txt"132 227 self.hideflag = True 133 228 self.tableentries = [] … … 138 233 self.ergold = [] 139 234 self.tickerold = "" 140 141 self.servicelist = self.session.instantiateDialog(ChannelSelection) 142 235 self.movieisrunning = False 236 237 self.lastservice = self.session.nav.getCurrentlyPlayingServiceReference() 238 239 # movie , subservice check 240 service = self.session.nav.getCurrentService() 241 if service is not None: 242 pauseable = service.pause() 243 if pauseable is None: 244 # maybe subservice is running 245 subservices = service and service.subServices() 246 if not subservices or subservices.getNumberOfSubservices() == 0: 247 self.servicelist = self.session.instantiateDialog(ChannelSelection) 248 print "----> no Movie or Subservice is running read Servicelist" 249 self.movieisrunning = False 250 else: 251 print "----> subservice is running no Servicelist" 252 self.servicelist = None 253 else: 254 print "----> Movie is running no Servicelist" 255 self.movieisrunning = True 256 self.servicelist = None 257 else: 258 print "----> no Service or Movie is running read Servicelisr" 259 self.servicelist = self.session.instantiateDialog(ChannelSelection) 260 261 143 262 self["0_menu"] = ItemList([]) 144 263 self["1_menu"] = ItemList([]) … … 150 269 self["tickerlabel"] = Label("") 151 270 self["statuslabel"] = Label("") 152 self["actions"] = ActionMap(["ColorActions","OkCancelActions","DirectionActions","HelpActions","MovieSelectionActions","InputActions" ],271 self["actions"] = ActionMap(["ColorActions","OkCancelActions","DirectionActions","HelpActions","MovieSelectionActions","InputActions","InfobarActions","InfobarTeletextActions","ChannelSelectBaseActions"], 153 272 { 154 273 "1": self.loadBuli1, 155 274 "2": self.loadBuli2, 156 "3": self.tester, 275 "0": self.tester, 276 "contextMenu": self.configScreen, 157 277 "green": self.subService, 158 278 "ok": self.ok, … … 162 282 "up": self.up, 163 283 "down": self.down, 164 # "contextMenu": self.switchMenu, 284 "nextBouquet": self.switchMenu, 285 "prevBouquet": self.switchMenu, 165 286 "showEventInfo": self.miniView, 287 "showMovies": self.showMovieList, 288 "showTv": self.stopMovie, 166 289 "displayHelp": self.hideScreen, 290 "startTeletext": self.toggleKonfURL, 167 291 }, -1) 168 292 169 self.konfurl = config.plugins.buliticker.link.value 170 293 294 if config.plugins.buliticker.tickerkurz.value is True: 295 self.konfurl = config.plugins.buliticker.link.value.replace("-sub.htm",".htm") 296 else: 297 if search("-sub.htm",config.plugins.buliticker.link.value) is None: 298 self.konfurl = config.plugins.buliticker.link.value.replace(".htm","-sub.htm") 299 else: 300 self.konfurl = config.plugins.buliticker.link.value 301 302 print "---> init: %s" % self.konfurl 303 if search("/konferenz",self.konfurl) is None: 304 self.eventurl = self.konfurl 305 else: 306 self.eventurl = "" 307 171 308 if search("/bl1/",self.konfurl) is not None: 172 309 self.buli = "bl1" 173 310 else: 174 311 self.buli = "bl2" 175 312 313 self.refreshtimer = config.plugins.buliticker.refreshtimer.value 314 self.screenhidetimer = config.plugins.buliticker.screenhidetimer.value 315 176 316 self.screenHideTimer = eTimer() 177 317 self.screenHideTimer.callback.append(self.hideTimerAction) … … 179 319 self.refreshInfoTimer = eTimer() 180 320 self.refreshInfoTimer.callback.append(self.timerAction) 181 self.refreshInfoTimer.start( refreshtimer)321 self.refreshInfoTimer.start(self.refreshtimer) 182 322 183 323 self.StartTimer = eTimer() 184 324 self.StartTimer.callback.append(self.download(self.konfurl,self.getLiveContent)) 185 325 self.StartTimer.start(500) 186 187 # geklaut aus InfoBarGenerics.py 326 327 328 def toggleKonfURL(self): 329 if self.eventurl == "": 330 return 331 if search("/bl1/",self.konfurl) is not None: 332 if search("/konferenz",self.konfurl) is not None: 333 self.konfurl = self.eventurl 334 else: 335 if config.plugins.buliticker.tickerkurz.value is True: 336 self.konfurl = self.baseurl + "bl1/konferenz.htm" 337 else: 338 self.konfurl = self.baseurl + "bl1/konferenz-sub.htm" 339 else: 340 if search("/konferenz",self.konfurl) is not None: 341 self.konfurl = self.eventurl 342 else: 343 if config.plugins.buliticker.tickerkurz.value is True: 344 self.konfurl = self.baseurl + "bl2/konferenz.htm" 345 else: 346 self.konfurl = self.baseurl + "bl2/konferenz-sub.htm" 347 print "----> toggled %s" % self.konfurl 348 self.timerAction() 349 self.hideTimerRestart(self.screenhidetimer) 350 351 # geklaut aus InfoBarGenerics.py ;-) 188 352 189 353 def subService(self): … … 207 371 self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice..."), list = tlist, selection = selection, keys = keys) 208 372 209 #self.session.openWithCallback(self.timerAction,SubservicesQuickzap, "quickzap")210 211 373 def subserviceSelected(self, service): 212 374 if not service is None: 213 375 if not isinstance(service[1], str): 214 376 self.session.nav.playService(service[1], False) 215 216 377 ############# 378 379 # geklaut aus InfoBar.py ;-) 380 def showMovieList(self): 381 if not self.hideflag: 382 ref = self.session.nav.getCurrentlyPlayingServiceReference() 383 self.session.openWithCallback(self.movieSelected, MovieSelection, ref) 384 385 def movieSelected(self, service): 386 if service is not None: 387 self.movieisrunning = True 388 self.session.nav.playService(service) 389 ############# 390 391 def stopMovie(self): 392 service = self.session.nav.getCurrentService() 393 if service is None: 394 print "no Service" 395 return False 396 pauseable = service.pause() 397 if pauseable is None: 398 print "not pauseable." 399 return False 400 self.session.nav.stopService() 401 self.movieisrunning = False 402 403 def configScreen(self): 404 self.refreshInfoTimer.stop() 405 self.screenHideTimer.stop() 406 config.plugins.buliticker.link.value = self.konfurl 407 config.plugins.buliticker.link.save() 408 self.session.openWithCallback(self.configClose,BulitickerConfigScreen) 409 410 def configClose(self): 411 tickerpos_x = config.plugins.buliticker.tickerpos_x.value 412 tickerpos_y = config.plugins.buliticker.tickerpos_y.value 413 self.refreshtimer = config.plugins.buliticker.refreshtimer.value 414 self.screenhidetimer = config.plugins.buliticker.screenhidetimer.value 415 416 if config.plugins.buliticker.tickerkurz.value is True: 417 self.konfurl = config.plugins.buliticker.link.value.replace("-sub.htm",".htm") 418 else: 419 if search("-sub.htm",config.plugins.buliticker.link.value) is None: 420 self.konfurl = config.plugins.buliticker.link.value.replace(".htm","-sub.htm") 421 else: 422 self.konfurl = config.plugins.buliticker.link.value 423 print "---> Config close: %s" % self.konfurl 424 self.hideTimerRestart(self.screenhidetimer) 425 self.timerAction() 426 217 427 def tester(self): 218 428 # self.ergold.append("neuer text") … … 221 431 def timerAction(self): 222 432 print "-----> ShowFullView Timer fired" 433 self.refreshInfoTimerRestart(self.refreshtimer) 223 434 self.download(self.konfurl,self.getLiveContent) 224 self.refreshInfoTimerRestart()225 435 226 436 def hideTimerAction(self): … … 229 439 self.hideScreen() 230 440 231 def refreshInfoTimerRestart(self ):441 def refreshInfoTimerRestart(self,timer): 232 442 if self.refreshInfoTimer.isActive: 233 443 self.refreshInfoTimer.stop() 234 print "-----> ShowFullView Timer restart "235 self.refreshInfoTimer.start( refreshtimer)236 237 def hideTimerRestart(self ):444 print "-----> ShowFullView Timer restart %i" % timer 445 self.refreshInfoTimer.start(timer) 446 447 def hideTimerRestart(self,timer): 238 448 if self.screenHideTimer.isActive: 239 449 self.screenHideTimer.stop() 240 print "-----> ScreenHide Timer restart "241 self.screenHideTimer.start( screenhidetimer)450 print "-----> ScreenHide Timer restart %s" % timer 451 self.screenHideTimer.start(timer) 242 452 243 453 def miniView(self): 244 if self.hideflag: 245 self.refreshInfoTimer.stop() 246 self.screenHideTimer.stop() 247 self.session.openWithCallback(self.timerAction,ShowMiniTicker, self.konfurl) 248 454 self.refreshInfoTimer.stop() 455 self.screenHideTimer.stop() 456 self.session.openWithCallback(self.getbackMiniView, ShowMiniTicker, self.konfurl, self.eventurl, self.servicelist) 457 458 def getbackMiniView(self): 459 self.konfurl = config.plugins.buliticker.link.value 460 self.timerAction() 461 249 462 def loadBuli1(self): 250 463 self.buli = "bl1" 251 self.konfurl = self.baseurl + "bl1/konferenz.htm" 464 self.eventurl = "" 465 if config.plugins.buliticker.tickerkurz.value is True: 466 self.konfurl = self.baseurl + "bl1/konferenz.htm" 467 else: 468 self.konfurl = self.baseurl + "bl1/konferenz-sub.htm" 252 469 self.timerAction() 253 self.hideTimerRestart( )470 self.hideTimerRestart(self.screenhidetimer) 254 471 255 472 def loadBuli2(self): 256 473 self.buli = "bl2" 257 self.konfurl = self.baseurl + "bl2/konferenz.htm" 474 self.eventurl = "" 475 if config.plugins.buliticker.tickerkurz.value is True: 476 self.konfurl = self.baseurl + "bl2/konferenz.htm" 477 else: 478 self.konfurl = self.baseurl + "bl2/konferenz-sub.htm" 258 479 self.timerAction() 259 self.hideTimerRestart( )480 self.hideTimerRestart(self.screenhidetimer) 260 481 261 482 def ok(self): … … 264 485 self.index = self[self.actmenu].getSelectedIndex() 265 486 self.konfurl = self.linklist[self.index] 487 print "---> Ok Index %d" % self.index 488 if self.menunr < 2: 489 self.menunr +=1 490 print "--> %s" % self.konfurl 491 if search("konferenz",self.konfurl) is None: 492 self.eventurl = self.konfurl 493 else: 494 self.eventurl = "" 266 495 self.timerAction() 267 496 else: 268 497 self.timerAction() 269 498 270 499 def up(self): 271 500 if not self.hideflag: 501 if self.movieisrunning: 502 return False 503 if self.servicelist == None: 504 self.servicelist = self.session.instantiateDialog(ChannelSelection) 272 505 self.servicelist.moveUp() 273 506 self.session.execDialog(self.servicelist) 274 507 else: 275 508 self[self.actmenu].up() 276 self.hideTimerRestart( )277 self.refreshInfoTimerRestart( )509 self.hideTimerRestart(self.screenhidetimer) 510 self.refreshInfoTimerRestart(self.refreshtimer) 278 511 279 512 def down(self): 280 513 if not self.hideflag: 514 if self.movieisrunning: 515 return False 516 if self.servicelist == None: 517 self.servicelist = self.session.instantiateDialog(ChannelSelection) 281 518 self.servicelist.moveDown() 282 519 self.session.execDialog(self.servicelist) 283 520 else: 284 521 self[self.actmenu].down() 285 self.hideTimerRestart( )286 self.refreshInfoTimerRestart( )522 self.hideTimerRestart(self.screenhidetimer) 523 self.refreshInfoTimerRestart(self.refreshtimer) 287 524 288 525 def pageUp(self): 289 526 if not self.hideflag: 527 if self.movieisrunning: 528 return False 529 if self.servicelist == None: 530 self.servicelist = self.session.instantiateDialog(ChannelSelection) 290 531 self.servicelist.moveUp() 291 532 self.servicelist.zap() 292 533 else: 293 534 self[self.actmenu].pageUp() 294 self.hideTimerRestart( )295 self.refreshInfoTimerRestart( )535 self.hideTimerRestart(self.screenhidetimer) 536 self.refreshInfoTimerRestart(self.refreshtimer) 296 537 297 538 def pageDown(self): 298 539 if not self.hideflag: 540 if self.movieisrunning: 541 return False 542 if self.servicelist == None and self.movieisrunning == False: 543 self.servicelist = self.session.instantiateDialog(ChannelSelection) 299 544 self.servicelist.moveDown() 300 545 self.servicelist.zap() 301 546 else: 302 547 self[self.actmenu].pageDown() 303 self.hideTimerRestart( )304 self.refreshInfoTimerRestart( )548 self.hideTimerRestart(self.screenhidetimer) 549 self.refreshInfoTimerRestart(self.refreshtimer) 305 550 306 551 def switchMenu(self): 552 if not self.hideflag: 553 return 307 554 if self.menunr == 2: 308 555 # nur zwischen Erg. und Liveticker Menu wechseln … … 311 558 self.menunr +=1 312 559 self.actmenu = str(self.menunr) + "_menu" 560 print "---> %s" % self.menunr 313 561 if self.menunr == 2: 314 562 self["0_menu"].selectionEnabled(0) … … 322 570 323 571 self[self.actmenu].selectionEnabled(1) 572 self.hideTimerRestart(self.screenhidetimer) 324 573 325 574 def getLiveContent(self,output): … … 329 578 self["1_menu"].l.setList([]) 330 579 self["2_menu"].l.setList([]) 331 580 332 581 self["0_menu"].selectionEnabled(0) 333 self["1_menu"].selectionEnabled(0) 334 self["2_menu"].selectionEnabled(1) 335 self.actmenu = "2_menu" 336 # if self.actmenu == "1_menu": 337 # self[self.actmenu].moveToIndex(self.index) 582 # self["1_menu"].selectionEnabled(0) 583 # self["2_menu"].selectionEnabled(1) 584 338 585 339 586 self["erglabel"].setText("") … … 344 591 345 592 if size_w == 1280: 346 self["0_menu"].l.setItemHeight(2 2)593 self["0_menu"].l.setItemHeight(23) 347 594 self["1_menu"].l.setItemHeight(25) 348 595 self["2_menu"].l.setItemHeight(55) 349 fontidx = 0350 ysize = 2 2596 fontidx = -1 597 ysize = 23 351 598 axsize = 300 352 599 bxsize = 100 … … 380 627 # Live Ergebnisse 381 628 self.tableentries = [] 629 self.linklist = [] 382 630 startpos = find(output,'<!-- Events -->') 383 631 if startpos == -1: … … 396 644 else: 397 645 # 'http://linpop.zdf.de/sport/bl1/event20129.htm', 'Bielefeld - Schalke', '0:2 (0:1)' 646 # Link zur Konferenz anhängen 647 if search("bl1",self.konfurl) is not None: 648 if config.plugins.buliticker.tickerkurz.value is True: 649 erg.append('http://linpop.zdf.de/sport/bl1/konferenz.htm') 650 erg.append('Konferenz kurz') 651 else: 652 erg.append('http://linpop.zdf.de/sport/bl1/konferenz-sub.htm') 653 erg.append('Konferenz lang') 654 elif search("bl2",self.konfurl) is not None: 655 if config.plugins.buliticker.tickerkurz.value is True: 656 erg.append('http://linpop.zdf.de/sport/bl2/konferenz.htm') 657 erg.append('Konferenz kurz') 658 else: 659 erg.append('http://linpop.zdf.de/sport/bl2/konferenz-sub.htm') 660 erg.append('Konferenz lang') 661 erg.append('') 398 662 y = 0 399 663 offset = 3 … … 401 665 if y == 0: 402 666 res = [ x ] 667 if not config.plugins.buliticker.tickerkurz.value and search("-sub.htm",x) is None: 668 x = x.replace(".htm","-sub.htm") 403 669 self.linklist.append(x) 404 670 if y == 1: 405 res.append(MultiContentEntryText(pos=(20, 0), size=(axsize, ysize), font=fontidx, flags = RT_HALIGN_LEFT, text=x ))671 res.append(MultiContentEntryText(pos=(20, 0), size=(axsize, ysize), font=fontidx, flags = RT_HALIGN_LEFT, text=x )) 406 672 if y == 2: 407 res.append(MultiContentEntryText(pos=(axsize+20, 0), size=(bxsize, ysize), font=fontidx, flags = RT_HALIGN_RIGHT, text=x ))673 res.append(MultiContentEntryText(pos=(axsize+20, 0), size=(bxsize, ysize), font=fontidx, flags = RT_HALIGN_RIGHT, text=x )) 408 674 self.tableentries.append(res) 409 675 y +=1 … … 463 729 bereich = output[startpos:endpos] 464 730 bereich = transHTML(bereich) 465 # falls kein Bild-> Dummy Eintrag731 # falls kein Icon -> Dummy Eintrag 466 732 bereich = sub('<div class="minute">.*?</div>\n','<div class="minute"></div><img src="pics/dummy.gif" alt="Dummy" class="message-type">',bereich) 467 733 minute = findall(r'<div class="minute">(.*?)</div>',bereich) … … 476 742 else: 477 743 paarung = findall(r'class="message-header">(.*?)</a>',bereich) 744 745 #<img src="img/portraits/33764.jpg" alt="Raffael" class="message-player-img"> 478 746 text = findall(r'<p>.*?\s*(.*?)</p>',bereich) 479 747 textnr = len(text) … … 493 761 if pic != "dummy": 494 762 png = LoadPixmap(pluginpath + "/icons/" + pic + ".png") 495 res.append(MultiContentEntryPixmapAlphaTest(pos=( 0, 0), size=(55, 55), png = png))496 res.append(MultiContentEntryText(pos=( 70, 0), size=(xsizeticker, ysizeticker), font=afontticker, flags = RT_HALIGN_LEFT, text=x))497 res.append(MultiContentEntryText(pos=( 70, ysizeticker+1), size=(xsizeticker, ysizeticker), font=bfontticker, flags = RT_HALIGN_LEFT, text=livetext))763 res.append(MultiContentEntryPixmapAlphaTest(pos=(20, 0), size=(55, 55), png = png)) 764 res.append(MultiContentEntryText(pos=(90, 0), size=(xsizeticker, ysizeticker), font=afontticker, flags = RT_HALIGN_LEFT, text=x)) 765 res.append(MultiContentEntryText(pos=(90, ysizeticker+1), size=(xsizeticker, ysizeticker), font=bfontticker, flags = RT_HALIGN_LEFT, text=livetext)) 498 766 self.tableentries.append(res) 499 767 textnr -=1 … … 505 773 self.ergold = erg 506 774 self.tickerold = text[0] 507 775 776 if self.actmenu == "2_menu": 777 self["1_menu"].selectionEnabled(0) 778 self["2_menu"].selectionEnabled(1) 779 if self.actmenu == "1_menu": 780 if len(self.linklist) > 0: 781 self["2_menu"].selectionEnabled(0) 782 self["1_menu"].selectionEnabled(1) 783 print "---> getlive Index %d" % self.index 784 self[self.actmenu].moveToIndex(self.index) 785 508 786 509 787 def download(self, link, name): … … 522 800 else: 523 801 self.hideflag = True 524 self. screenHideTimer.start(screenhidetimer)802 self.hideTimerRestart(self.screenhidetimer) 525 803 self.show() 526 804 … … 531 809 config.plugins.buliticker.link.value = self.konfurl 532 810 config.plugins.buliticker.link.save() 533 configfile.save() 811 # falls Movie gestartet wurde während Ticker läuft, kein rezap 812 if not self.movieisrunning: 813 print "---> rezap" 814 self.session.nav.playService(self.lastservice) 534 815 self.close() 535 816 536 537 ##################################### 817 ####################### 538 818 # <eLabel zPosition="1" position="0,540" size="1280,170" backgroundColor="white" /> 539 819 # scrollbarMode="showOnDemand" 820 # HD 0,626 821 540 822 class ShowMiniTicker(Screen): 541 823 542 824 if size_w == 1280: 543 skin = """544 <screen name="ShowTicker" position=" 0,626" size="1280,80" title="Buli MiniTicker" transparent="0" flags="wfNoBorder">545 <widget name="ergmenu" zPosition="1" position=" 20,0" size="1240,80" transparent="1" foregroundColor="white" />546 <widget name="tickermenu" zPosition="1" position=" 15,0" size="1260,80" transparent="1" foregroundColor="white" />547 <widget name="tickerlabel" zPosition="1" position="5 20,20" size="440,25" font="Regular;22" halign="left" foregroundColor="white" transparent="1" />825 raw_skin = """ 826 <screen name="ShowTicker" position="{screen.position}" size="1280,100" title="Buli MiniTicker" transparent="0" flags="wfNoBorder"> 827 <widget name="ergmenu" zPosition="1" position="40,0" size="1240,100" transparent="1" foregroundColor="white" /> 828 <widget name="tickermenu" zPosition="1" position="0,0" size="1280,100" transparent="1" foregroundColor="white" /> 829 <widget name="tickerlabel" zPosition="1" position="500,30" size="440,25" font="Regular;22" halign="left" foregroundColor="white" transparent="1" /> 548 830 </screen>""" 549 831 else: 550 skin = """551 <screen name="ShowTicker" position=" 0,495" size="720,80" title="Buli MiniTicker" transparent="0" flags="wfNoBorder">552 <widget name="ergmenu" zPosition="1" position="5,0" size="715, 80" transparent="1" foregroundColor="white" />553 <widget name="tickermenu" zPosition="2" position=" 5,0" size="715,80" transparent="1" foregroundColor="white" />832 raw_skin = """ 833 <screen name="ShowTicker" position="{screen.position}" size="720,100" title="Buli MiniTicker" transparent="0" flags="wfNoBorder"> 834 <widget name="ergmenu" zPosition="1" position="5,0" size="715,100" transparent="1" foregroundColor="white" /> 835 <widget name="tickermenu" zPosition="2" position="0,0" size="720,100" transparent="1" foregroundColor="white" /> 554 836 <widget name="tickerlabel" zPosition="2" position="280,30" size="340,25" font="Regular;20" halign="left" foregroundColor="white" transparent="1" /> 555 837 </screen>""" 556 838 557 def __init__(self, session, link): 558 self.loadinginprogress = False 559 self.skin = ShowMiniTicker.skin 839 def __init__(self, session, link, eventlink, servicelist): 840 self.session = session 841 842 tickerpos_x = config.plugins.buliticker.tickerpos_x.value 843 tickerpos_y = config.plugins.buliticker.tickerpos_y.value 844 845 self.dict = { 846 'screen.position': "%i,%i"%(tickerpos_x,tickerpos_y), 847 } 848 self.skin = applySkinVars(ShowMiniTicker.raw_skin,self.dict) 849 850 560 851 Screen.__init__(self, session) 561 852 853 self.refreshtimer = config.plugins.buliticker.refreshtimer.value 854 self.screenhidetimer = config.plugins.buliticker.screenhidetimer.value 855 self.actmenu = config.plugins.buliticker.acttickermenu.value 856 self.selectticker = config.plugins.buliticker.selectticker.value 857 858 if self.selectticker == 1: 859 self.actmenu = "ergmenu" 860 elif self.selectticker == 2: 861 self.actmenu = "tickermenu" 862 863 self.loadinginprogress = False 562 864 self.baseurl = "http://linpop.zdf.de/sport/" 563 865 self.hideflag = True … … 566 868 self.tickerold = "" 567 869 self.konfurl = link 568 self.servicelist = self.session.instantiateDialog(ChannelSelection) 569 870 self.eventurl = eventlink 871 self.servicelist = servicelist 872 self.movieisrunning = False 873 874 # movie check 875 service = self.session.nav.getCurrentService() 876 if service is not None: 877 pauseable = service.pause() 878 if pauseable is None: 879 self.movieisrunning = False 880 else: 881 self.movieisrunning = True 882 570 883 self["ergmenu"] = ItemList([]) 571 self["tickermenu"] = ItemList([]) 572 573 self.actmenu = config.plugins.buliticker.actmenu.value 574 884 self["tickermenu"] = ItemList([]) 575 885 self["tickerlabel"] = Label("") 576 self["actions"] = ActionMap(["ColorActions","OkCancelActions","DirectionActions","HelpActions","MovieSelectionActions","InputActions" ],886 self["actions"] = ActionMap(["ColorActions","OkCancelActions","DirectionActions","HelpActions","MovieSelectionActions","InputActions","InfobarTeletextActions","InfobarActions"], 577 887 { 578 888 "1": self.loadBuli1, 579 889 "2": self.loadBuli2, 580 " 3": self.tester,890 "0": self.tester, 581 891 "green": self.subService, 582 892 "ok": self.ok, … … 586 896 "up": self.up, 587 897 "down": self.down, 898 "showMovies": self.showMovieList, 899 "showTv": self.stopMovie, 588 900 "showEventInfo": self.switchMenu, 589 "displayHelp": self.hideScreen, 901 "displayHelp": self.hideScreen, 902 "startTeletext": self.toggleKonfURL, 590 903 }, -1) 591 904 … … 595 908 self.buli = "bl2" 596 909 597 self.screenHideTimer = eTimer()910 self.screenHideTimer = eTimer() 598 911 self.screenHideTimer.callback.append(self.hideTimerAction) 599 self.screenHideTimer.start(s creenhidetimer)912 self.screenHideTimer.start(self.screenhidetimer) 600 913 601 self.refreshInfoTimer = eTimer()914 self.refreshInfoTimer = eTimer() 602 915 self.refreshInfoTimer.callback.append(self.timerAction) 603 916 604 self.onShown.append(self.loadMenu) 605 606 def subService(self): 917 self.onShown.append(self.loadMenu) 918 919 def toggleKonfURL(self): 920 if self.eventurl == "": 921 return 922 if search("/bl1/",self.konfurl) is not None: 923 if search("/konferenz",self.konfurl) is not None: 924 self.konfurl = self.eventurl 925 else: 926 if config.plugins.buliticker.tickerkurz.value is True: 927 self.konfurl = self.baseurl + "bl1/konferenz.htm" 928 else: 929 self.konfurl = self.baseurl + "bl1/konferenz-sub.htm" 930 else: 931 if search("/konferenz",self.konfurl) is not None: 932 self.konfurl = self.eventurl 933 else: 934 if config.plugins.buliticker.tickerkurz.value is True: 935 self.konfurl = self.baseurl + "bl2/konferenz.htm" 936 else: 937 self.konfurl = self.baseurl + "bl2/konferenz-sub.htm" 938 print "----> toggled %s" % self.konfurl 939 self.timerAction() 940 self.hideTimerRestart(self.screenhidetimer) 941 942 def stopMovie(self): 943 service = self.session.nav.getCurrentService() 944 if service is None: 945 print "no Service" 946 return False 947 pauseable = service.pause() 948 if pauseable is None: 949 print "not pauseable." 950 return False 951 self.session.nav.stopService() 952 self.movieisrunning = False 953 954 def subService(self): 607 955 service = self.session.nav.getCurrentService() 608 956 subservices = service and service.subServices() … … 629 977 if not isinstance(service[1], str): 630 978 self.session.nav.playService(service[1], False) 631 979 980 def showMovieList(self): 981 ref = self.session.nav.getCurrentlyPlayingServiceReference() 982 self.session.openWithCallback(self.movieSelected, MovieSelection, ref) 983 984 def movieSelected(self, service): 985 if service is not None: 986 self.movieisrunning = True 987 self.session.nav.playService(service) 988 632 989 def tester(self): 633 self.ergold[2]="3:3" 990 if len(self.ergold) > 1: 991 self.ergold[2]="3:3" 634 992 # self.tickerold = "test" 635 993 … … 642 1000 print "-----> ShowMiniView timer fired" 643 1001 self.download(self.konfurl,self.getLiveContent) 644 self.refreshInfoTimerRestart( )645 646 def refreshInfoTimerRestart(self ):1002 self.refreshInfoTimerRestart(self.refreshtimer) 1003 1004 def refreshInfoTimerRestart(self,timer): 647 1005 if self.refreshInfoTimer.isActive: 648 1006 self.refreshInfoTimer.stop() 649 print "-----> ShowMiniView Timer restart "650 self.refreshInfoTimer.start( refreshtimer)651 652 def hideTimerRestart(self ):1007 print "-----> ShowMiniView Timer restart %i" % timer 1008 self.refreshInfoTimer.start(timer) 1009 1010 def hideTimerRestart(self,timer): 653 1011 if self.screenHideTimer.isActive: 654 1012 self.screenHideTimer.stop() 655 print "-----> ScreenHide Timer restart "656 self.screenHideTimer.start( screenhidetimer)1013 print "-----> ScreenHide Timer restart %i" % timer 1014 self.screenHideTimer.start(timer) 657 1015 658 1016 def loadMenu(self): 659 self.hideTimerRestart( )660 self.refreshInfoTimerRestart( )1017 self.hideTimerRestart(self.screenhidetimer) 1018 self.refreshInfoTimerRestart(self.refreshtimer) 661 1019 self.download(self.konfurl,self.getLiveContent) 662 1020 self["ergmenu"].selectionEnabled(0) … … 675 1033 676 1034 def switchMenu(self): 677 self.hideTimerRestart() 678 self.refreshInfoTimerRestart() 1035 if self.selectticker != 0: 1036 return 1037 self.hideTimerRestart(self.screenhidetimer) 1038 self.refreshInfoTimerRestart(self.refreshtimer) 679 1039 self.download(self.konfurl,self.getLiveContent) 680 1040 self["ergmenu"].selectionEnabled(0) … … 693 1053 if self.hideflag == False: 694 1054 self.hideScreen() 695 1055 1056 696 1057 def loadBuli1(self): 697 1058 self.buli = "bl1" 698 self.konfurl = self.baseurl + "bl1/konferenz.htm" 1059 self.eventurl = "" 1060 if config.plugins.buliticker.tickerkurz.value is True: 1061 self.konfurl = "http://linpop.zdf.de/sport/bl1/konferenz.htm" 1062 else: 1063 self.konfurl = "http://linpop.zdf.de/sport/bl1/konferenz-sub.htm" 699 1064 self.ergold = [] 700 1065 self.timerAction() 701 self.hideTimerRestart( )1066 self.hideTimerRestart(self.screenhidetimer) 702 1067 703 1068 def loadBuli2(self): 704 1069 self.buli = "bl2" 705 self.konfurl = self.baseurl + "bl2/konferenz.htm" 1070 self.eventurl = "" 1071 if config.plugins.buliticker.tickerkurz.value is True: 1072 self.konfurl = "http://linpop.zdf.de/sport/bl2/konferenz.htm" 1073 else: 1074 self.konfurl = "http://linpop.zdf.de/sport/bl2/konferenz-sub.htm" 706 1075 self.ergold = [] 707 self.timerAction() 708 self.hideTimerRestart( )1076 self.timerAction() 1077 self.hideTimerRestart(self.screenhidetimer) 709 1078 710 1079 def ok(self): 711 pass712 1080 self.timerAction() 1081 713 1082 def up(self): 714 1083 self.screenHideTimer.stop() 715 1084 if not self.hideflag or ( self.hideflag and self.actmenu == "ergmenu"): 1085 if self.movieisrunning: 1086 return False 1087 if self.servicelist == None: 1088 self.servicelist = self.session.instantiateDialog(ChannelSelection) 716 1089 self.servicelist.moveUp() 717 1090 self.session.execDialog(self.servicelist) … … 719 1092 if self.actmenu == "tickermenu": 720 1093 self["tickermenu"].up() 721 self.hideTimerRestart( )722 self.refreshInfoTimerRestart( )1094 self.hideTimerRestart(self.screenhidetimer) 1095 self.refreshInfoTimerRestart(self.refreshtimer) 723 1096 724 1097 def down(self): 725 1098 self.screenHideTimer.stop() 726 1099 if not self.hideflag or ( self.hideflag and self.actmenu == "ergmenu"): 1100 if self.movieisrunning: 1101 return False 1102 if self.servicelist == None: 1103 self.servicelist = self.session.instantiateDialog(ChannelSelection) 727 1104 self.servicelist.moveDown() 728 1105 self.session.execDialog(self.servicelist) … … 730 1107 if self.actmenu == "tickermenu": 731 1108 self["tickermenu"].down() 732 self.hideTimerRestart( )733 self.refreshInfoTimerRestart( )1109 self.hideTimerRestart(self.screenhidetimer) 1110 self.refreshInfoTimerRestart(self.refreshtimer) 734 1111 735 1112 def zapUp(self): 1113 if self.movieisrunning: 1114 return False 1115 if self.servicelist == None: 1116 self.servicelist = self.session.instantiateDialog(ChannelSelection) 736 1117 self.servicelist.moveUp() 737 1118 self.servicelist.zap() 738 1119 739 1120 def zapDown(self): 1121 if self.movieisrunning: 1122 return False 1123 if self.servicelist == None: 1124 self.servicelist = self.session.instantiateDialog(ChannelSelection) 740 1125 self.servicelist.moveDown() 741 1126 self.servicelist.zap() … … 749 1134 output = output.decode("latin1").encode("utf-8") 750 1135 751 self["tickermenu"].l.setItemHeight( 80)1136 self["tickermenu"].l.setItemHeight(100) 752 1137 753 1138 if size_w == 1280: 754 fonterg = -1 755 afontticker = -1 756 bfontticker = 0 757 ysize = 25 1139 self["ergmenu"].l.setItemHeight(30) 1140 afonterg = -1 1141 bfonterg = -1 1142 aflag = RT_HALIGN_LEFT 1143 bflag = RT_HALIGN_LEFT 1144 afontticker = -2 1145 bfontticker = -2 1146 xergstartpos = 15 1147 ypos = 5 1148 ysize = 30 758 1149 axsize = 290 759 1150 bxsize = 100 1151 xpospng = 35 1152 ypospng = 22 760 1153 xsizeticker = 1190 761 ysizeticker = 25 762 maxchar = 110 763 maxword = 17 764 else: 765 fonterg = 3 1154 ysizeticker = 27 1155 maxchar = 90 1156 else: 1157 self["ergmenu"].l.setItemHeight(30) 1158 afonterg = 3 1159 bfonterg = 3 1160 aflag = RT_HALIGN_LEFT 1161 bflag = RT_HALIGN_LEFT 766 1162 afontticker = 0 767 bfontticker = 1 768 ysize = 20 1163 bfontticker = 0 1164 xergstartpos = 15 1165 ypos = 10 1166 ysize = 25 769 1167 axsize = 170 770 1168 bxsize = 60 1169 xpospng = 30 1170 ypospng = 20 771 1171 xsizeticker = 615 772 1172 ysizeticker = 25 773 maxchar = 70 774 maxword = 11 1173 maxchar = 60 775 1174 776 1175 # Live Ergebnisse … … 801 1200 #self.linklist.append(x) 802 1201 if y == 1: 803 res.append(MultiContentEntryText(pos=( 10, 2), size=(axsize, ysize), font=fonterg, flags = RT_HALIGN_LEFT, text=x))1202 res.append(MultiContentEntryText(pos=(xergstartpos, ypos), size=(axsize, ysize), font=afonterg, flags=aflag, text=x)) 804 1203 if y == 2: 805 1204 if len(self.ergold) > 0: 806 1205 if x != self.ergold[index]: 807 res.append(MultiContentEntryText(pos=(axsize+5, 2), size=(bxsize, ysize), font=fonterg, flags = RT_HALIGN_RIGHT, text=x, color=0x00f23d21))1206 res.append(MultiContentEntryText(pos=(axsize+5, ypos), size=(bxsize, ysize), font=bfonterg, flags=bflag, text=x, color=0x00f23d21)) 808 1207 else: 809 res.append(MultiContentEntryText(pos=(axsize+5, 2), size=(bxsize, ysize), font=fonterg, flags = RT_HALIGN_RIGHT, text=x, color=0x00dab329))1208 res.append(MultiContentEntryText(pos=(axsize+5, ypos), size=(bxsize, ysize), font=bfonterg, flags=bflag, text=x, color=0x00dab329)) 810 1209 else: 811 res.append(MultiContentEntryText(pos=(axsize+5, 2), size=(bxsize, ysize), font=fonterg, flags = RT_HALIGN_RIGHT, text=x, color=0x00dab329))1210 res.append(MultiContentEntryText(pos=(axsize+5, ypos), size=(bxsize, ysize), font=bfonterg, flags=bflag, text=x, color=0x00dab329)) 812 1211 if y == 3: 813 1212 pass 814 1213 if y == 4: 815 res.append(MultiContentEntryText(pos=(axsize+bxsize+ 15, 2), size=(axsize, ysize), font=fonterg, flags = RT_HALIGN_LEFT, text=x))1214 res.append(MultiContentEntryText(pos=(axsize+bxsize+xergstartpos, ypos), size=(axsize, ysize), font=afonterg, flags=aflag, text=x)) 816 1215 if y == 5: 817 1216 if len(self.ergold) > 0: 818 1217 if x != self.ergold[index]: 819 res.append(MultiContentEntryText(pos=(2*axsize+bxsize+5, 2), size=(bxsize, ysize), font=fonterg, flags = RT_HALIGN_RIGHT, text=x, color=0x00f23d21))1218 res.append(MultiContentEntryText(pos=(2*axsize+bxsize+5, ypos), size=(bxsize, ysize), font=bfonterg, flags=bflag, text=x, color=0x00f23d21)) 820 1219 else: 821 res.append(MultiContentEntryText(pos=(2*axsize+bxsize+5, 2), size=(bxsize, ysize), font=fonterg, flags = RT_HALIGN_RIGHT, text=x, color=0x00dab329))1220 res.append(MultiContentEntryText(pos=(2*axsize+bxsize+5, ypos), size=(bxsize, ysize), font=bfonterg, flags=bflag, text=x, color=0x00dab329)) 822 1221 else: 823 res.append(MultiContentEntryText(pos=(2*axsize+bxsize+5, 2), size=(bxsize, ysize), font=fonterg, flags = RT_HALIGN_RIGHT, text=x, color=0x00dab329))1222 res.append(MultiContentEntryText(pos=(2*axsize+bxsize+5, ypos), size=(bxsize, ysize), font=bfonterg, flags=bflag, text=x, color=0x00dab329)) 824 1223 if y == 6: 825 1224 pass 826 1225 if y == 7: 827 res.append(MultiContentEntryText(pos=(2*axsize+2*bxsize+ 15, 2), size=(axsize, ysize), font=fonterg, flags = RT_HALIGN_LEFT, text=x))1226 res.append(MultiContentEntryText(pos=(2*axsize+2*bxsize+xergstartpos, ypos), size=(axsize, ysize), font=afonterg, flags=aflag, text=x)) 828 1227 if y == 8: 829 1228 if len(self.ergold) > 0: 830 1229 if x != self.ergold[index]: 831 res.append(MultiContentEntryText(pos=(3*axsize+2*bxsize+5, 2), size=(bxsize, ysize), font=fonterg, flags = RT_HALIGN_RIGHT, text=x, color=0x00f23d21))1230 res.append(MultiContentEntryText(pos=(3*axsize+2*bxsize+5, ypos), size=(bxsize, ysize), font=bfonterg, flags=bflag, text=x, color=0x00f23d21)) 832 1231 else: 833 res.append(MultiContentEntryText(pos=(3*axsize+2*bxsize+5, 2), size=(bxsize, ysize), font=fonterg, flags = RT_HALIGN_RIGHT, text=x, color=0x00dab329))1232 res.append(MultiContentEntryText(pos=(3*axsize+2*bxsize+5, ypos), size=(bxsize, ysize), font=bfonterg, flags=bflag, text=x, color=0x00dab329)) 834 1233 else: 835 res.append(MultiContentEntryText(pos=(3*axsize+2*bxsize+5, 2), size=(bxsize, ysize), font=fonterg, flags = RT_HALIGN_RIGHT, text=x, color=0x00dab329))1234 res.append(MultiContentEntryText(pos=(3*axsize+2*bxsize+5, ypos), size=(bxsize, ysize), font=bfonterg, flags=bflag, text=x, color=0x00dab329)) 836 1235 self.tableentries.append(res) 837 1236 y +=1 … … 885 1284 if pic != "dummy": 886 1285 png = LoadPixmap(pluginpath + "/icons/" + pic + ".png") 887 res.append(MultiContentEntryPixmapAlphaTest(pos=( 10, 10), size=(55, 55), png = png))888 res.append(MultiContentEntryText(pos=( 70, 5), size=(xsizeticker, ysizeticker), font=afontticker, flags = RT_HALIGN_LEFT, text=x,color_sel=0x00ffffff))889 if len(livetext) > maxchar: 1286 res.append(MultiContentEntryPixmapAlphaTest(pos=(xpospng, ypospng), size=(55, 55), png = png)) 1287 res.append(MultiContentEntryText(pos=(100, 8), size=(xsizeticker, ysizeticker), font=afontticker, flags = RT_HALIGN_LEFT, text=x)) 1288 if len(livetext) > maxchar: 890 1289 firstline = "" 891 1290 secondline = "" 892 1291 z=split(" ",livetext) 893 #print "--> %s %s" % (len(livetext),len(z)) 894 for i in z[0:maxword]: 895 firstline = firstline + " " + i 896 for i in z[maxword:]: 1292 b = 0 1293 for i in z: 1294 if len(firstline) < maxchar: 1295 firstline = firstline + " " + i 1296 b +=1 1297 else: 1298 break 1299 for i in z[b:]: 897 1300 secondline = secondline + " " + i 898 res.append(MultiContentEntryText(pos=( 70, ysizeticker+5), size=(xsizeticker, ysizeticker), font=bfontticker, flags = RT_HALIGN_LEFT, text=strip(firstline),color_sel=0x00ffffff))899 res.append(MultiContentEntryText(pos=( 70, 2*ysizeticker+5), size=(xsizeticker, ysizeticker), font=bfontticker, flags = RT_HALIGN_LEFT, text=strip(secondline),color_sel=0x00ffffff))1301 res.append(MultiContentEntryText(pos=(100, ysizeticker+8), size=(xsizeticker, ysizeticker), font=bfontticker, flags = RT_HALIGN_LEFT, text=strip(firstline))) 1302 res.append(MultiContentEntryText(pos=(100, 2*ysizeticker+8), size=(xsizeticker, ysizeticker), font=bfontticker, flags = RT_HALIGN_LEFT, text=strip(secondline))) 900 1303 else: 901 res.append(MultiContentEntryText(pos=( 70, ysizeticker+5), size=(xsizeticker, ysizeticker), font=bfontticker, flags = RT_HALIGN_LEFT, text=livetext))1304 res.append(MultiContentEntryText(pos=(100, ysizeticker+8), size=(xsizeticker, ysizeticker), font=bfontticker, flags = RT_HALIGN_LEFT, text=livetext)) 902 1305 self.tableentries.append(res) 903 1306 textnr -=1 904 self["tickermenu"].l.setList(self.tableentries) 905 906 # print self.ergold 907 # print erg 908 # print self.tickerold 909 # print text[0] 910 # print self.hideflag 911 # print self.actmenu 1307 self["tickermenu"].l.setList(self.tableentries) 912 1308 913 1309 # falls neue Ergebnisse oder neuer Tickerttext -> Screen anzeigen 914 1310 if not self.hideflag: 915 if self.ergold != erg and len(self.ergold) > 0 :1311 if self.ergold != erg and len(self.ergold) > 0 and self.selectticker < 2: 916 1312 self.actmenu = "ergmenu" 917 1313 self["tickerlabel"].hide() … … 920 1316 self["ergmenu"].show() 921 1317 self.hideScreen() 922 elif self.tickerold != text[0] :1318 elif self.tickerold != text[0] and self.selectticker <> 1: 923 1319 self.actmenu = "tickermenu" 924 1320 self["ergmenu"].hide() … … 946 1342 else: 947 1343 self.hideflag = True 948 self. screenHideTimer.start(screenhidetimer)1344 self.hideTimerRestart(self.screenhidetimer) 949 1345 self.show() 950 1346 … … 955 1351 reactor.callLater(1,self.exit) 956 1352 else: 957 config.plugins.buliticker.actmenu.value = self.actmenu 958 config.plugins.buliticker.actmenu.save() 959 configfile.save() 1353 config.plugins.buliticker.link.value = self.konfurl 1354 config.plugins.buliticker.link.save() 1355 config.plugins.buliticker.acttickermenu.value = self.actmenu 1356 config.plugins.buliticker.acttickermenu.save() 960 1357 self.close() 961 962 ####################### 963 964 class ItemList(MenuList): 965 def __init__(self, items, enableWrapAround = True): 966 MenuList.__init__(self, items, enableWrapAround, eListboxPythonMultiContent) 967 self.l.setFont(-1, gFont("Regular", 22)) 968 self.l.setFont(0, gFont("Regular", 20)) 969 self.l.setFont(1, gFont("Regular", 18)) 970 self.l.setFont(2, gFont("Regular", 16)) 971 self.l.setFont(3, gFont("Regular", 15)) 972 973 ############################# 1358 1359 ############################################################# 974 1360 975 1361 def main(session, **kwargs): 976 1362 session.open(ShowFullTicker) 977 1363 978 1364 def Plugins(path,**kwargs): 979 1365 global pluginpath 980 1366 pluginpath = path 981 return PluginDescriptor(1367 return PluginDescriptor( 982 1368 name="Bundesliga Liveticker", 983 1369 description="1./2. Bundesliga Ticker (c)linpop.zdf.de", … … 985 1371 where = [ PluginDescriptor.WHERE_EXTENSIONSMENU, PluginDescriptor.WHERE_PLUGINMENU ], 986 1372 fnc=main) 1373 1374
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/openaaf/chrome/common/titannit_trac_banner.png)