def __init__(self, session, cmdList=[]): Screen.__init__(self, session) self.cmdList = cmdList self.sliderPackages = {} self.slider = Slider(0, len(cmdList)) self["slider"] = self.slider self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.status = Label(_("Preparing... Please wait")) self["status"] = self.status self.package = Label() self["package"] = self.package self.packages = 0 self.error = 0 self.processed_packages = [] self.activity = 0 self.activityTimer = eTimer() self.activityTimer.callback.append(self.doActivityTimer) #self.activityTimer.start(100, False) self.opkg = OpkgComponent() self.opkg.addCallback(self.opkgCallback) self.runningCmd = None self.runNextCmd() self["actions"] = ActionMap(["WizardActions"], { "ok": self.exit, "back": self.exit }, -1)
def __init__(self, session, args=None): Screen.__init__(self, session) self.sliderPackages = { 'ceryon-dvb-modules': 1, 'broadmedia-dvb-modules': 2, 'ini-dvb-modules': 3, 'enigma2': 4, 'egami-version-info': 5 } self.slider = Slider(0, 4) self['slider'] = self.slider self.activityslider = Slider(0, 100) self['activityslider'] = self.activityslider self.status = StaticText(_('Please wait...')) self['status'] = self.status self.package = StaticText(_('Verifying your internet connection...')) self['package'] = self.package self.oktext = _('Press OK on your remote control to continue.') self.packages = 0 self.error = 0 self.processed_packages = [] self.activity = 0 self.activityTimer = eTimer() self.activityTimer.callback.append(self.doActivityTimer) self.ipkg = IpkgComponent() self.ipkg.addCallback(self.ipkgCallback) self.updating = False self['actions'] = ActionMap(['WizardActions'], { 'ok': self.exit, 'back': self.exit }, -1) self['actions'].csel = self self['actions'].setEnabled(False) iNetwork.checkNetworkState(self.checkNetworkCB) self.onClose.append(self.cleanup)
def __init__(self, session, *args): Screen.__init__(self, session) Screen.setTitle(self, _("Software Update")) self.sliderPackages = { "dreambox-dvb-modules": 1, "enigma2": 2, "tuxbox-image-info": 3 } self.setTitle(_("Software update")) self.slider = Slider(0, 4) self["slider"] = self.slider self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.status = StaticText(_("Please wait...")) self["status"] = self.status self.package = StaticText(_("Package list update")) self["package"] = self.package self.oktext = _("Press OK on your remote control to continue.") self.channellist_only = 0 self.channellist_name = '' self.SettingsBackupDone = False self.ImageBackupDone = False self.autobackuprunning = False self.packages = 0 self.error = 0 self.processed_packages = [] self.total_packages = None self.checkNetworkState()
def __init__(self, session, cmdList=None): if not cmdList: cmdList = [] Screen.__init__(self, session) self.cmdList = cmdList self.sliderPackages = {} self.slider = Slider(0, len(cmdList)) self['slider'] = self.slider self.activityslider = Slider(0, 100) self['activityslider'] = self.activityslider self.status = Label(_('Preparing... Please wait')) self['status'] = self.status self.package = Label() self['package'] = self.package self.packages = 0 self.error = 0 self.processed_packages = [] self.activity = 0 self.activityTimer = eTimer() self.activityTimer.callback.append(self.doActivityTimer) self.ipkg = IpkgComponent() self.ipkg.addCallback(self.ipkgCallback) self.runningCmd = None self.runNextCmd() self['actions'] = ActionMap(['WizardActions'], { 'ok': self.exit, 'back': self.exit }, -1) return
def __init__(self, session, args=None): Screen.__init__(self, session) self.sliderPackages = { 'dreambox-dvb-modules': 1, 'enigma2': 2, 'tuxbox-image-info': 3 } self.slider = Slider(0, 4) self['slider'] = self.slider self.activityslider = Slider(0, 100) self['activityslider'] = self.activityslider self.status = StaticText(_('Upgrading Dreambox... Please wait')) self['status'] = self.status self.package = StaticText() self['package'] = self.package self.oktext = _('Press OK on your remote control to continue.') self.packages = 0 self.error = 0 self.processed_packages = [] self.activity = 0 self.activityTimer = eTimer() self.activityTimer.callback.append(self.doActivityTimer) self.activityTimer.start(100, False) self.ipkg = IpkgComponent() self.ipkg.addCallback(self.ipkgCallback) self.updating = True self.package.setText(_('Package list update')) self.ipkg.startCmd(IpkgComponent.CMD_UPDATE) self['actions'] = ActionMap(['WizardActions'], { 'ok': self.exit, 'back': self.exit }, -1)
def __init__(self, session, args=None): Screen.__init__(self, session) self.sliderPackages = { "dreambox-dvb-modules": 1, "enigma2": 2, "tuxbox-image-info": 3 } self.slider = Slider(0, 4) self["slider"] = self.slider self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.status = StaticText(_("Upgrading Dreambox... Please wait")) self["status"] = self.status self.package = StaticText() self["package"] = self.package self.packages = 0 self.error = 0 self.activity = 0 self.activityTimer = eTimer() self.activityTimer.callback.append(self.doActivityTimer) self.ipkg = IpkgComponent() self.ipkg.addCallback(self.ipkgCallback) self["actions"] = ActionMap(["WizardActions"], { "ok": self.exit, "back": self.exit }, -1) self.firsttime = True self.onShown.append(self.confirmUpdate)
def __init__(self, session, *args): Screen.__init__(self, session) ProtectedScreen.__init__(self) Screen.setTitle(self, _("Software update")) self["actions"] = ActionMap(["WizardActions"], { "ok": self.exit, "back": self.exit }, -1) self['actions'].csel = self self["actions"].setEnabled(False) self.slider = Slider(0, 100) self["slider"] = self.slider self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.status = StaticText(_("Please wait...")) self["status"] = self.status self.package = StaticText(_("Package list update")) self["package"] = self.package self.oktext = _("Press OK on your remote control to continue.") self.channellist_only = 0 self.channellist_name = '' self.SettingsBackupDone = False self.ImageBackupDone = False self.autobackuprunning = False self.updating = False self.packages = 0 self.error = 0 self.processed_packages = [] self.total_packages = None self.onFirstExecBegin.append(self.checkNetworkState)
def __init__(self, session, parent, timeout=20): Screen.__init__(self, session) self.session = session self["actions"] = ActionMap(["OkCancelActions"], { "ok": self.keyExit, }, -2) self.is_done = 0 self.exit_count = 0 self.timeout = 20 self.title_str = "FPGA Upgrade" #self["name"] = Label(_("Upgrade status")) self["name"] = Label(" ") self["info"] = StaticText(_("Can't cancel during upgrade!!")) self["status"] = Label(_("Status : 0%")) self.status_bar = self["status"] self.slider = Slider(0, 100) self["slider"] = self.slider self.parent = parent self.timer_check_progress = eTimer() self.timer_check_progress.callback.append(self.callbackDoCheckProgress) interval = self.parent.FPGA.get_interval() self.timer_check_progress.start(interval) self.need_restart = False
def __init__(self, session, parent, firmware, datafile, device): Screen.__init__(self, session) self.session = session self["actions"] = ActionMap(["OkCancelActions"], { "ok": self.keyExit, }, -1) self.firmware = firmware self.datafile = datafile #print "[FirmwareUpgrade] - [%s][%s][%s]" % (self.datafile, firmware, device) self["name"] = Label(_(" ")) self["info"] = StaticText(_("Can't cancel during upgrade!!")) self["status"] = Label(_("Status : 0%")) self.slider = Slider(0, 100) self["slider"] = self.slider self.callback = None self.setTitle(firmware.upper() + " Upgrade Status") self.FU = FirmwareUpgradeManager() self.old_status = 0 self.status_exit = None self.check_status = eTimer() self.check_status.callback.append(self.cbCheckStatus) self.check_status.start(self.FU.getInterval()) self.exitTimerCallCount = 0 self.upgradeLock = True self.FU.startUpgrade(self.datafile, device, firmware)
def __init__(self, session): self.session = session self.session.qPips = None Screen.__init__(self, session) FocusShowHide.__init__(self) HelpableScreen.__init__(self) self.setTitle(_("Quad PiP Screen")) self["actions"] = HelpableActionMap( self, "QuadPipSetupActions", { "cancel": (self.keyExit, _("Exit quad PiP")), "ok": (self.keyOk, _("Zap focused channel on full screen")), "left": (self.keyLeft, _("Select channel audio")), "right": (self.keyRight, _("Select channel audio")), "up": (self.keyUp, _("Select channel audio")), "down": (self.keyDown, _("Select channel audio")), "channelup": (self.KeyChannel, _("Show channel selection")), "channeldown": (self.KeyChannel, _("Show channel selection")), "menu": (self.KeyChannel, _("Show channel selection")), "channelPrev": (self.KeyPrev, _("Prev quad PiP channel")), "channelNext": (self.KeyNext, _("Next quad PiP channel")), "red": (self.KeyRed, _("Show/Hide focus bar")), }, -1) self["ch1"] = Label(_(" ")) self["ch2"] = Label(_(" ")) self["ch3"] = Label(_(" ")) self["ch4"] = Label(_(" ")) self["text1"] = Label(_(" Red key : Show/Hide channel name")) self["text2"] = Label(_(" Menu key : Select quad channel")) self["focus"] = Slider(-1, -1) self.currentPosition = 1 # 1~4 self.updatePositionList() self.skin = QuadPipScreen.skin % (self.session.desktop.size().width(), self.session.desktop.size().height(), \ self.fontSize, self.fontSize, self.fontSize, self.fontSize, \ self.text1Pos[0], self.text1Pos[1], self.text1Pos[2], self.text1Pos[3], self.fontSize, \ self.text2Pos[0], self.text2Pos[1], self.text2Pos[2], self.text2Pos[3], self.fontSize) self.oldService = None self.curChannel = None self.curPlayAudio = -1 global quad_pip_channel_list_instance self.qpipChannelList = quad_pip_channel_list_instance self.oldFccEnable = False self.oldMinitvEanble = False self.onLayoutFinish.append(self.layoutFinishedCB) self.notSupportTimer = eTimer() self.notSupportTimer.callback.append(self.showNotSupport) self.noChannelTimer = eTimer() self.noChannelTimer.callback.append(self.noChannelTimerCB) self.forceToExitTimer = eTimer() self.forceToExitTimer.callback.append(self.forceToExitTimerCB)
def __init__(self, session, *args): Screen.__init__(self, session) Screen.setTitle(self, _("Software Update")) self.sliderPackages = { "dreambox-dvb-modules": 1, "enigma2": 2, "tuxbox-image-info": 3 } self.setTitle(_("Software update")) self.slider = Slider(0, 4) self["slider"] = self.slider self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.status = StaticText(_("Please wait...")) self["status"] = self.status self.package = StaticText(_("Package list update")) self["package"] = self.package self.oktext = _("Press OK on your remote control to continue.") status_msgs = { 'stable': _('Feeds status: Stable'), 'unstable': _('Feeds status: Unstable'), 'updating': _('Feeds status: Updating'), 'unknown': _('No connection') } self['tl_off'] = Pixmap() self['tl_red'] = Pixmap() self['tl_yellow'] = Pixmap() self['tl_green'] = Pixmap() self.feedsStatus() self['feedStatusMSG'] = Label(status_msgs[self.trafficLight]) self.channellist_only = 0 self.channellist_name = '' self.SettingsBackupDone = False self.ImageBackupDone = False self.autobackuprunning = False self.packages = 0 self.error = 0 self.processed_packages = [] self.total_packages = None self.checkNetworkState()
def __init__(self, session, parent=None): Screen.__init__(self, session, parent=parent) ProtectedScreen.__init__(self) self.setTitle(_("Software update")) self["actions"] = ActionMap(["WizardActions"], { "ok": self.exit, "back": self.exit }, -1) self['actions'].csel = self self["actions"].setEnabled(False) self.sliderPackages = { "dreambox-dvb-modules": 1, "enigma2": 2, "tuxbox-image-info": 3 } self.slider = Slider(0, 4) self["slider"] = self.slider self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.status = StaticText(_("Please wait...")) self["status"] = self.status self.package = StaticText(_("Package list update")) self["package"] = self.package self.oktext = _("Press OK on your remote control to continue.") self['tl_off'] = Pixmap() self['tl_red'] = Pixmap() self['tl_yellow'] = Pixmap() self['tl_green'] = Pixmap() self['feedStatusMSG'] = Label() self.channellist_only = 0 self.channellist_name = '' self.SettingsBackupDone = False self.ImageBackupDone = False self.autobackuprunning = False self.updating = False self.packages = 0 self.error = 0 self.processed_packages = [] self.total_packages = None self.onFirstExecBegin.append(self.checkNetworkState)
def __init__(self, session, *args): Screen.__init__(self, session) Screen.setTitle(self, _("Software Update")) self.sliderPackages = { "dreambox-dvb-modules": 1, "enigma2": 2, "tuxbox-image-info": 3 } self.setTitle(_("Software update")) self.slider = Slider(0, 4) self["slider"] = self.slider self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.status = StaticText(_("Please wait...")) self["status"] = self.status self.package = StaticText(_("Package list update")) self["package"] = self.package self.oktext = _("Press OK on your remote control to continue.") self.channellist_only = 0 self.channellist_name = '' self.SettingsBackupDone = False self.ImageBackupDone = False self.autobackuprunning = False self.packages = 0 self.error = 0 self.processed_packages = [] self.total_packages = None if self.isProtected() and config.ParentalControl.servicepin[0].value: self.onFirstExecBegin.append( boundFunction( self.session.openWithCallback, self.pinEntered, PinInput, pinList=[ x.value for x in config.ParentalControl.servicepin ], triesEntry=config.ParentalControl.retries.servicepin, title=_("Please enter the correct pin code"), windowTitle=_("Enter pin code"))) else: self.checkNetworkState()
def __init__(self, session, backend, message, lastservice=None): self.backend = backend backend.MusicWindow = self self.session = session self.skinName = 'AirPlayMusicPlayer' print '[AirPlayMusicPlayer] starting AirTunesPlayer' Screen.__init__(self, session) self['actions'] = ActionMap(['OkCancelActions', 'MoviePlayerActions'], { 'cancel': self.Exit, 'leavePlayer': self.Exit }, -1) self['label_update'] = StaticText('') self['label_message'] = Label() self['label_message'].setText(message) self['label_title'] = Label() self['label_album'] = Label() self['label_interpret'] = Label() self['label_title'].setText('No') self['label_album'].setText('Metadata') self['label_interpret'].setText('') self.progress = Slider(0, 100) self.progress.setValue(0) self['progress'] = self.progress self['progress'].setValue(0) self.runtime = None self.seconds = None self.libairtunes = None self.lastservice = lastservice or self.session.nav.getCurrentlyPlayingServiceReference( ) self.session.nav.stopService() if config.plugins.airplayer.audioBackend.value == 'proxy': if self.backend.ENIGMA_SERVICE_ID == self.backend.ENIGMA_SERVICEAZ_ID: self.session.nav.stopService() open('/proc/player', 'w').write('0') open('/proc/player', 'w').write('2') sref = eServiceReference(self.backend.ENIGMA_SERVICE_ID, 0, 'http://127.0.0.1:7098/stream.wav') sref.setName('AirTunes') self.session.nav.playService(sref) start_new_thread(self.checkForUpdate, (self, )) self.x_pos = None self.y_pos = None self.x_dir = 5 self.y_dir = 5 self.WindowMoveTimer = eTimer() self.WindowMoveTimer.timeout.get().append(self.moveWindow) if config.plugins.airplayer.screensaverEnabled.value: self.WindowMoveTimer.start(10000, True) self['cover'] = Pixmap() self.picload = ePicLoad() self.picload.PictureData.get().append(self.finish_decode) self.onLayoutFinish.append(self.setPicloadConf) self.bgcolor = '#00000000' self.progressTimer = eTimer() self.progressTimer.timeout.get().append(self.progressCallback) self.parseMetadata()
def __init__(self, session, *args): Screen.__init__(self, session) ProtectedScreen.__init__(self) self.sliderPackages = { "dreambox-dvb-modules": 1, "enigma2": 2, "tuxbox-image-info": 3 } self.setTitle(_("Software update")) self.slider = Slider(0, 4) self["slider"] = self.slider self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.status = StaticText(_("Please wait...")) self["status"] = self.status self.package = StaticText(_("Package list update")) self["package"] = self.package self.oktext = _("Press OK on your remote control to continue.") self.packages = 0 self.error = 0 self.processed_packages = [] self.total_packages = None self.channellist_only = 0 self.channellist_name = '' self.updating = False self.ipkg = IpkgComponent() self.ipkg.addCallback(self.ipkgCallback) self.onClose.append(self.__close) self.Console = Console() self["actions"] = ActionMap(["WizardActions"], { "ok": self.exit, "back": self.exit }, -1) self.activity = 0 self.activityTimer = eTimer() self.activityTimer.callback.append(self.checkTraficLight1) self.activityTimer.callback.append(self.doActivityTimer) self.activityTimer.start(20, True)
def __init__(self, session, args=None): Screen.__init__(self, session) self.sliderPackages = { "dreambox-dvb-modules": 1, "enigma2": 2, "tuxbox-image-info": 3 } self.slider = Slider(0, 4) self["slider"] = self.slider self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.status = StaticText(_("Please wait...")) self["status"] = self.status self.package = StaticText(_("Verifying your internet connection...")) self["package"] = self.package self.oktext = _("Press OK on your remote control to continue.") self.packages = 0 self.error = 0 self.processed_packages = [] self.modified_packages = [] self.activity = 0 self.activityTimer = eTimer() self.activityTimer_conn = self.activityTimer.timeout.connect( self.doActivityTimer) self.ipkg = IpkgComponent() self.ipkg.addCallback(self.ipkgCallback) self.updating = False self.rebootRequired = False self.device_name = iSoftwareTools.hardware_info.device_name self["actions"] = ActionMap(["WizardActions"], { "ok": self.exit, "back": self.exit }, -1) self.checkNetwork() self.onClose.append(self.cleanup)
def __init__(self, session, parent): ScreenSummary.__init__(self, session, parent=parent) self["entry"] = StaticText( "" ) # Use the same widget as the Setup Summary screen so the screens can be shared. self["value"] = StaticText( "" ) # Use the same widget as the Setup Summary screen so the screens can be shared. self["activity"] = Slider(0, 100) if self.addWatcher not in self.onShow: self.onShow.append(self.addWatcher) if self.removeWatcher not in self.onHide: self.onHide.append(self.removeWatcher)
def __init__(self, session, *args): Screen.__init__(self, session) ProtectedScreen.__init__(self) self.sliderPackages = { 'dreambox-dvb-modules': 1, 'enigma2': 2, 'tuxbox-image-info': 3 } self.setTitle(_('Software update')) self.slider = Slider(0, 4) self['slider'] = self.slider self.activityslider = Slider(0, 100) self['activityslider'] = self.activityslider self.status = StaticText(_('Please wait...')) self['status'] = self.status self.package = StaticText(_('Package list update')) self['package'] = self.package self.oktext = _('Press OK on your remote control to continue.') self.packages = 0 self.error = 0 self.processed_packages = [] self.total_packages = None self.channellist_only = 0 self.channellist_name = '' self.updating = False self.ipkg = IpkgComponent() self.ipkg.addCallback(self.ipkgCallback) self.onClose.append(self.__close) self['actions'] = ActionMap(['WizardActions'], { 'ok': self.exit, 'back': self.exit }, -1) self.activity = 0 self.activityTimer = eTimer() self.activityTimer.callback.append(self.checkTraficLight) self.activityTimer.callback.append(self.doActivityTimer) self.activityTimer.start(100, True)
def __init__(self, session, *args): Screen.__init__(self, session) ProtectedScreen.__init__(self) Screen.setTitle(self, _('Software Update')) self['actions'] = ActionMap(['WizardActions'], {'ok': self.exit, 'back': self.exit }, -1) self['actions'].csel = self self['actions'].setEnabled(False) self.sliderPackages = {'ini-dvb-modules': 1,'enigma2': 2,'tuxbox-image-info': 3} self.slider = Slider(0, 4) self['slider'] = self.slider self.activityslider = Slider(0, 100) self['activityslider'] = self.activityslider self.status = StaticText(_('Please wait...')) self['status'] = self.status self.package = StaticText(_('Package list update')) self['package'] = self.package self.oktext = _('Press OK on your remote control to continue.') self['tl_off'] = Pixmap() self['tl_red'] = Pixmap() self['tl_yellow'] = Pixmap() self['tl_green'] = Pixmap() self['feedStatusMSG'] = Label() self.channellist_only = 0 self.channellist_name = '' self.SettingsBackupDone = False self.ImageBackupDone = False self.autobackuprunning = False self.updating = False self.packages = 0 self.error = 0 self.processed_packages = [] self.total_packages = None self.onFirstExecBegin.append(self.checkNetworkState) return
def __init__(self, session, *args): Screen.__init__(self, session) HelpableScreen.__init__(self) self.setTitle(_("Software Update")) self.onTimerTick = [] self["update"] = ScrollLabel( _("Software update starting, please wait.\n\n")) self["activity"] = Slider(0, 100) self["actions"] = HelpableActionMap( self, ["OkCancelActions", "NavigationActions"], { "cancel": (self.keyCancel, _("Stop the update, if running, then exit")), "ok": (self.keyCancel, _("Stop the update, if running, then exit")), "top": (self.top, _("Move to first line / screen")), "pageUp": (self.pageUp, _("Move up a page / screen")), "up": (self.pageUp, _("Move up a page / screen")), # "first": (self.top, _("Move to first line / screen")), "left": (self.pageUp, _("Move up a page / screen")), "right": (self.pageDown, _("Move down a page / screen")), # "last": (self.bottom, _("Move to last line / screen")), "down": (self.pageDown, _("Move down a page / screen")), "pageDown": (self.pageDown, _("Move down a page / screen")), "bottom": (self.bottom, _("Move to last line / screen")) }, prio=0, description=_("Software Update Actions")) self.activity = 0 self.timer = eTimer() self.timer.callback.append(self.timeout) self.packageTotal = 0 self.downloadCount = 0 self.updateCount = 0 self.installCount = 0 self.removeCount = 0 self.deselectCount = 0 self.upgradeCount = 0 self.configureCount = 0 self.errorCount = 0 self.updateFlag = True self.opkg = OpkgComponent() self.opkg.addCallback(self.opkgCallback) self.onLayoutFinish.append(self.layoutFinished)
def telaSkin(): cores = [corCobra, corBorda] rect = rectPlayer[2] * 2, rectPlayer[3] * 2 pos = resolucao[0] / 2.3, posCaixa[12] base = fonte.render("Base", True, branco) borda = fonte.render("Borda", True, branco) while (True): blitBg() eventos = event() titulo("Skin") tela.blit(base, (resolucao[0] / 4 - base.get_size()[0] / 2, posCaixa[3])) tela.blit(borda, (resolucao[0] / 1.3 - borda.get_size()[0] / 2, posCaixa[3])) cores[0][0] = Slider(resolucao[0] / 4, posCaixa[6], "r", cores[0][0]) cores[0][1] = Slider(resolucao[0] / 4, posCaixa[8], "g", cores[0][1]) cores[0][2] = Slider(resolucao[0] / 4, posCaixa[10], "b", cores[0][2]) cores[1][0] = Slider(resolucao[0] / 1.3, posCaixa[6], "r", cores[1][0]) cores[1][1] = Slider(resolucao[0] / 1.3, posCaixa[8], "g", cores[1][1]) cores[1][2] = Slider(resolucao[0] / 1.3, posCaixa[10], "b", cores[1][2]) drawSkin(rect, pos, cores) Botao("Aplicar", eventos, resolucao[0] / 2, posCaixa[16], lambda: mudarSkin(cores[0], cores[1])) if Botao("<", eventos, resolucao[0] * 0.06, resolucao[1] * 0.962, quebra): break engine.display.update()
def __init__(self, session, *args): Screen.__init__(self, session) HelpableScreen.__init__(self) ProtectedScreen.__init__(self) Screen.setTitle(self, _("Software Update")) self.onCheckTrafficLight = [] self.updateList = [] self["list"] = List(self.updateList, enableWrapAround=True) self["key_red"] = StaticText(_("Cancel")) self["key_green"] = StaticText("") self["key_yellow"] = StaticText("") self["traffic_off"] = Pixmap() self["traffic_red"] = Pixmap() self["traffic_red"].hide() self["traffic_yellow"] = Pixmap() self["traffic_yellow"].hide() self["traffic_green"] = Pixmap() self["traffic_green"].hide() self["feedstatus_off"] = Label(_("Status unavailable!")) self["feedstatus_off"].hide() self["feedstatus_red"] = Label("< %s" % _("Feed disabled!")) self["feedstatus_red"].hide() self["feedstatus_yellow"] = Label("< %s" % _("Feed unstable!")) self["feedstatus_yellow"].hide() self["feedstatus_green"] = Label("< %s" % _("Feed stable.")) self["feedstatus_green"].hide() self["feedmessage"] = Label() self["package_text"] = Label(_("Updates available:")) self["package_count"] = Label("?") self["activity"] = Slider(0, 100) cancelMsg = _("Cancel / Close the software update screen") updateMsg = _("Proceed with the update") self["actions"] = HelpableActionMap( self, ["OkCancelActions", "ColorActions", "NavigationActions"], { "cancel": (self.keyCancel, cancelMsg), "red": (self.keyCancel, cancelMsg), "top": (self.top, _("Move to first line / screen")), "pageUp": (self.pageUp, _("Move up a page / screen")), "up": (self.up, _("Move up a line")), # "first": (self.top, _("Move to first line / screen")), "left": (self.pageUp, _("Move up a page / screen")), "right": (self.pageDown, _("Move down a page / screen")), # "last": (self.bottom, _("Move to last line / screen")), "down": (self.down, _("Move down a line")), "pageDown": (self.pageDown, _("Move down a page / screen")), "bottom": (self.bottom, _("Move to last line / screen")) }, prio=0, description=_("Software Update Actions")) self["updateActions"] = HelpableActionMap( self, ["OkCancelActions", "ColorActions"], { "ok": (self.keyUpdate, updateMsg), "green": (self.keyUpdate, updateMsg) }, prio=0, description=_("Software Update Actions")) self["updateActions"].setEnabled(False) self["refreshActions"] = HelpableActionMap( self, ["ColorActions"], { "yellow": (self.keyRefresh, _("Refresh the update-able package list")) }, prio=0, description=_("Software Update Actions")) self["refreshActions"].setEnabled(False) self.activity = 0 self.feedState = self.FEED_UNKNOWN self.updateFlag = True self.packageCount = 0 self.timer = eTimer() self.timer.callback.append(self.timeout) self.timer.callback.append(self.checkTrafficLight) self.opkg = OpkgComponent() self.opkg.addCallback(self.opkgCallback) self.onLayoutFinish.append(self.layoutFinished)
def __init__(self, session, playerData, resume=False): ''' ''' printl("", self, "S") self.session = session self.startNewServiceOnPlay = False self.resume = resume self.resumeStamp = int( playerData['resumeStamp']) / 1000 #plex stores seconds * 1000 self.server = str(playerData['server']) self.id = str(playerData['id']) self.url = str(playerData['playUrl']) printl("Checking for usable gstreamer service (built-in)... ", self, "I") if self.isValidServiceId(self.ENIGMA_SERVICEGS_ID): printl("found usable gstreamer service (builtin) ...", self, "I") self.ENIGMA_SERVICE_ID = self.ENIGMA_SERVICEGS_ID #STOP_BEFORE_UNPAUSE = False else: printl("no usable gstreamer service (built-in) found ...", self, "I") #todo hier eine meldung mit dem hinweis auf systemcheck #session.open(MessageBox, _("Please try Systemcheck to install gstreamer!"), MessageBox.TYPE_INFO) #MoviePlayer.__init__(self, session, service) printl("self.ENIGMA_SERVICE_ID = " + str(self.ENIGMA_SERVICE_ID), self, "I") sref = eServiceReference(self.ENIGMA_SERVICE_ID, 0, self.url) sref.setName("DreamPlex") #MoviePlayer.__init__(self, session, service) MoviePlayer.__init__(self, session, sref) self.skinName = "DPS_PlexPlayer" self.service = sref self.bufferslider = Slider(0, 100) self["bufferslider"] = self.bufferslider self["bufferslider"].setValue(0) self["label_bitrate"] = StaticText("Bitrate: N/A") self["label_speed"] = StaticText("DL-Speed: N/A") self["label_buffer"] = StaticText("Buffer") self["label_update"] = StaticText("") self.bufferSeconds = 0 self.bufferPercent = 0 self.bufferSecondsLeft = 0 self.bitrate = 0 self.endReached = False self.buffersize = 1 self.localCache = False self.dlactive = False self.url = self.service.getPath() self.localsize = 0 self["actions"] = ActionMap( ["InfobarInstantRecord", "MoviePlayerActions"], { "instantRecord": self.keyStartLocalCache, "leavePlayer": self.leavePlayer, }, -2) self.useBufferControl = config.plugins.dreamplex.useBufferControl.value if config.plugins.dreamplex.setBufferSize.value: bufferSize = int( config.plugins.dreamplex.bufferSize.value) * 1024 * 1024 session.nav.getCurrentService().streamed().setBufferSize( bufferSize) service1 = self.session.nav.getCurrentService() self.seek = service1 and service1.seek() if self.seek != None: rLen = self.getPlayLength() rPos = self.getPlayPosition() printl("rLen: " + str(rLen), self, "I") printl("rPos: " + str(rPos), self, "I") if self.resume == True and self.resumeStamp != None and self.resumeStamp > 0.0: start_new_thread(self.seekWatcher, (self, )) start_new_thread(self.bitRateWatcher, (self, )) #start_new_thread(self.checkForUpdate,(self,)) self.__event_tracker = ServiceEventTracker( screen=self, eventmap={ iPlayableService.evUser + 10: self.__evAudioDecodeError, iPlayableService.evUser + 11: self.__evVideoDecodeError, iPlayableService.evUser + 12: self.__evPluginError, iPlayableService.evBuffering: self.__evUpdatedBufferInfo, iPlayableService.evEOF: self.__evEOF, }) printl("", self, "C")
def __init__(self, session): self.session = session Screen.__init__(self, session) HelpableScreen.__init__(self) self.server_url = config.plugins.piconmanager.server.value self.piconname = config.plugins.piconmanager.piconname.value self.picondir = config.plugins.piconmanager.savetopath.value self.alter = config.plugins.piconmanager.alter.value self.piconfolder = "%s%s/" % (self.picondir, self.piconname) self.picon_name = "" self.piconlist = [] self.tried_mirrors = [] self.art_list = [] self.prev_sel = None self.spicon_name = "" self.aktdl_pico = None self['piconpath'] = Label(_("Picon folder: ")) self['piconpath2'] = Label(self.piconfolder) self['piconspace'] = Label(_(" ")) self['piconcount'] = Label(_("Reading Channels...")) self['picondownload'] = Label(_("Picons loaded: ")) self['piconerror'] = Label(_("Picons not found: ")) self['piconslidername'] = Label(_("Download progress: ")) self['selectedname'] = Label(_("Show group: ")) self['selected'] = Label() self['creatorname'] = Label(_("Creator: ")) self['creator'] = Label() self['sizename'] = Label(_("Size: ")) self['size'] = Label() self['bitname'] = Label(_("Color depth: ")) self['bit'] = Label() self['altername'] = Label(_("Not older than X days: ")) self['alter'] = Label(str(self.alter)) self['spiconname'] = Label(_("Standard picon: ")) self['spicon'] = Label() self.chlist = buildChannellist() self.getFreeSpace() self.countchlist = len(self.chlist) self.activityslider = Slider(0, self.countchlist) self["piconslider"] = self.activityslider self['key_red'] = Label(_("Select drive")) self['key_green'] = Label(_("Download picons")) self['key_yellow'] = Label(_("Select path")) self['key_blue'] = Label(_("Create folder")) self['picon'] = Pixmap() self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions", { "ok": (self.keyOK, _("Show random Picon")), "cancel": (self.keyCancel, _("Exit")), }, -2) self["SetupActions"] = HelpableActionMap(self, "SetupActions", { "1": (self.sel_creator_back, _("Previous picon creator")), "3": (self.sel_creator_next, _("Next picon creator")), "4": (self.sel_size_back, _("Previous picon size")), "6": (self.sel_size_next, _("Next picon size")), "7": (self.sel_bit_back, _("Previous color depth")), "9": (self.sel_bit_next, _("Next color depth")), } ) self["EPGSelectActions"] = HelpableActionMap(self, "EPGSelectActions", { "menu": (self.settings, _("More selections")), "nextService": (self.sel_satpos_next, _("Next Group")), "prevServive": (self.sel_satpos_back, _("Previous Group")), "info": (self.set_picon, _("Set / clear standard Picon")), "red": (self.changeDrive, _("Select drive")), "timerAdd": (self.downloadPicons, _("Download picons")), "yellow": (self.keyYellow, _("Select path")), "blue": (self.changePiconName, _("Create folder")), }, -2) self.channelMenuList = MenuList([], enableWrapAround=True, content=eListboxPythonMultiContent) font, size = skin.parameters.get("PiconManagerListFont", ('Regular', 22)) self.channelMenuList.l.setFont(0, gFont(font, size)) self.channelMenuList.l.setItemHeight(25) self.setTitle(pname + " " * 3 + _("V") + " %s" % pversion) self['list'] = self.channelMenuList self['list'].onSelectionChanged.append(self.showPic) self.keyLocked = True self.piconTempDir = picon_tmp_dir if not os.path.exists(self.piconTempDir): os.mkdir(self.piconTempDir) self.onLayoutFinish.append(self.getPiconList)
def __init__(self, session, *args): Screen.__init__(self, session) ProtectedScreen.__init__(self) screentitle = _("Software update") self.menu_path = args[0] if config.usage.show_menupath.value == 'large': self.menu_path += screentitle self.title = self.menu_path self.menu_path_compressed = "" self.menu_path += ' / ' elif config.usage.show_menupath.value == 'small': self.title = screentitle condtext = "" if self.menu_path and not self.menu_path.endswith(' / '): condtext = self.menu_path + " >" elif self.menu_path: condtext = self.menu_path[:-3] + " >" self.menu_path_compressed = condtext self.menu_path += screentitle + ' / ' else: self.title = screentitle self.menu_path_compressed = "" self["menu_path_compressed"] = StaticText(self.menu_path_compressed) Screen.setTitle(self, self.title) self["actions"] = ActionMap(["WizardActions"], { "ok": self.exit, "back": self.exit }, -1) self['actions'].csel = self self["actions"].setEnabled(False) self.sliderPackages = { "dreambox-dvb-modules": 1, "enigma2": 2, "tuxbox-image-info": 3 } self.slider = Slider(0, 4) self["slider"] = self.slider self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.status = StaticText(_("Please wait...")) self["status"] = self.status self.package = StaticText(_("Package list update")) self["package"] = self.package self.oktext = _("Press OK on your remote control to continue.") self['tl_off'] = Pixmap() self['tl_red'] = Pixmap() self['tl_yellow'] = Pixmap() self['tl_green'] = Pixmap() self['feedStatusMSG'] = Label() self.channellist_only = 0 self.channellist_name = '' self.SettingsBackupDone = False self.ImageBackupDone = False self.autobackuprunning = False self.updating = False self.packages = 0 self.error = 0 self.processed_packages = [] self.total_packages = None self.onFirstExecBegin.append(self.checkNetworkState)
class PlayHttpMovie(Screen): skin = """ <screen position="center,center" size="450,240" title="Caching..." > <widget source="label_filename" transparent="1" render="Label" zPosition="2" position="10,10" size="430,21" font="Regular;19" /> <widget source="label_speed" transparent="1" render="Label" zPosition="2" position="10,60" size="430,21" font="Regular;19" /> <widget source="label_timeleft" transparent="1" render="Label" zPosition="2" position="10,85" size="430,21" font="Regular;19" /> <widget source="label_progress" transparent="1" render="Label" zPosition="2" position="10,110" size="430,21" font="Regular;19" /> <widget name="activityslider" position="10,150" size="430,30" zPosition="3" transparent="0" /> <widget name="key_red" position="10,200" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" /> <widget name="key_green" position="155,200" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" /> <widget name="key_blue" position="300,200" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" /> <ePixmap pixmap="/usr/share/enigma2/skin_default/buttons/red.png" position="10,200" size="140,40" alphatest="on" /> <ePixmap pixmap="/usr/share/enigma2/skin_default/buttons/green.png" position="155,200" size="140,40" alphatest="on" /> <ePixmap pixmap="/usr/share/enigma2/skin_default/buttons/blue.png" position="300,200" size="140,40" alphatest="on" /> </screen>""" def __init__(self, session, movieinfo, movietitle): self.skin = PlayHttpMovie.skin Screen.__init__(self, session) self.url = movieinfo[0] self.filename = movieinfo[1] self.movietitle = movietitle self.movieinfo = movieinfo self.destination = config.mediaportal.storagepath.value self.moviepath = self.destination + ".http_movie" self.referer_val = movieinfo[2] if self.referer_val != '': self.referer = "--header 'Referer: %s'" % self.referer_val else: self.referer = '' self.useragent = "QuickTime/7.6.2 (qtver=7.6.2;os=Windows NT 5.1Service Pack 3)" self.useragent_header = "--user-agent '%s'" % self.useragent self.streamactive = False self.isVisible = True self.container = eConsoleAppContainer() self.container.appClosed.append(self.copyfinished) self.container.stdoutAvail.append(self.progressUpdate) self.container.stderrAvail.append(self.progressUpdate) self.container.setCWD(self.destination) self.oldService = self.session.nav.getCurrentlyPlayingServiceReference( ) self.BgFileEraser = eBackgroundFileEraser.getInstance() try: req = Request(self.url) req.add_header('User-agent', self.useragent) req.add_header('Referer', self.referer_val) usock = urlopen(req) filesize = usock.info().get('Content-Length') except Exception, e: filesize = 0 if filesize is None: filesize = 0 self.filesize = int(filesize) # in bytes self.timeleft = "" self.dummyfilesize = False self.lastcmddata = None self.lastlocalsize = 0 self.localsize = 0 self.isplaying = False self.autoplaythreshold = config.mediaportal.autoplayThreshold.value self["key_green"] = Button(_("Play")) self["key_red"] = Button(_("Cancel")) self["key_blue"] = Button(_("Show/Hide")) self["label_filename"] = StaticText("File: %s" % (self.filename)) self["label_progress"] = StaticText("Progress: N/A") self["label_speed"] = StaticText("Speed: N/A") self["label_timeleft"] = StaticText("Time left: N/A") self["actions"] = ActionMap( ["OkCancelActions", "ColorActions"], { "cancel": self.exit, "ok": self.okbuttonClick, "red": self.exit, "green": self.playfile, "blue": self.visibility }, -1) self.StatusTimer = eTimer() self.StatusTimer.callback.append(self.UpdateStatus) self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.onFirstExecBegin.append(self.firstExecBegin)
def __init__(self, session, service, backend, start=None, lastservice=None): self.backend = backend self.startNewServiceOnPlay = False self.start = start self.service = service self.session = session self.useProxy = False self.url = self.service.getPath() self.proxyReady = False self.proxyError = False self['useProxy'] = Boolean(False) self['premiumUser'] = Boolean(False) self.azBoxLastService = None self.proxyCaching = False print '[AirPlayMoviePlayer] MoviePlayer play url: ', self.url if self.url[:7] == 'http://' or self.url[:8] == 'https://': print '[AirPlayMoviePlayer] found http(s) link' if self.checkProxyUsable( ) and config.plugins.airplayer.useProxyIfPossible.value: print '[AirPlayMoviePlayer] using proxy' self.service = None self.startNewServiceOnPlay = True self.proxyCaching = True self.useProxy = True self['useProxy'] = Boolean(True) if 'm3u8' in self.url and self.useProxy == False: Notifications.AddNotification( MessageBox, _('You are trying to play an m3u8 stream. Playing m3u8 streams requires a Premium-Key to use the embedded proxy or a very new version of GStreamer and the gst-fragmented plugin. Otherwise the playback might not work!' ), type=MessageBox.TYPE_INFO, timeout=10) if self.backend.ENIGMA_SERVICE_ID == self.backend.ENIGMA_SERVICEAZ_ID: self.azBoxLastService = lastservice or self.session.nav.getCurrentlyPlayingServiceReference( ) self.session.nav.stopService() open('/proc/player', 'w').write('0') open('/proc/player', 'w').write('2') MoviePlayer.__init__(self, session, self.service) if self.backend.ENIGMA_SERVICE_ID == self.backend.ENIGMA_SERVICEAZ_ID: self.lastservice = self.azBoxLastService backend.MovieWindow = self self.skinName = 'AirPlayerMoviePlayer' if lastservice is not None: self.lastservice = lastservice self.bufferslider = Slider(0, 100) self.bufferslider.setValue(0) self['bufferslider'] = self.bufferslider self['bufferslider'].setValue(0) self['label_speed'] = StaticText('DL-Speed: N/A') self['label_update'] = StaticText('') self['label_cache'] = StaticText('Cache: N/A') self.endReached = False self.localCache = False self.dlactive = False self.localsize = 0 self.proxyProcess = None self.liveStream = False self.m3u8Stream = False self['actions'] = ActionMap( ['InfobarInstantRecord', 'MoviePlayerActions'], { 'instantRecord': self.keyStartLocalCache, 'leavePlayer': self.leavePlayer }, -2) if config.plugins.airplayer.setSeekOnStart.value and self.start != None and self.start > 0.0: start_new_thread(self.seekWatcher, (self, )) start_new_thread(self.checkForUpdate, (self, )) self.__event_tracker = ServiceEventTracker( screen=self, eventmap={ iPlayableService.evUser + 10: self.__evAudioDecodeError, iPlayableService.evUser + 11: self.__evVideoDecodeError, iPlayableService.evUser + 12: self.__evPluginError, iPlayableService.evEOF: self.__evEOF }) if self.useProxy: start_new_thread(self.proxyWatcher, (self, )) self.backend.updateEventInfo('loading') self.onHide.append(self.lockInfoBar) self.proxyCaching = True self.checkProxyTimer = eTimer() self.checkProxyTimer.timeout.get().append(self.checkProxyStatus) self.checkProxyTimer.start(500, True)
def __init__(self, session, movieinfo, movietitle): self.skin = PlayRtmpMovie.skin Screen.__init__(self, session) self.url = movieinfo[0] self.filename = movieinfo[1] self.movietitle = movietitle self.movieinfo = movieinfo self.destination = config.mediaportal.storagepath.value #self.moviepath = self.destination + ASCIItranslit.legacyEncode(self.filename) self.moviepath = self.destination + ".rtmp_movie" self.streamactive = False self.isVisible = True self.container = eConsoleAppContainer() self.container.appClosed.append(self.copyfinished) self.container.stdoutAvail.append(self.progressUpdate) self.container.stderrAvail.append(self.progressUpdate) self.container.setCWD(self.destination) self.oldService = self.session.nav.getCurrentlyPlayingServiceReference( ) self.BgFileEraser = eBackgroundFileEraser.getInstance() filesize = 0 self.filesize = float(filesize) # in bytes self.dummyfilesize = False self.lastcmddata = None self.lastlocalsize = 0 self.localsize = 0 self.isplaying = False self.autoplaythreshold = config.mediaportal.autoplayThreshold.value self["key_green"] = Button(_("Play")) self["key_red"] = Button(_("Cancel")) self["key_blue"] = Button(_("Show/Hide")) self["label_filename"] = StaticText("File: %s" % (self.filename)) self["label_progress"] = StaticText("Progress: N/A") self["label_speed"] = StaticText("Speed: N/A") self["label_timeleft"] = StaticText("Time left: N/A") self["actions"] = ActionMap( ["OkCancelActions", "ColorActions"], { "cancel": self.exit, "ok": self.okbuttonClick, "red": self.exit, "green": self.playfile, "blue": self.visibility }, -1) self.StatusTimer = eTimer() self.StatusTimer.callback.append(self.UpdateStatus) self.activityslider = Slider(0, 100) self["activityslider"] = self.activityslider self.onFirstExecBegin.append(self.firstExecBegin)
def __init__(self, session, showSteps=True, showStepSlider=True, showList=True, showConfig=True): Screen.__init__(self, session) self.isLastWizard = False # can be used to skip a "goodbye"-screen in a wizard self.stepHistory = [] self.wizard = {} parser = make_parser() if not isinstance(self.xmlfile, list): self.xmlfile = [self.xmlfile] print "Reading ", self.xmlfile wizardHandler = self.parseWizard(self.wizard) parser.setContentHandler(wizardHandler) for xmlfile in self.xmlfile: if xmlfile[0] != '/': parser.parse(eEnv.resolve('${datadir}/enigma2/') + xmlfile) else: parser.parse(xmlfile) self.showSteps = showSteps self.showStepSlider = showStepSlider self.showList = showList self.showConfig = showConfig self.numSteps = len(self.wizard) self.currStep = self.getStepWithID("start") + 1 self.timeoutTimer = eTimer() self.timeoutTimer.callback.append(self.timeoutCounterFired) self["text"] = Label() if showConfig: self["config"] = ConfigList([], session=session) if self.showSteps: self["step"] = Label() if self.showStepSlider: self["stepslider"] = Slider(1, self.numSteps) if self.showList: self.list = [] self["list"] = List(self.list, enableWrapAround=True) self["list"].onSelectionChanged.append(self.selChanged) #self["list"] = MenuList(self.list, enableWrapAround = True) self.onShown.append(self.updateValues) self.configInstance = None self.currentConfigIndex = None Wizard.instance = self self.lcdCallbacks = [] self.disableKeys = False self["actions"] = NumberActionMap( [ "WizardActions", "NumberActions", "ColorActions", "SetupActions", "InputAsciiActions", "KeyboardInputActions" ], { "gotAsciiCode": self.keyGotAscii, "ok": self.ok, "back": self.back, "left": self.left, "right": self.right, "up": self.up, "down": self.down, "red": self.red, "green": self.green, "yellow": self.yellow, "blue": self.blue, "deleteBackward": self.deleteBackward, "deleteForward": self.deleteForward, "1": self.keyNumberGlobal, "2": self.keyNumberGlobal, "3": self.keyNumberGlobal, "4": self.keyNumberGlobal, "5": self.keyNumberGlobal, "6": self.keyNumberGlobal, "7": self.keyNumberGlobal, "8": self.keyNumberGlobal, "9": self.keyNumberGlobal, "0": self.keyNumberGlobal }, -1) self["VirtualKB"] = NumberActionMap( ["VirtualKeyboardActions"], { "showVirtualKeyboard": self.KeyText, }, -2) self["VirtualKB"].setEnabled(False)
def __init__(self, session, showSteps=True, showStepSlider=True, showList=True, showConfig=True): Screen.__init__(self, session) self.isLastWizard = False self.stepHistory = [] self.wizard = {} parser = make_parser() if not isinstance(self.xmlfile, list): self.xmlfile = [self.xmlfile] wizardHandler = self.parseWizard(self.wizard) parser.setContentHandler(wizardHandler) for xmlfile in self.xmlfile: if xmlfile[0] != '/': parser.parse(eEnv.resolve('${datadir}/enigma2/') + xmlfile) else: parser.parse(xmlfile) self.showSteps = showSteps self.showStepSlider = showStepSlider self.showList = showList self.showConfig = showConfig self.numSteps = len(self.wizard) self.currStep = self.getStepWithID('start') + 1 self.timeoutTimer = eTimer() self.timeoutTimer.callback.append(self.timeoutCounterFired) self['text'] = Label() if showConfig: self['config'] = ConfigList([], session=session) if self.showSteps: self['step'] = Label() if self.showStepSlider: self['stepslider'] = Slider(1, self.numSteps) if self.showList: self.list = [] self['list'] = List(self.list, enableWrapAround=True) self['list'].onSelectionChanged.append(self.selChanged) self.onShown.append(self.updateValues) self.configInstance = None self.currentConfigIndex = None Wizard.instance = self self.lcdCallbacks = [] self.first = False self.disableKeys = False self['actions'] = NumberActionMap( [ 'WizardActions', 'DirectionActions', 'NumberActions', 'ColorActions', 'SetupActions', 'InputAsciiActions', 'KeyboardInputActions' ], { 'gotAsciiCode': self.keyGotAscii, 'ok': self.ok, 'back': self.back, 'left': self.left, 'right': self.right, 'up': self.up, 'down': self.down, 'red': self.red, 'green': self.green, 'yellow': self.yellow, 'blue': self.blue, 'deleteBackward': self.deleteBackward, 'deleteForward': self.deleteForward, '1': self.keyNumberGlobal, '2': self.keyNumberGlobal, '3': self.keyNumberGlobal, '4': self.keyNumberGlobal, '5': self.keyNumberGlobal, '6': self.keyNumberGlobal, '7': self.keyNumberGlobal, '8': self.keyNumberGlobal, '9': self.keyNumberGlobal, '0': self.keyNumberGlobal }, -1) self['VirtualKB'] = NumberActionMap( ['VirtualKeyboardActions'], {'showVirtualKeyboard': self.KeyText}, -2) self['VirtualKB'].setEnabled(False) return