def actionFailedCallback(self, actionType, pkgName): '''Installing failed callback.''' if actionType == ACTION_INSTALL: if self.repoCache.cache.has_key(pkgName): # Update application information. appInfo = self.repoCache.cache[pkgName] appInfo.switchStatus(APP_STATE_NORMAL) # Update recommend view. recommendView = self.recommendPage.recommendView recommendView.initNormalStatus(pkgName, True) # Update repo view. repoView = self.repoPage.repoView repoView.initNormalStatus(pkgName, True, True) # Update detail view. for pageId in [PAGE_RECOMMEND, PAGE_REPO, PAGE_UPGRADE, PAGE_UNINSTALL]: if self.detailViewDict.has_key(pageId): detailView = self.detailViewDict[pageId] detailView.initNormalStatus(pkgName, True) elif pageId == PAGE_REPO and self.searchViewDict.has_key(pageId): searchView = self.searchViewDict[pageId].searchView searchView.initNormalStatus(pkgName, True, True) else: print "Impossible: %s not in RepoCache" % (pkgName) elif actionType == ACTION_UPGRADE: if self.repoCache.cache.has_key(pkgName): # Update application information. appInfo = self.repoCache.cache[pkgName] appInfo.switchStatus(APP_STATE_UPGRADE) # Update recommend view. recommendView = self.recommendPage.recommendView recommendView.switchToStatus(pkgName, APP_STATE_UPGRADE) # Update repo view. repoView = self.repoPage.repoView repoView.switchToStatus(pkgName, APP_STATE_UPGRADE, True) # Update update view. updateView = self.updatePage.updateView updateView.switchToStatus(pkgName, APP_STATE_UPGRADE, True) # Update detail view. for pageId in [PAGE_RECOMMEND, PAGE_REPO, PAGE_UPGRADE, PAGE_UNINSTALL]: if self.detailViewDict.has_key(pageId): detailView = self.detailViewDict[pageId] detailView.switchToStatus(pkgName, APP_STATE_UPGRADE) elif pageId == PAGE_REPO and self.searchViewDict.has_key(pageId): searchView = self.searchViewDict[pageId].searchView searchView.switchToStatus(pkgName, APP_STATE_UPGRADE, True) else: print "Impossible: %s not in RepoCache" % (pkgName) elif actionType == ACTION_UNINSTALL: if self.repoCache.cache.has_key(pkgName): # Update application information. appInfo = self.repoCache.cache[pkgName] appInfo.switchStatus(APP_STATE_INSTALLED) # Update uninstall view. uninstallView = self.uninstallPage.uninstallView uninstallView.initUninstallStatus(pkgName, True) # Update detail view. for pageId in [PAGE_RECOMMEND, PAGE_REPO, PAGE_UPGRADE, PAGE_UNINSTALL]: if self.detailViewDict.has_key(pageId): detailView = self.detailViewDict[pageId] detailView.initNormalStatus(pkgName, False) elif pageId == PAGE_UNINSTALL and self.searchViewDict.has_key(pageId): searchView = self.searchViewDict[pageId].searchView searchView.initUninstallStatus(pkgName, True) else: print "Impossible: %s not in RepoCache" % (pkgName)
def actionFinishCallback(self, actionType, pkgList): '''Installing finish callback.''' if actionType == ACTION_INSTALL: for (pkgName, isMarkDeleted) in pkgList: if self.repoCache.cache.has_key(pkgName): # Update application information. appInfo = self.repoCache.cache[pkgName] if isMarkDeleted: appInfo.switchStatus(APP_STATE_NORMAL) else: appInfo.switchStatus(APP_STATE_INSTALLED) # Update recommend view. recommendView = self.recommendPage.recommendView recommendView.initNormalStatus(pkgName, isMarkDeleted) # Update repo view. repoView = self.repoPage.repoView repoView.initNormalStatus(pkgName, isMarkDeleted, True) # Update detail view. for pageId in [PAGE_RECOMMEND, PAGE_REPO, PAGE_UPGRADE, PAGE_UNINSTALL]: if self.detailViewDict.has_key(pageId): detailView = self.detailViewDict[pageId] detailView.initNormalStatus(pkgName, isMarkDeleted) elif pageId == PAGE_REPO and self.searchViewDict.has_key(pageId): searchView = self.searchViewDict[pageId].searchView searchView.initNormalStatus(pkgName, isMarkDeleted, True) # Add in uninstall list. self.updateUninstallView(pkgName, not isMarkDeleted) else: print "Impossible: %s not in RepoCache" % (pkgName) elif actionType == ACTION_UPGRADE: for (pkgName, isMarkDeleted) in pkgList: if self.repoCache.cache.has_key(pkgName): # Update application information. appInfo = self.repoCache.cache[pkgName] if isMarkDeleted: appInfo.switchStatus(APP_STATE_NORMAL) else: appInfo.switchStatus(APP_STATE_INSTALLED) # Remove upgradabled packages. self.repoCache.removePkgFromUpgradableList(pkgName) # Update topbar. pkgNum = len(self.repoCache.upgradablePkgs) self.updatePage.topbar.updateNum(pkgNum) # Update update view. updateView = self.updatePage.updateView updateView.update(pkgNum) # Update notify number. self.navigatebar.updateIcon.queue_draw() # Update recommend view. recommendView = self.recommendPage.recommendView recommendView.initNormalStatus(pkgName, isMarkDeleted) # Update repo view. repoView = self.repoPage.repoView repoView.initNormalStatus(pkgName, isMarkDeleted, True) # Update detail view. for pageId in [PAGE_RECOMMEND, PAGE_REPO, PAGE_UPGRADE, PAGE_UNINSTALL]: if self.detailViewDict.has_key(pageId): detailView = self.detailViewDict[pageId] detailView.initNormalStatus(pkgName, isMarkDeleted) elif pageId == PAGE_REPO and self.searchViewDict.has_key(pageId): searchView = self.searchViewDict[pageId].searchView searchView.initNormalStatus(pkgName, isMarkDeleted, True) # Add in uninstall list. self.updateUninstallView(pkgName, not isMarkDeleted) else: print "Impossible: %s not in RepoCache" % (pkgName) elif actionType == ACTION_UNINSTALL: for (pkgName, isMarkDeleted) in pkgList: if self.repoCache.cache.has_key(pkgName): # Update application information. appInfo = self.repoCache.cache[pkgName] appInfo.switchStatus(APP_STATE_NORMAL) self.updateUninstallView(pkgName, False) # Update recommend view. recommendView = self.recommendPage.recommendView recommendView.initNormalStatus(pkgName, isMarkDeleted) # Update repo view. repoView = self.repoPage.repoView repoView.initNormalStatus(pkgName, isMarkDeleted, True) # Update detail view. for pageId in [PAGE_RECOMMEND, PAGE_REPO, PAGE_UPGRADE, PAGE_UNINSTALL]: if self.detailViewDict.has_key(pageId): detailView = self.detailViewDict[pageId] detailView.initNormalStatus(pkgName, isMarkDeleted) elif pageId == PAGE_UNINSTALL and self.searchViewDict.has_key(pageId): searchPage = self.searchViewDict[pageId] searchPage.update(pkgName) else: print "Impossible: %s not in RepoCache" % (pkgName)