class OscamServerEntryConfigScreen(Screen, ConfigListScreen): w = getDesktop(0).size().width() if w >= 1920: skin = '\n\t\t\t<screen flags="wfNoBorder" position="%d,0" size="800,%d" name="OscamServerEntryConfigScreen" >\n\t\t\t\t<widget render="Label" source="title" position="20,60" size="600,39" valign="center" zPosition="5" transparent="0" foregroundColor="#fcc000" font="Regular;33"/>\n\t\t\t\t<widget name="config" position="20,110" size="760,800" scrollbarMode="showOnDemand" font="Regular;28" itemHeight="32" />\n\t\t\t\t<eLabel text="" position="20,900" size="800,4" transparent="0" backgroundColor="#ffffff" />\n\t\t\t\t<ePixmap name="ButtonRed" pixmap="skin_default/buttons/red.png" position="20,930" size="210,60" zPosition="4" transparent="1" alphatest="on"/>\n\t\t\t\t<widget render="Label" source= "ButtonRedtext" position="20,930" size="210,60" valign="center" halign="center" zPosition="5" transparent="1" foregroundColor="white" font="Regular;28"/>\n\t\t\t\t<ePixmap name="ButtonGreen" pixmap="skin_default/buttons/key_green.png" position="240,930" size="210,60" zPosition="4" transparent="1" alphatest="on"/>\n\t\t\t\t<widget render="Label" source= "ButtonGreentext" position="240,930" size="210,60" valign="center" halign="center" zPosition="5" transparent="1" foregroundColor="white" font="Regular;28"/>\n\t\t\t</screen>' % dlg_xh(800) else: skin = '\n\t\t\t<screen flags="wfNoBorder" position="%d,0" size="440,%d" name="OscamServerEntryConfigScreen" >\n\t\t\t\t<widget render="Label" source="title" position="20,80" size="400,26" valign="center" zPosition="5" transparent="0" foregroundColor="#fcc000" font="Regular;22"/>\n\t\t\t\t<widget name="config" position="20,130" size="400,200" scrollbarMode="showOnDemand" />\n\t\t\t\t<eLabel text="" position="20,450" size="400,2" transparent="0" backgroundColor="#ffffff" />\n\t\t\t\t<ePixmap name="ButtonRed" pixmap="skin_default/buttons/red.png" position="20,460" size="140,40" zPosition="4" transparent="1" alphatest="on"/>\n\t\t\t\t<widget render="Label" source= "ButtonRedtext" position="20,460" size="140,40" valign="center" halign="center" zPosition="5" transparent="1" foregroundColor="white" font="Regular;18"/>\n\t\t\t\t<ePixmap name="ButtonGreen" pixmap="skin_default/buttons/key_green.png" position="160,460" size="140,40" zPosition="4" transparent="1" alphatest="on"/>\n\t\t\t\t<widget render="Label" source= "ButtonGreentext" position="160,460" size="140,40" valign="center" halign="center" zPosition="5" transparent="1" foregroundColor="white" font="Regular;18"/>\n\t\t\t</screen>' % dlg_xh(440) def __init__(self, session, entry, index): self.skin = OscamServerEntryConfigScreen.skin self.session = session Screen.__init__(self, session) if entry == None: entry = oscamServer() self.index = index serverIP = self.isIPaddress(entry.serverIP) if serverIP and config.plugins.OscamStatus.useIP.value: self.isIP = True else: self.isIP = False serverPort = int(entry.serverPort) self.serverNameConfigEntry = NoSave(ConfigText(default=entry.serverName, fixed_size=False, visible_width=20)) if self.isIP: self.serverIPConfigEntry = NoSave(ConfigIP(default=serverIP, auto_jump=True)) else: self.serverIPConfigEntry = NoSave(ConfigText(default=entry.serverIP, fixed_size=False, visible_width=20)) self.serverIPConfigEntry.setUseableChars(u'1234567890aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ.-_') self.portConfigEntry = NoSave(ConfigInteger(default=serverPort, limits=(0, 65536))) self.usernameConfigEntry = NoSave(ConfigText(default=entry.username, fixed_size=False, visible_width=20)) self.passwordConfigEntry = NoSave(ConfigPassword(default=entry.password, fixed_size=False)) self.useSSLConfigEntry = NoSave(ConfigYesNo(entry.useSSL)) ConfigListScreen.__init__(self, [], session=session) self.createSetup() self['title'] = StaticText(_('Oscam Server Setup')) self['ButtonRedtext'] = StaticText(_('return')) self['ButtonGreentext'] = StaticText(_('save')) self['actions'] = ActionMap(['OkCancelActions', 'ColorActions'], {'red': self.Close, 'green': self.Save, 'cancel': self.Close}, -1) self.onLayoutFinish.append(self.LayoutFinished) return def LayoutFinished(self): x, h = dlg_xh(self.instance.size().width()) self.instance.move(ePoint(x, 0)) def createSetup(self): self.list = [] self.list.append(getConfigListEntry(_('Oscam Server Name'), self.serverNameConfigEntry)) self.list.append(getConfigListEntry(_('Oscam Server Address'), self.serverIPConfigEntry)) self.list.append(getConfigListEntry(_('Port'), self.portConfigEntry)) self.list.append(getConfigListEntry(_('Username (httpuser)'), self.usernameConfigEntry)) self.list.append(getConfigListEntry(_('Password (httppwd)'), self.passwordConfigEntry)) self.list.append(getConfigListEntry(_('use SSL'), self.useSSLConfigEntry)) self['config'].setList(self.list) def isIPaddress(self, txt): theIP = txt.split('.') if len(theIP) != 4: return False serverIP = [] for x in theIP: try: serverIP.append(int(x)) except: return False return serverIP def Close(self): self.close() def Save(self): entry = oscamServer() entry.username = self.usernameConfigEntry.value entry.password = self.passwordConfigEntry.value entry.serverName = self.serverNameConfigEntry.value if self.isIP: entry.serverIP = '%d.%d.%d.%d' % tuple(self.serverIPConfigEntry.value) else: entry.serverIP = self.serverIPConfigEntry.value entry.serverPort = str(self.portConfigEntry.value) entry.useSSL = self.useSSLConfigEntry.value oscamServers = readCFG() if self.index == -1: oscamServers.append(entry) else: oscamServers[self.index] = entry writeCFG(oscamServers) self.close() def createSummary(self): return OscamLCDScreen
class OscamServerEntryConfigScreen(Screen, ConfigListScreen): skin = """ <screen flags="wfNoBorder" position="%d,0" size="440,%d" name="OscamServerEntryConfigScreen" > <widget render="Label" source="title" position="20,80" size="400,26" valign="center" zPosition="5" transparent="0" foregroundColor="#fcc000" font="Regular;22"/> <widget name="config" position="20,130" size="400,200" scrollbarMode="showOnDemand" /> <eLabel text="" position="20,450" size="400,2" transparent="0" backgroundColor="#ffffff" /> <ePixmap name="ButtonRed" pixmap="skin_default/buttons/red.png" position="20,460" size="140,40" zPosition="4" transparent="1" alphatest="on"/> <widget render="Label" source= "ButtonRedtext" position="20,460" size="140,40" valign="center" halign="center" zPosition="5" transparent="1" foregroundColor="white" font="Regular;18"/> <ePixmap name="ButtonGreen" pixmap="skin_default/buttons/green.png" position="160,460" size="140,40" zPosition="4" transparent="1" alphatest="on"/> <widget render="Label" source= "ButtonGreentext" position="160,460" size="140,40" valign="center" halign="center" zPosition="5" transparent="1" foregroundColor="white" font="Regular;18"/> </screen>""" % (dlg_xh(440)) def __init__(self, session, entry, index): self.skin = OscamServerEntryConfigScreen.skin self.session = session Screen.__init__(self, session) if entry == None: entry = oscamServer() self.index = index # Server Adresse IP-Format oder TextFormat? serverIP = self.isIPaddress(entry.serverIP) if serverIP and config.plugins.OscamStatus.useIP.value: self.isIP = True else: self.isIP = False serverPort = int(entry.serverPort) self.serverNameConfigEntry = NoSave( ConfigText(default=entry.serverName, fixed_size=False, visible_width=20)) if self.isIP: self.serverIPConfigEntry = NoSave( ConfigIP(default=serverIP, auto_jump=True)) else: self.serverIPConfigEntry = NoSave( ConfigText(default=entry.serverIP, fixed_size=False, visible_width=20)) self.serverIPConfigEntry.setUseableChars( u'1234567890aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ.-_' ) self.portConfigEntry = NoSave( ConfigInteger(default=serverPort, limits=(0, 65536))) self.usernameConfigEntry = NoSave( ConfigText(default=entry.username, fixed_size=False, visible_width=20)) self.passwordConfigEntry = NoSave( ConfigPassword(default=entry.password, fixed_size=False)) self.useSSLConfigEntry = NoSave(ConfigYesNo(entry.useSSL)) ConfigListScreen.__init__(self, [], session=session) self.createSetup() self["title"] = StaticText(_("Oscam Server Setup")) self["ButtonRedtext"] = StaticText(_("return")) self["ButtonGreentext"] = StaticText(_("save")) self["actions"] = ActionMap(["OkCancelActions", "ColorActions"], { "red": self.Close, "green": self.Save, "cancel": self.Close }, -1) self.onLayoutFinish.append(self.LayoutFinished) def LayoutFinished(self): x, h = dlg_xh(self.instance.size().width()) self.instance.move(ePoint(x, 0)) def createSetup(self): self.list = [] self.list.append( getConfigListEntry(_("Oscam Server Name"), self.serverNameConfigEntry)) self.list.append( getConfigListEntry(_("Oscam Server Address"), self.serverIPConfigEntry)) self.list.append(getConfigListEntry(_("Port"), self.portConfigEntry)) self.list.append( getConfigListEntry(_("Username (httpuser)"), self.usernameConfigEntry)) self.list.append( getConfigListEntry(_("Password (httppwd)"), self.passwordConfigEntry)) self.list.append( getConfigListEntry(_("use SSL"), self.useSSLConfigEntry)) self["config"].setList(self.list) def isIPaddress(self, txt): theIP = txt.split('.') if len(theIP) != 4: return False serverIP = [] for x in theIP: try: serverIP.append(int(x)) except: return False return serverIP def Close(self): self.close() def Save(self): entry = oscamServer() entry.username = self.usernameConfigEntry.value entry.password = self.passwordConfigEntry.value entry.serverName = self.serverNameConfigEntry.value if self.isIP: entry.serverIP = "%d.%d.%d.%d" % tuple( self.serverIPConfigEntry.value) else: entry.serverIP = self.serverIPConfigEntry.value entry.serverPort = str(self.portConfigEntry.value) entry.useSSL = self.useSSLConfigEntry.value oscamServers = readCFG() if self.index == -1: oscamServers.append(entry) else: oscamServers[self.index] = entry writeCFG(oscamServers) self.close()
class OscamServerEntryConfigScreen(Screen, ConfigListScreen): skin = """ <screen flags="wfNoBorder" position="%d,0" size="440,%d" name="OscamServerEntryConfigScreen" > <widget render="Label" source="title" position="20,80" size="400,26" valign="center" zPosition="5" transparent="0" foregroundColor="#fcc000" font="Regular;22"/> <widget name="config" position="20,130" size="400,200" scrollbarMode="showOnDemand" /> <eLabel text="" position="20,450" size="400,2" transparent="0" backgroundColor="#ffffff" /> <ePixmap name="ButtonRed" pixmap="skin_default/buttons/red.png" position="20,460" size="140,40" zPosition="4" transparent="1" alphatest="on"/> <widget render="Label" source= "ButtonRedtext" position="20,460" size="140,40" valign="center" halign="center" zPosition="5" transparent="1" foregroundColor="white" font="Regular;18"/> <ePixmap name="ButtonGreen" pixmap="skin_default/buttons/green.png" position="160,460" size="140,40" zPosition="4" transparent="1" alphatest="on"/> <widget render="Label" source= "ButtonGreentext" position="160,460" size="140,40" valign="center" halign="center" zPosition="5" transparent="1" foregroundColor="white" font="Regular;18"/> </screen>""" % (dlg_xh(440)) def __init__(self, session, entry, index): self.skin = OscamServerEntryConfigScreen.skin self.session = session Screen.__init__(self, session) if entry == None: entry = oscamServer() self.index = index # Server Adresse IP-Format oder TextFormat? serverIP = self.isIPaddress(entry.serverIP) if serverIP and config.plugins.OscamStatus.useIP.value: self.isIP = True else: self.isIP = False serverPort = int(entry.serverPort) self.serverNameConfigEntry = NoSave(ConfigText(default = entry.serverName, fixed_size = False, visible_width=20)) if self.isIP: self.serverIPConfigEntry = NoSave(ConfigIP( default = serverIP, auto_jump=True)) else: self.serverIPConfigEntry = NoSave(ConfigText(default = entry.serverIP, fixed_size = False, visible_width=20)) self.serverIPConfigEntry.setUseableChars(u'1234567890aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ.-_') self.portConfigEntry = NoSave(ConfigInteger(default = serverPort, limits=(0,65536))) self.usernameConfigEntry = NoSave(ConfigText(default = entry.username, fixed_size = False, visible_width=20)) self.passwordConfigEntry = NoSave(ConfigPassword(default = entry.password, fixed_size = False)) self.useSSLConfigEntry = NoSave(ConfigYesNo(entry.useSSL)) ConfigListScreen.__init__(self, [], session = session) self.createSetup() self["title"] = StaticText(_("Oscam Server Setup")) self["ButtonRedtext"] = StaticText(_("return")) self["ButtonGreentext"] = StaticText(_("save")) self["actions"] = ActionMap(["OkCancelActions", "ColorActions"], { "red": self.Close, "green": self.Save, "cancel": self.Close }, -1) self.onLayoutFinish.append(self.LayoutFinished) def LayoutFinished(self): x,h = dlg_xh(self.instance.size().width()) self.instance.move(ePoint(x, 0)) def createSetup(self): self.list = [] self.list.append(getConfigListEntry(_("Oscam Server Name"), self.serverNameConfigEntry)) self.list.append(getConfigListEntry(_("Oscam Server Address"), self.serverIPConfigEntry)) self.list.append(getConfigListEntry(_("Port"), self.portConfigEntry)) self.list.append(getConfigListEntry(_("Username (httpuser)"), self.usernameConfigEntry)) self.list.append(getConfigListEntry(_("Password (httppwd)"), self.passwordConfigEntry)) self.list.append(getConfigListEntry(_("use SSL"), self.useSSLConfigEntry)) self["config"].setList(self.list) def isIPaddress(self, txt): theIP = txt.split('.') if len(theIP) != 4: return False serverIP = [] for x in theIP: try: serverIP.append(int(x)) except: return False return serverIP def Close(self): self.close() def Save(self): entry = oscamServer() entry.username = self.usernameConfigEntry.value entry.password = self.passwordConfigEntry.value entry.serverName = self.serverNameConfigEntry.value if self.isIP: entry.serverIP = "%d.%d.%d.%d" % tuple(self.serverIPConfigEntry.value) else: entry.serverIP = self.serverIPConfigEntry.value entry.serverPort = str(self.portConfigEntry.value) entry.useSSL = self.useSSLConfigEntry.value oscamServers = readCFG() if self.index == -1: oscamServers.append(entry) else: oscamServers[self.index] = entry writeCFG(oscamServers) self.close()