Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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()
Ejemplo n.º 3
0
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()