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()
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"))
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)