Example #1
0
	def gotPage(self, data):
		print "parsing.."
		
		new_items = [ ]
		
		dom = xml.dom.minidom.parseString(data)
		for r in elementsWithTag(dom.childNodes, "rss"):
			rss = r

		items = [ ]
		
		# RSS 1.0
		for item in elementsWithTag(r.childNodes, "item"):
			items.append(item)

		# RSS 2.0
		for channel in elementsWithTag(r.childNodes, "channel"):
			for item in elementsWithTag(channel.childNodes, "item"):
				items.append(item)

		for item in items:
			title = None
			link = ""
			enclosure = [ ]
			
			print "got item"

			for s in elementsWithTag(item.childNodes, lambda x: x in ["title", "link", "enclosure"]):
				if s.tagName == "title":
					title = mergeText(s.childNodes)
				elif s.tagName == "link":
					link = mergeText(s.childNodes)
				elif s.tagName == "enclosure":
					enclosure.append((s.getAttribute("url").encode("UTF-8"), s.getAttribute("type").encode("UTF-8")))

			print title, link, enclosure
			if title is None:
				continue

			rss_entry = (title.encode("UTF-8"), link.encode("UTF-8"), enclosure)

			self.history.insert(0, rss_entry)

			if link not in self.last_links:
				self.last_links.add(link)
				new_items.append(rss_entry)
				print "NEW", rss_entry[0], rss_entry[1]

		self.history = self.history[:self.MAX_HISTORY_ELEMENTS]
		
		if len(new_items):
			self.dialog = my_global_session.instantiateDialog(RSSDisplay, new_items)
			self.dialog.show()
			self.poll_timer.start(5000, 1)
		else:
			self.poll_timer.start(60000, 1)
Example #2
0
def debug():
    try:
        doc = xml.dom.minidom.parse(accounts_xml)
        root = doc.childNodes[0]
        for node in elementsWithTag(root.childNodes, "account"):
            debug = node.getAttribute("debug")
        if debug == "False":
            return False
        else:
            return True
    except IOError:
        return False
def debug():
	try:	
		doc = xml.dom.minidom.parse(accounts_xml)
		root = doc.childNodes[0]
		for node in elementsWithTag(root.childNodes, "account"):
			debug = node.getAttribute("debug")
		if debug=="False":
			return False
		else:	
			return True
	except IOError:
		return False
Example #4
0
    def reloadFile(self):
        try:
            doc = xml.dom.minidom.parse(accounts_xml)
            root = doc.childNodes[0]
            for node in elementsWithTag(root.childNodes, "account"):
                self.nick = node.getAttribute("nick")
                self.passwd = node.getAttribute("passwd")
                self.server1 = node.getAttribute("server1")
                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")
            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
        except IOError:
            self.type = "IRC"
            self.login = "******"
            self.nick = self.device + "_" + self.mac_end
            self.passwd = ""
            self.server1 = "irc.belwue.de"
            self.server2 = "irc.freenet.de"
            self.server3 = "irc.tu-illmenau.de"
            self.port = "06667"
            self.channel = "#dreamirc"
            self.debug = "False"

        if self.debug != "True" or self.debug != "False":
            self.debug = "False"
        self.dreamIRCconf.nick = ConfigText(default=self.nick,
                                            fixed_size=False)
        self.dreamIRCconf.passwd = ConfigText(default=self.passwd,
                                              fixed_size=False)
        self.dreamIRCconf.server1 = ConfigText(default=self.server1,
                                               fixed_size=False)
        self.dreamIRCconf.server2 = ConfigText(default=self.server2,
                                               fixed_size=False)
        self.dreamIRCconf.server3 = ConfigText(default=self.server3,
                                               fixed_size=False)
        self.dreamIRCconf.port = ConfigInteger(default=string.atoi(self.port),
                                               limits=(0, 99999))
        self.dreamIRCconf.channel = ConfigText(default=self.channel,
                                               fixed_size=False)
        self.dreamIRCconf.debug = ConfigSelection(default=self.debug,
                                                  choices=["False", "True"])
Example #5
0
    def reloadFile(self):
        try:
            doc = xml.dom.minidom.parse(accounts_xml)
            root = doc.childNodes[0]
            for node in elementsWithTag(root.childNodes, "account"):
                self.nick = node.getAttribute("nick")
                self.passwd = node.getAttribute("passwd")
                self.server1 = node.getAttribute("server1")
                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")

        except IOError:
            self.type = "IRC"
            self.login = "******"
            self.nick = model + "_" + self.mac_end
            self.passwd = ""
            self.server1 = "irc.freenode.net"
            self.server2 = ""
            self.server3 = ""
            self.port = "06667"
            self.channel = "#openvision"
            self.debug = "False"

        if self.debug != "True" or self.debug != "False":
            self.debug = "False"
        self.dreamIRCconf.nick = ConfigText(default=self.nick,
                                            fixed_size=False)
        self.dreamIRCconf.passwd = ConfigText(default=self.passwd,
                                              fixed_size=False)
        self.dreamIRCconf.server1 = ConfigText(default=self.server1,
                                               fixed_size=False)
        self.dreamIRCconf.server2 = ConfigText(default=self.server2,
                                               fixed_size=False)
        self.dreamIRCconf.server3 = ConfigText(default=self.server3,
                                               fixed_size=False)
        self.dreamIRCconf.port = ConfigInteger(default=string.atoi(self.port),
                                               limits=(0, 99999))
        self.dreamIRCconf.channel = ConfigText(default=self.channel,
                                               fixed_size=False)
        self.dreamIRCconf.debug = ConfigSelection(default=self.debug,
                                                  choices=["False", "True"])
	def reloadFile(self):
		try:
			doc = xml.dom.minidom.parse(accounts_xml)
			root = doc.childNodes[0]	
			for node in elementsWithTag(root.childNodes, "account"):
				self.nick = node.getAttribute("nick")
				self.passwd = node.getAttribute("passwd")
				self.server1 = node.getAttribute("server1")
				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")
			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
		except IOError:
			self.type = "IRC"
			self.login = "******"
			self.nick = self.device+"_"+self.mac_end
			self.passwd = ""
			self.server1 = "irc.belwue.de"
			self.server2 = "irc.freenet.de"
			self.server3 = "irc.tu-illmenau.de"
			self.port = "06667"
			self.channel = "#dreamirc"
			self.debug = "False"

		if self.debug != "True" or self.debug != "False":
			self.debug="False"	
		self.dreamIRCconf.nick = ConfigText(default = self.nick, fixed_size = False)
		self.dreamIRCconf.passwd = ConfigText(default = self.passwd, fixed_size = False)
		self.dreamIRCconf.server1 = ConfigText(default = self.server1, fixed_size = False)
		self.dreamIRCconf.server2 = ConfigText(default = self.server2, fixed_size = False)
		self.dreamIRCconf.server3 = ConfigText(default = self.server3, fixed_size = False)
		self.dreamIRCconf.port = ConfigInteger(default = string.atoi(self.port), limits = (0, 99999))
		self.dreamIRCconf.channel = ConfigText(default = self.channel, fixed_size = False)
		self.dreamIRCconf.debug = ConfigSelection(default=self.debug, choices = ["False","True"])
Example #7
0
	def channel(self):
			doc = xml.dom.minidom.parse(accounts_xml)
			root = doc.childNodes[0]
			for node in elementsWithTag(root.childNodes, "account"):
				self.channel = node.getAttribute("channel")
			return self.channel
Example #8
0
	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
Example #9
0
    def gotPage(self, data):
        print "parsing.."

        new_items = []

        dom = xml.dom.minidom.parseString(data)
        for r in elementsWithTag(dom.childNodes, "rss"):
            rss = r

        items = []

        # RSS 1.0
        for item in elementsWithTag(r.childNodes, "item"):
            items.append(item)

        # RSS 2.0
        for channel in elementsWithTag(r.childNodes, "channel"):
            for item in elementsWithTag(channel.childNodes, "item"):
                items.append(item)

        for item in items:
            title = None
            link = ""
            enclosure = []

            print "got item"

            for s in elementsWithTag(
                    item.childNodes,
                    lambda x: x in ["title", "link", "enclosure"]):
                if s.tagName == "title":
                    title = mergeText(s.childNodes)
                elif s.tagName == "link":
                    link = mergeText(s.childNodes)
                elif s.tagName == "enclosure":
                    enclosure.append((s.getAttribute("url").encode("UTF-8"),
                                      s.getAttribute("type").encode("UTF-8")))

            print title, link, enclosure
            if title is None:
                continue

            rss_entry = (title.encode("UTF-8"), link.encode("UTF-8"),
                         enclosure)

            self.history.insert(0, rss_entry)

            if link not in self.last_links:
                self.last_links.add(link)
                new_items.append(rss_entry)
                print "NEW", rss_entry[0], rss_entry[1]

        self.history = self.history[:self.MAX_HISTORY_ELEMENTS]

        if len(new_items):
            self.dialog = my_global_session.instantiateDialog(
                RSSDisplay, new_items)
            self.dialog.show()
            self.poll_timer.start(5000, 1)
        else:
            self.poll_timer.start(60000, 1)