def __init__(self, session, categories): Screen.__init__(self, session) self.session = session self.sifapi = SAPCL() self.categories = categories self.upgrades = [] self.updating = True self.showall = False self.cachelist = [] self.listindex = 0 self['list'] = List([]) self["list"].onSelectionChanged.append(self.selectionChanged) self["key_green"] = Button(_("Feeds")) self["key_red"] = Button("") self["key_blue"] = Button(_("Status")) self["key_yellow"] = Button(_("All")) self["actions"] = ActionMap( ["OkCancelActions", "ColorActions"], { "blue": self.status, "cancel": self.quit, "ok": self.ok, "yellow": self.toggleShowAll, "green": self.feeds, "red": self.upgrade }, -2) self.renderList() smstack.add(SMStack.UPDATE, "", self.updateCallback)
def install(self): if smstack.checkIfPending(self.package["package"]): return if fileExists("/var/lib/opkg/info/%s.control" % self.package["package"]): smstack.add(SMStack.REMOVE, self.package["package"]) else: smstack.add(SMStack.INSTALL, self.package["package"]) self.renderInfo()
def ok(self): if self["filelist"].canDescent(): # isDir self["filelist"].descent() self.setTitle("%s - %s" % ("Software Manager - File Browser", self["filelist"].getCurrentDirectory())) else: filename = self["filelist"].getCurrentDirectory() + '/' + self["filelist"].getFilename() if filename[-3:] == "ipk": smstack.add(SMStack.INSTALL, filename) self.session.open(SMStatus) self.close() else: self.filename = filename self.session.openWithCallback(self.tgzexit, ExtraActionBox, "Deflating %s to /" % self["filelist"].getFilename(), "Install from tar.gz", self.tgz)
def install(self): if len(self.cachelist) == 0: return index = self["list"].getIndex() if index == None: index = 0 if smstack.checkIfPending(self.packages["packages"][index]["package"]): return if fileExists("/var/lib/opkg/info/%s.control" % self.packages["packages"][index]["package"]): smstack.add(SMStack.REMOVE, self.packages["packages"][index]["package"]) else: smstack.add(SMStack.INSTALL, self.packages["packages"][index]["package"]) self.renderList()
def upgrade(self): smstack.add(SMStack.UPGRADE, "") self.session.open(SMStatus)
def download(self): smstack.add(SMStack.DOWNLOAD, self.package["package"]) self.renderInfo()
def doAutomaticSoftwareUpdates(): if len(smstack.upgradables) > 0: smstack.add(SMStack.UPGRADE, "auto")
def startAutomaticSoftwareUpdates(session, id, arg): if config.sifteam.cloud.softwareupdates.value: smstack.add(SMStack.UPDATE, "", doAutomaticSoftwareUpdates)