def __init__(self, session, args = 0): Screen.__init__(self, session) self.hardware_info = HardwareInfo() self.device=self.hardware_info.get_device_name() self.mac=getMacAddress() self.mac_end=self.mac[6:] self.dreamIRCconf = ConfigSubsection() self.reloadFile() list = [] list.append(getConfigListEntry(_('Nickname'), self.dreamIRCconf.nick)) if config.usage.setup_level.index > 1: # advanced list.append(getConfigListEntry(_('Passwd'), self.dreamIRCconf.passwd)) if config.usage.setup_level.index >= 1: # intermediate+ list.append(getConfigListEntry(_('Server1'), self.dreamIRCconf.server1)) if config.usage.setup_level.index > 1: # advanced list.append(getConfigListEntry(_('Server2'), self.dreamIRCconf.server2)) list.append(getConfigListEntry(_('Server3'), self.dreamIRCconf.server3)) if config.usage.setup_level.index >= 1: # intermediate+ list.append(getConfigListEntry(_('Port'), self.dreamIRCconf.port)) list.append(getConfigListEntry(_('Channel'), self.dreamIRCconf.channel)) if config.usage.setup_level.index > 1: # i list.append(getConfigListEntry(_('Debug'), self.dreamIRCconf.debug)) self["key_red"] = StaticText(_("Cancel")) self["key_green"] = StaticText(_("Save")) ConfigListScreen.__init__(self, list) self["actions"] = ActionMap(["OkCancelActions", "ColorActions"], { "green": self.saveAndExit, "red": self.dontSaveAndExit, "cancel": self.dontSaveAndExit }, -1)
def load(self): self.pipe=MessagePipe() self.status1=False self.status2=False self.status3=False self.hardware_info = HardwareInfo() self.device=self.hardware_info.get_device_name() self.mac=getMacAddress() self.mac_end=self.mac[6:] try: doc = xml.dom.minidom.parse(accounts_xml) root = doc.childNodes[0] for node in elementsWithTag(root.childNodes, "account"): self.type = node.getAttribute("type") self.login = node.getAttribute("login") self.nick = node.getAttribute("nick") if ((self.nick.lower() == "dreamircuser") or (self.nick == "") or (self.nick[0] == " ") or (self.nick.lower() == "dm8000-vip")) : print "[dreamIRC] nickname error... restoring default..." self.nick = self.device+"_"+self.mac_end self.passwd = node.getAttribute("passwd") self.server1 = node.getAttribute("server1") # atm only ip.. cause of probs with theads and dns.. self.server2 = node.getAttribute("server2") self.server3 = node.getAttribute("server3") self.port = node.getAttribute("port") self.channel = node.getAttribute("channel") self.debug = node.getAttribute("debug") # not used yet.. later will enable/disable console debug out.. except IOError: self.type = "IRC" self.login = "******" self.nick = self.device+"_"+self.mac_end self.passwd = "" self.server1 = "irc.freenet.de" self.server2 = "irc.freenet.de" self.server3 = "irc.tu-illmenau.de" self.port = "06667" self.channel = "#dreamirc" self.debug = "" self.server1 = self.server1.strip() self.server2 = self.server2.strip() self.server3 = self.server3.strip() if self.server3: try: self.result3=gethostbyname_ex(self.server3) if self.result3: for ip_tmp3 in self.result3[2]: self.ip=ip_tmp3 self.server=self.server3 self.status3=True except: print "unable to resolve hostname %s..." % self.server3 if self.server2: try: self.result2=gethostbyname_ex(self.server2) if self.result2: for ip_tmp2 in self.result2[2]: self.ip=ip_tmp2 self.server=self.server2 self.status2=True except: print "unable to resolve hostname %s..." % self.server2 if self.server1: try: self.result1=gethostbyname_ex(self.server1) if self.result1: for ip_tmp1 in self.result1[2]: self.ip=ip_tmp1 self.server=self.server1 self.status1=True except: print "unable to resolve hostname %s..." % self.server1 if self.status1==False and self.status2==False and self.status3==False: self.pipe.add("ERROR!!! no irc server was valid... please check settings...") return False else: print " account = type: %s login:%s nick:%s passwd:%s server:%s ip:%s port:%s channel:%s debug:%s " % (self.type, self.login, self.nick, self.passwd, self.server, self.ip, self.port, self.channel, self.debug) self.accounts=[ircsupport.IRCAccount(self.type, string.atoi(self.login), str(self.nick), str(self.passwd), str(self.ip), string.atoi(self.port), str(self.channel))] print self.accounts return self.accounts