SharkyEXE icon

Untitled

SharkyEXE | PRO | 07/29/18 02:46:49 PM UTC | 0 ⭐ | 901 👁️ | Never ⏰ | []
text |

4.89 KB

|

None

|

0 👍

/

0 👎

# 
from Plugins.Plugin import PluginDescriptor
from Screens.Screen import Screen
from Screens.MessageBox import MessageBox
from Components.Button import Button
from Components.ActionMap import ActionMap
from Components.ConfigList import ConfigListScreen
from Components.config import config, ConfigDateTime, ConfigClock, getConfigListEntry
import enigma
from enigma import eTimer, iServiceInformation
from datetime import datetime
import gettext
import os
import time
import sys
 def _(txt):
    t = gettext.gettext(txt)
    return t
  def Plugins(**kwargs):
    return [PluginDescriptor(name='SetClock', description='SetClock plug-in (c)2009 by SatCat', where=PluginDescriptor.WHERE_PLUGINMENU, icon='plugin.png', fnc=main), PluginDescriptor(name='SetClock', description='SetClock plug-in (c)2009 by SatCat', where=[PluginDescriptor.WHERE_SESSIONSTART, PluginDescriptor.WHERE_AUTOSTART], fnc=autostart)]
  def main(session, servicereference = None, **kwargs):
    try:
        session.open(SetClockMain)
    except:
        print '[SetClock] Pluginexecution failed'
  def autostart(reason, **kwargs):
    pass
  class AutoCorrTime(Screen):
    skin = '<screen position="100,100" size="280,300" title="SetClock" > </screen>'
     def __init__(self, session):
        Screen.__init__(self, session)
        self.session = session
        if time.localtime().tm_year == 2000:
            self.limit = 0
            self.cursorTimer = eTimer()
            self.cursorTimer_conn = self.cursorTimer.timeout.connect(self.timer)
            self.cursorTimer.start(75, False)
     def timer(self):
        if time.localtime().tm_year > 2000:
            refstr = dtt = 'n/a'
            try:
                service = self.session.nav.getCurrentService()
                if service:
                    info = service.info()
                    if info:
                        refstr = info.getInfoString(iServiceInformation.sServiceref)
            except:
                refstr = 'ref error'
             if refstr == '1:0:1:1:65:64:3840000:0:0:0:':
                tc = time.time() - 13882
                dtt = datetime.fromtimestamp(tc).strftime('%Y%m%d%H%M')
                enigma.eDVBLocalTimeHandler.getInstance().setUseDVBTime(False)
                try:
                    os.system('/bin/date -s %s' % dtt)
                except:
                    pass
                 self.cursorTimer.stop()
        self.limit = self.limit + 1
        if self.limit > 800:
            self.cursorTimer.stop()
  class SetClockMain(ConfigListScreen, Screen):
    skin = '\n\t\t<screen position="center,250" size="280,150" title="SetClock Menu" >\n\t\t\t<widget name="config" position="10,10" size="260,100" scrollbarMode="showOnDemand" />\n\t\t\t<widget name="key_green" \tposition="0,110" \tsize="140,40" valign="center" halign="center" zPosition="4"  foregroundColor="white" font="Regular;18" transparent="1"/> \n\t\t\t<ePixmap name="green"  \t\tposition="0,110" \tsize="140,40" zPosition="2" pixmap="skin_default/buttons/green.png" transparent="1" alphatest="on" />\n\t\t\t<widget name="key_red" \t\tposition="140,110" \tsize="140,40" valign="center" halign="center" zPosition="4"  foregroundColor="white" font="Regular;18" transparent="1"/> \n\t\t\t<ePixmap name="red"  \t\tposition="140,110" \tsize="140,40" zPosition="2" pixmap="skin_default/buttons/red.png" transparent="1" alphatest="on" />\n\t\t</screen>'
     def __init__(self, session, args = 0):
        self.skin = SetClockMain.skin
        self.session = session
        Screen.__init__(self, session)
        self.list = []
        self.date_en = ConfigDateTime(default=time.time(), formatstring='%d.%m.%Y')
        self.entryDate = getConfigListEntry(_('Date'), self.date_en)
        self.time_en = ConfigClock(default=time.time())
        self.entryTime = getConfigListEntry(_('Time'), self.time_en)
        self.list.append(self.entryDate)
        self.list.append(self.entryTime)
        self['key_red'] = Button(_('Cancel'))
        self['key_green'] = Button(_('SET!'))
        ConfigListScreen.__init__(self, self.list, session=session)
        self['setupActions'] = ActionMap(['SetupActions', 'ColorActions'], {'red': self.cancel,
         'green': self.set,
         'save': self.set,
         'cancel': self.cancel,
         'ok': self.set}, -2)
        self['config'].list = self.list
     def set(self, dtt = 0):
        d = time.localtime(self.date_en.value)
        dtt = '%d%02d%02d%02d%02d' % (d.tm_year,
         d.tm_mon,
         d.tm_mday,
         self.time_en.value[0],
         self.time_en.value[1])
        enigma.eDVBLocalTimeHandler.getInstance().setUseDVBTime(False)
        try:
            os.system('/bin/date -s %s' % dtt)
        except:
            pass
         self.close()
        print '[SetClock] SET! ** %s' % time.strftime('%X %x (%Y) %Z')
     def cancel(self):
        self.close()

Comments