예제 #1
0
	def install(self):
		if len(self.devices) == 0:
			return
			
		index = self["menu"].getIndex()
		if index == None:
			index = 0
		
		if len(self.devices[index].getPackage()) == 0 or smstack.checkIfPending(self.devices[index].getPackage()):
			return
			
		if fileExists("/usr/lib/opkg/info/%s.control" % self.devices[index].getPackage()):
			smstack.add(SMStack.REMOVE, self.devices[index].getPackage())
			self.devices[index].setStatus(2)
		else:
			smstack.add(SMStack.UPDATE, "")
			api = SAPCL()
			firmwares = api.getUsbFirmwares(self.devices[index].getPackage())
			for firmware in firmwares["firmwares"]:
				if not fileExists("/usr/lib/opkg/info/%s.control" % firmware["firmware-name"]):
					smstack.add(SMStack.INSTALL, firmware["firmware-name"])
			smstack.add(SMStack.INSTALL_WITH_REBOOT, self.devices[index].getPackage())
			self.devices[index].setStatus(3)
			
		self.drawList()
예제 #2
0
	def selectionChanged(self):
		if len(self.devices) == 0:
			return
			
		index = self["menu"].getIndex()
		if index == None:
			index = 0
		
		self.index = index
		
		if len(self.devices[index].getPackage()) == 0 or smstack.checkIfPending(self.devices[index].getPackage()):
			self["key_red"].setText("")
		elif fileExists("/usr/lib/opkg/info/%s.control" % self.devices[index].getPackage()):
			self["key_red"].setText(_("Remove"))
		else:
			self["key_red"].setText(_("Install"))
예제 #3
0
	def drawList(self):
		list = []
		count = 0
		for device in self.devices:
			if len(device.getPackage()) > 0:
				inprogress = smstack.checkIfPending(device.getPackage())
				if inprogress:
					list.append(TunerEntry(device.getDescription(), smstack.getMessage(device.getPackage()), False))
				else:
					installed = fileExists("/usr/lib/opkg/info/%s.control" % device.getPackage())
					if installed:
						info = device.getPackage() + " - installed"
					else:
						info = device.getPackage() + " - not installed"
					list.append(TunerEntry(device.getDescription(), info, installed))
			else:
				list.append(TunerEntry(device.getDescription(), "Driver not found", False))
				
			count += 1
			
		self["menu"].setList(list)
		self["menu"].setIndex(self.index)