def IpkgList_Finished(self, result, retval, extra_args = None):
		if result:
			self.packetlist = []
			last_name = ""
			for x in result.splitlines():
				if ' - ' in x:
					tokens = x.split(' - ')
					name = tokens[0].strip()
					if name and not any(name.endswith(x) for x in self.unwanted_extensions):
						l = len(tokens)
						version = l > 1 and tokens[1].strip() or ""
						descr = l > 2 and tokens[2].strip() or ""
						if name == last_name:
							continue
						last_name = name
						self.packetlist.append([name, version, descr])
				elif len(self.packetlist) > 0:
					# no ' - ' in the text, assume that this is the description
					# therefore add this text to the last packet description
					last_packet = self.packetlist[-1]
					last_packet[2] = last_packet[2] + x
					self.packetlist[:-1] + last_packet

		if not self.Console:
			self.Console = Console()
		cmd = self.ipkg.ipkg + " list_installed"
		self.Console.ePopen(cmd, self.IpkgListInstalled_Finished)