Changeset 14801 for ipk/source


Ignore:
Timestamp:
Mar 20, 2012, 6:11:59 PM (14 years ago)
Author:
obi
Message:

[ipk] update Buliticker v 1.2b

Location:
ipk/source/infos_buliticker_0_1
Files:
1 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • ipk/source/infos_buliticker_0_1/CONTROL/control

    r7451 r14801  
    11Package: enigma2-plugin-infos-buliticker
    2 Version: 0.1
     2Version: 1.2
    33Architecture: sh4
    4 OE: buliticker 1.0c
     4OE: buliticker 1.2b
    55Section: extra
    66Priority: optional
  • ipk/source/infos_buliticker_0_1/usr/lib/enigma2/python/Plugins/Extensions/Buliticker/plugin.py

    r7451 r14801  
    33#               Fußball Liveticker für die 1./2.Bundesliga
    44#
    5 #       Quelle: http://linpop.zdf.de/sport/bl1/konferenz-sub.htm
     5#       Quelle: http://linpop.zdf.de/sport/bl[1,2]/konferenz.htm
    66#
    77#       V1.0 13.04.09
     
    1313# V1.0c 18.04.09 Fehler im Tickertext gefixt
    1414#
     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#
    1524# Enigma2 Plugin
    1625#
     
    1928
    2029import os, sys
    21 
    2230from Plugins.Plugin import PluginDescriptor
    2331from twisted.web.client import getPage
    2432from twisted.internet import reactor
    2533from Screens.Screen import Screen
    26 from Screens.Console import Console
    2734from Screens.MessageBox import MessageBox
    2835from Screens.InputBox import InputBox
    2936from Screens.ChoiceBox import ChoiceBox
    3037from Screens.ChannelSelection import ChannelSelection
    31 from Screens.InfoBarGenerics import InfoBarSubserviceSelection
     38from Screens.InfoBarGenerics import InfoBarSubserviceSelection, InfoBarSeek, InfoBarShowHide
     39from Screens.MovieSelection import MovieSelection
    3240from Screens.SubservicesQuickzap import SubservicesQuickzap
    3341from Components.ActionMap import ActionMap
     
    3543from Components.Sources.List import List
    3644from Components.MenuList import MenuList
    37 from Components.config import config, ConfigSubsection, ConfigText, configfile
     45from Components.config import config, ConfigSubsection, ConfigText, ConfigYesNo, ConfigInteger, getConfigListEntry
     46from Components.ConfigList import ConfigListScreen
    3847from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
    3948from Components.Pixmap import Pixmap, MovingPixmap
    40 from Components.AVSwitch import AVSwitch
    4149from enigma import eTimer, getDesktop, eListboxPythonMultiContent, eListbox, gFont, RT_HALIGN_LEFT, RT_HALIGN_RIGHT, RT_HALIGN_CENTER
    4250from re import sub, split, search, match, findall
     
    4856        text = text.replace('&copy;.*'," ").replace('&amp;',"&").replace('&uuml;',"ü").replace('&auml;',"ä").replace('&ouml;',"ö")
    4957        text = text.replace('&Uuml;',"Ü").replace('&Auml;',"Ä").replace('&Ouml;',"Ö")                           
    50         return text
    51 
    52 refreshtimer = 15000
    53 screenhidetimer = 15000
     58        return text
     59
     60# aus GoogleMaps (c) 3c5x9 ;-)
     61def 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   
    5469try:
    5570                size_w = int(getDesktop(0).size().width())
     
    5974                size_h = 720
    6075
     76if size_w == 1280:
     77                tickerpos_x = 0
     78                tickerpos_y = 620
     79else:
     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
    6198config.plugins.buliticker = ConfigSubsection()
    6299config.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 ############################################################################### 
     100config.plugins.buliticker.tickerkurz = ConfigYesNo(default = True)
     101config.plugins.buliticker.acttickermenu = ConfigText(default="ergmenu", fixed_size = False)
     102config.plugins.buliticker.tickerpos_x = ConfigInteger(tickerpos_x, (-20,100))
     103config.plugins.buliticker.tickerpos_y = ConfigInteger(tickerpos_y, (300,700))
     104config.plugins.buliticker.refreshtimer = ConfigInteger(15000, (5000,60000))
     105config.plugins.buliticker.screenhidetimer = ConfigInteger(15000, (1000,60000))
     106config.plugins.buliticker.selectticker = ConfigInteger(0, (0,2))
     107
     108#######################
     109
     110class 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 ;-)
     122class 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#######################
    66172# backgroundColor="#c9deb7"
    67173# 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" />
    71174class ShowFullTicker(Screen):
    72175               
     
    74177                                skin = """
    75178                                <screen name="ShowTicker" position="5,3" size="1270,712" title="Buli FullTicker" flags="wfNoBorder">
    76                                 <ePixmap position="5,7" size="1270,710"  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">
    78181                                        <convert type="ClockToText">Date</convert>
    79182                                </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">
    81184                                        <convert type="ClockToText">Default</convert>
    82185                                </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" />
    92194                        </screen>"""
    93195                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" />
    96196                                skin = """
    97197                                <screen name="ShowTicker" position="5,3" size="710,568" title="Buli FullTicker" flags="wfNoBorder">
    98                                 <ePixmap position="5,5" size="710,560"  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">
    100200                                        <convert type="ClockToText">Date</convert>
    101201                                </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">
    103203                                        <convert type="ClockToText">Default</convert>
    104204                                </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" />
    112208                                <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" />
    120213                        </screen>"""
    121214                       
    122215                def __init__(self, session):
    123                                 self.loadinginprogress = False
     216                                self.session = session
     217                       
    124218                                self.skin = ShowFullTicker.skin
     219                       
    125220                                Screen.__init__(self, session)
    126                                
     221                                                                                       
    127222                                print "----> %d" % size_w
    128223                                print "----> %d" % size_h
    129                
     224                               
     225                                self.loadinginprogress = False
    130226                                self.baseurl = "http://linpop.zdf.de/sport/"
    131                                 self.lastbulilink = pluginpath + "/lastbulilink.txt"   
    132227                                self.hideflag = True
    133228                                self.tableentries = []
     
    138233                                self.ergold = []
    139234                                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                               
    143262                                self["0_menu"] = ItemList([])
    144263                                self["1_menu"] = ItemList([])
     
    150269                                self["tickerlabel"] = Label("")
    151270                                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"],
    153272                                {
    154273                                        "1": self.loadBuli1,
    155274                                        "2": self.loadBuli2,
    156                                         "3": self.tester,
     275                                        "0": self.tester,
     276                                        "contextMenu": self.configScreen,
    157277                                        "green": self.subService,
    158278                                        "ok":   self.ok,
     
    162282                                        "up": self.up,
    163283                                        "down": self.down,
    164 #                               "contextMenu": self.switchMenu,
     284                                        "nextBouquet": self.switchMenu,
     285                                        "prevBouquet": self.switchMenu,
    165286                                        "showEventInfo": self.miniView,
     287                                        "showMovies": self.showMovieList,
     288                                        "showTv": self.stopMovie,
    166289                                        "displayHelp": self.hideScreen,
     290                                        "startTeletext": self.toggleKonfURL,
    167291                                }, -1) 
    168292                               
    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                               
    171308                                if search("/bl1/",self.konfurl) is not None:
    172309                                                self.buli = "bl1"
    173310                                else:
    174311                                                self.buli = "bl2"
    175 
     312                               
     313                                self.refreshtimer = config.plugins.buliticker.refreshtimer.value
     314                                self.screenhidetimer = config.plugins.buliticker.screenhidetimer.value
     315                               
    176316                                self.screenHideTimer = eTimer()
    177317                                self.screenHideTimer.callback.append(self.hideTimerAction)
     
    179319                                self.refreshInfoTimer = eTimer()
    180320                                self.refreshInfoTimer.callback.append(self.timerAction)
    181                                 self.refreshInfoTimer.start(refreshtimer)
     321                                self.refreshInfoTimer.start(self.refreshtimer)
    182322
    183323                                self.StartTimer = eTimer()
    184324                                self.StartTimer.callback.append(self.download(self.konfurl,self.getLiveContent))
    185325                                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 ;-)
    188352
    189353                def subService(self):
     
    207371                                                        self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice..."), list = tlist, selection = selection, keys = keys)
    208372
    209                                                         #self.session.openWithCallback(self.timerAction,SubservicesQuickzap, "quickzap")
    210 
    211373                def subserviceSelected(self, service):
    212374                        if not service is None:
    213375                                if not isinstance(service[1], str):
    214376                                        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                                                                                                                                                               
    217427                def tester(self):
    218428#                               self.ergold.append("neuer text")
     
    221431                def timerAction(self):
    222432                                print "-----> ShowFullView Timer fired"
     433                                self.refreshInfoTimerRestart(self.refreshtimer)
    223434                                self.download(self.konfurl,self.getLiveContent)
    224                                 self.refreshInfoTimerRestart()
    225435
    226436                def hideTimerAction(self):
     
    229439                                                self.hideScreen()
    230440
    231                 def refreshInfoTimerRestart(self):
     441                def refreshInfoTimerRestart(self,timer):
    232442                                if self.refreshInfoTimer.isActive:
    233443                                                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):
    238448                                if self.screenHideTimer.isActive:
    239449                                                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)
    242452                                                                                                                                                                                                                                               
    243453                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                                                                                                                                       
    249462                def loadBuli1(self):
    250463                                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"
    252469                                self.timerAction()
    253                                 self.hideTimerRestart()
     470                                self.hideTimerRestart(self.screenhidetimer)
    254471                               
    255472                def loadBuli2(self):
    256473                                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"   
    258479                                self.timerAction()                                     
    259                                 self.hideTimerRestart()
     480                                self.hideTimerRestart(self.screenhidetimer)
    260481                                               
    261482                def ok(self):
     
    264485                                                                self.index = self[self.actmenu].getSelectedIndex()
    265486                                                                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 = ""     
    266495                                                                self.timerAction()
    267496                                                else:
    268497                                                                self.timerAction()
    269                                                                                                                                        
     498                                                                                                                                                               
    270499                def up(self):
    271500                                if not self.hideflag:
     501                                                if self.movieisrunning:
     502                                                                return False
     503                                                if self.servicelist == None:
     504                                                                self.servicelist = self.session.instantiateDialog(ChannelSelection)             
    272505                                                self.servicelist.moveUp()
    273506                                                self.session.execDialog(self.servicelist)
    274507                                else:
    275508                                                self[self.actmenu].up()
    276                                                 self.hideTimerRestart()
    277                                                 self.refreshInfoTimerRestart()
     509                                                self.hideTimerRestart(self.screenhidetimer)
     510                                                self.refreshInfoTimerRestart(self.refreshtimer)
    278511                               
    279512                def down(self):
    280513                                if not self.hideflag:
     514                                                if self.movieisrunning:
     515                                                                return False
     516                                                if self.servicelist == None:
     517                                                                self.servicelist = self.session.instantiateDialog(ChannelSelection)     
    281518                                                self.servicelist.moveDown()
    282519                                                self.session.execDialog(self.servicelist)
    283520                                else:   
    284521                                                self[self.actmenu].down()
    285                                                 self.hideTimerRestart()
    286                                                 self.refreshInfoTimerRestart()
     522                                                self.hideTimerRestart(self.screenhidetimer)
     523                                                self.refreshInfoTimerRestart(self.refreshtimer)
    287524                               
    288525                def pageUp(self):
    289526                                if not self.hideflag:
     527                                                if self.movieisrunning:
     528                                                                return False
     529                                                if self.servicelist == None:
     530                                                                self.servicelist = self.session.instantiateDialog(ChannelSelection)     
    290531                                                self.servicelist.moveUp()
    291532                                                self.servicelist.zap()
    292533                                else:
    293534                                                self[self.actmenu].pageUp()
    294                                                 self.hideTimerRestart()
    295                                                 self.refreshInfoTimerRestart()
     535                                                self.hideTimerRestart(self.screenhidetimer)
     536                                                self.refreshInfoTimerRestart(self.refreshtimer)
    296537                               
    297538                def pageDown(self):
    298539                                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)     
    299544                                                self.servicelist.moveDown()
    300545                                                self.servicelist.zap()
    301546                                else:
    302547                                                self[self.actmenu].pageDown()
    303                                                 self.hideTimerRestart()
    304                                                 self.refreshInfoTimerRestart()
     548                                                self.hideTimerRestart(self.screenhidetimer)
     549                                                self.refreshInfoTimerRestart(self.refreshtimer)
    305550                                                                                                                               
    306551                def switchMenu(self):                           
     552                                if not self.hideflag:
     553                                                return
    307554                                if self.menunr == 2:
    308555                                                # nur zwischen Erg. und Liveticker Menu wechseln
     
    311558                                                self.menunr +=1
    312559                                self.actmenu = str(self.menunr) + "_menu"
     560                                print "---> %s" % self.menunr
    313561                                if self.menunr == 2:
    314562                                                self["0_menu"].selectionEnabled(0)
     
    322570                               
    323571                                self[self.actmenu].selectionEnabled(1)
     572                                self.hideTimerRestart(self.screenhidetimer)
    324573                                               
    325574                def getLiveContent(self,output):
     
    329578                                self["1_menu"].l.setList([])
    330579                                self["2_menu"].l.setList([])
    331                                        
     580                               
    332581                                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
    338585
    339586                                self["erglabel"].setText("")
     
    344591                                                       
    345592                                if size_w == 1280:
    346                                                 self["0_menu"].l.setItemHeight(22)
     593                                                self["0_menu"].l.setItemHeight(23)
    347594                                                self["1_menu"].l.setItemHeight(25)
    348595                                                self["2_menu"].l.setItemHeight(55)
    349                                                 fontidx = 0
    350                                                 ysize = 22
     596                                                fontidx = -1
     597                                                ysize = 23
    351598                                                axsize = 300
    352599                                                bxsize = 100
     
    380627                                # Live Ergebnisse
    381628                                self.tableentries = []
     629                                self.linklist = []
    382630                                startpos = find(output,'<!-- Events -->')
    383631                                if startpos == -1:
     
    396644                                                else:                                                           
    397645                                                                # '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('')
    398662                                                                y = 0                                                           
    399663                                                                offset = 3
     
    401665                                                                                if y == 0:
    402666                                                                                                res = [ x ]
     667                                                                                                if not config.plugins.buliticker.tickerkurz.value and search("-sub.htm",x) is None:
     668                                                                                                                x = x.replace(".htm","-sub.htm")
    403669                                                                                                self.linklist.append(x)
    404670                                                                                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 ))                                                     
    406672                                                                                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 ))
    408674                                                                                                self.tableentries.append(res)                                           
    409675                                                                                y +=1
     
    463729                                                bereich = output[startpos:endpos]
    464730                                                bereich = transHTML(bereich)
    465                                                 # falls kein Bild -> Dummy Eintrag
     731                                                # falls kein Icon -> Dummy Eintrag
    466732                                                bereich = sub('<div class="minute">.*?</div>\n','<div class="minute"></div><img src="pics/dummy.gif" alt="Dummy" class="message-type">',bereich)
    467733                                                minute = findall(r'<div class="minute">(.*?)</div>',bereich)
     
    476742                                                                else:                                   
    477743                                                                                paarung = findall(r'class="message-header">(.*?)</a>',bereich)
     744                                                               
     745                                                                #<img src="img/portraits/33764.jpg" alt="Raffael" class="message-player-img">
    478746                                                                text =  findall(r'<p>.*?\s*(.*?)</p>',bereich)
    479747                                                                textnr = len(text)
     
    493761                                                                                if pic != "dummy":
    494762                                                                                                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))           
    498766                                                                                self.tableentries.append(res)                                           
    499767                                                                                textnr -=1
     
    505773                                                                self.ergold = erg
    506774                                                                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                                                                                                       
    508786                                                       
    509787                def download(self, link, name):
     
    522800                                else:
    523801                                                self.hideflag = True
    524                                                 self.screenHideTimer.start(screenhidetimer)
     802                                                self.hideTimerRestart(self.screenhidetimer)
    525803                                                self.show()
    526804       
     
    531809                                                config.plugins.buliticker.link.value = self.konfurl
    532810                                                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)
    534815                                                self.close()
    535816
    536 
    537 #####################################
     817#######################
    538818#       <eLabel zPosition="1" position="0,540" size="1280,170" backgroundColor="white" />
    539819# scrollbarMode="showOnDemand"
     820# HD 0,626
     821
    540822class ShowMiniTicker(Screen):
    541823
    542824                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="520,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" />
    548830                                </screen>"""
    549831                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" />
    554836                                <widget name="tickerlabel" zPosition="2" position="280,30" size="340,25" font="Regular;20" halign="left" foregroundColor="white" transparent="1" />
    555837                                </screen>"""
    556838                                       
    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                               
    560851                                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                         
    562864                                self.baseurl = "http://linpop.zdf.de/sport/"                           
    563865                                self.hideflag = True
     
    566868                                self.tickerold = ""
    567869                                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                                                                               
    570883                                self["ergmenu"] = ItemList([])
    571                                 self["tickermenu"] = ItemList([])
    572 
    573                                 self.actmenu = config.plugins.buliticker.actmenu.value
    574 
     884                                self["tickermenu"] = ItemList([])                       
    575885                                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"],
    577887                                {
    578888                                        "1": self.loadBuli1,
    579889                                        "2": self.loadBuli2,
    580                                         "3": self.tester,
     890                                        "0": self.tester,
    581891                                        "green": self.subService,
    582892                                        "ok":   self.ok,
     
    586896                                        "up": self.up,
    587897                                        "down": self.down,
     898                                        "showMovies": self.showMovieList,
     899                                        "showTv": self.stopMovie,
    588900                                        "showEventInfo": self.switchMenu,
    589                                         "displayHelp": self.hideScreen,
     901                                        "displayHelp": self.hideScreen,
     902                                        "startTeletext": self.toggleKonfURL,
    590903                                }, -1) 
    591904
     
    595908                                                        self.buli = "bl2"
    596909                                                                               
    597                                 self.screenHideTimer = eTimer()
     910                                self.screenHideTimer = eTimer()
    598911                                self.screenHideTimer.callback.append(self.hideTimerAction)
    599                                 self.screenHideTimer.start(screenhidetimer)
     912                                self.screenHideTimer.start(self.screenhidetimer)
    600913                                                       
    601                                 self.refreshInfoTimer = eTimer()
     914                                self.refreshInfoTimer = eTimer()
    602915                                self.refreshInfoTimer.callback.append(self.timerAction)
    603916                               
    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):           
    607955                                service = self.session.nav.getCurrentService()
    608956                                subservices = service and service.subServices()
     
    629977                                if not isinstance(service[1], str):
    630978                                        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                                       
    632989                def tester(self):
    633                                 self.ergold[2]="3:3"
     990                                if len(self.ergold) > 1:
     991                                                self.ergold[2]="3:3"
    634992#                               self.tickerold = "test"
    635993
     
    6421000                                print "-----> ShowMiniView timer fired"
    6431001                                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):
    6471005                                if self.refreshInfoTimer.isActive:
    6481006                                                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):
    6531011                                if self.screenHideTimer.isActive:
    6541012                                                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)
    6571015
    6581016                def loadMenu(self):
    659                                 self.hideTimerRestart()
    660                                 self.refreshInfoTimerRestart()
     1017                                self.hideTimerRestart(self.screenhidetimer)
     1018                                self.refreshInfoTimerRestart(self.refreshtimer)
    6611019                                self.download(self.konfurl,self.getLiveContent)
    6621020                                self["ergmenu"].selectionEnabled(0)
     
    6751033                                                                                                                                                                       
    6761034                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)
    6791039                                self.download(self.konfurl,self.getLiveContent)
    6801040                                self["ergmenu"].selectionEnabled(0)
     
    6931053                                if self.hideflag == False:
    6941054                                                self.hideScreen()
    695                                                                                                                                
     1055                                               
     1056
    6961057                def loadBuli1(self):
    6971058                                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"
    6991064                                self.ergold = []
    7001065                                self.timerAction()
    701                                 self.hideTimerRestart()
     1066                                self.hideTimerRestart(self.screenhidetimer)
    7021067                               
    7031068                def loadBuli2(self):
    7041069                                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"       
    7061075                                self.ergold = []
    707                                 self.timerAction()                             
    708                                 self.hideTimerRestart()
     1076                                self.timerAction()                                     
     1077                                self.hideTimerRestart(self.screenhidetimer)
    7091078                                               
    7101079                def ok(self):
    711                                 pass
    712                                                                                        
     1080                                self.timerAction()
     1081
    7131082                def up(self):
    7141083                                self.screenHideTimer.stop()
    7151084                                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)     
    7161089                                                self.servicelist.moveUp()
    7171090                                                self.session.execDialog(self.servicelist)                               
     
    7191092                                                if self.actmenu == "tickermenu":
    7201093                                                                self["tickermenu"].up()
    721                                                                 self.hideTimerRestart()
    722                                                                 self.refreshInfoTimerRestart()
     1094                                                                self.hideTimerRestart(self.screenhidetimer)
     1095                                                                self.refreshInfoTimerRestart(self.refreshtimer)
    7231096               
    7241097                def down(self):
    7251098                                self.screenHideTimer.stop()
    7261099                                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)     
    7271104                                                self.servicelist.moveDown()
    7281105                                                self.session.execDialog(self.servicelist)                               
     
    7301107                                                if self.actmenu == "tickermenu":
    7311108                                                                self["tickermenu"].down()                                                                       
    732                                                                 self.hideTimerRestart()
    733                                                                 self.refreshInfoTimerRestart()
     1109                                                                self.hideTimerRestart(self.screenhidetimer)
     1110                                                                self.refreshInfoTimerRestart(self.refreshtimer)
    7341111
    7351112                def zapUp(self):
     1113                                if self.movieisrunning:
     1114                                                return False
     1115                                if self.servicelist == None:
     1116                                                self.servicelist = self.session.instantiateDialog(ChannelSelection)     
    7361117                                self.servicelist.moveUp()
    7371118                                self.servicelist.zap()
    7381119                               
    7391120                def zapDown(self):
     1121                                if self.movieisrunning:
     1122                                                return False
     1123                                if self.servicelist == None:
     1124                                                self.servicelist = self.session.instantiateDialog(ChannelSelection)     
    7401125                                self.servicelist.moveDown()
    7411126                                self.servicelist.zap()
     
    7491134                                output = output.decode("latin1").encode("utf-8")
    7501135                               
    751                                 self["tickermenu"].l.setItemHeight(80)
     1136                                self["tickermenu"].l.setItemHeight(100)
    7521137                               
    7531138                                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
    7581149                                                axsize = 290
    7591150                                                bxsize = 100
     1151                                                xpospng = 35
     1152                                                ypospng = 22
    7601153                                                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
    7661162                                                afontticker = 0
    767                                                 bfontticker = 1
    768                                                 ysize = 20
     1163                                                bfontticker = 0
     1164                                                xergstartpos = 15
     1165                                                ypos = 10
     1166                                                ysize = 25
    7691167                                                axsize = 170
    7701168                                                bxsize = 60
     1169                                                xpospng = 30
     1170                                                ypospng = 20
    7711171                                                xsizeticker = 615       
    7721172                                                ysizeticker = 25                       
    773                                                 maxchar = 70
    774                                                 maxword = 11
     1173                                                maxchar = 60
    7751174                                                                                               
    7761175                                # Live Ergebnisse
     
    8011200                                                                                                #self.linklist.append(x)
    8021201                                                                                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))
    8041203                                                                                if y == 2:
    8051204                                                                                                if len(self.ergold) > 0:
    8061205                                                                                                                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))
    8081207                                                                                                                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))
    8101209                                                                                                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))
    8121211                                                                                if y == 3:
    8131212                                                                                                pass
    8141213                                                                                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))
    8161215                                                                                if y == 5:
    8171216                                                                                                if len(self.ergold) > 0:
    8181217                                                                                                                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))
    8201219                                                                                                                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))
    8221221                                                                                                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))
    8241223                                                                                if y == 6:
    8251224                                                                                                pass
    8261225                                                                                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))
    8281227                                                                                if y == 8:
    8291228                                                                                                if len(self.ergold) > 0:
    8301229                                                                                                                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))
    8321231                                                                                                                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))
    8341233                                                                                                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))
    8361235                                                                                                self.tableentries.append(res)
    8371236                                                                                y +=1
     
    8851284                                                                                if pic != "dummy":
    8861285                                                                                                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:
    8901289                                                                                                firstline = ""
    8911290                                                                                                secondline = ""
    8921291                                                                                                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:]:
    8971300                                                                                                                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)))
    9001303                                                                                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))           
    9021305                                                                                self.tableentries.append(res)                                           
    9031306                                                                                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)                                                 
    9121308
    9131309                                                                # falls neue Ergebnisse oder neuer Tickerttext -> Screen anzeigen                       
    9141310                                                                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:
    9161312                                                                                                self.actmenu = "ergmenu"
    9171313                                                                                                self["tickerlabel"].hide()
     
    9201316                                                                                                self["ergmenu"].show()
    9211317                                                                                                self.hideScreen()
    922                                                                                 elif self.tickerold != text[0]:
     1318                                                                                elif self.tickerold != text[0] and self.selectticker <> 1:
    9231319                                                                                                self.actmenu = "tickermenu"
    9241320                                                                                                self["ergmenu"].hide()
     
    9461342                                else:
    9471343                                                self.hideflag = True
    948                                                 self.screenHideTimer.start(screenhidetimer)
     1344                                                self.hideTimerRestart(self.screenhidetimer)
    9491345                                                self.show()
    9501346                                                               
     
    9551351                                                reactor.callLater(1,self.exit)
    9561352                                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()
    9601357                                                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#############################################################
    9741360                                                                                               
    9751361def main(session, **kwargs):
    9761362                        session.open(ShowFullTicker)
    977                                                
     1363
    9781364def Plugins(path,**kwargs):
    9791365                        global pluginpath
    9801366                        pluginpath = path
    981                         return PluginDescriptor(
     1367                        return PluginDescriptor(
    9821368                                        name="Bundesliga Liveticker",
    9831369                                        description="1./2. Bundesliga Ticker (c)linpop.zdf.de",
     
    9851371                                        where = [ PluginDescriptor.WHERE_EXTENSIONSMENU, PluginDescriptor.WHERE_PLUGINMENU ],
    9861372                                        fnc=main)
     1373
     1374         
Note: See TracChangeset for help on using the changeset viewer.