def get_update_packages(): installPackages = [ #('ion-chefupdates', 'Ion Chef scripts'), ] contents = [] error = "" try: for name, description in installPackages: package, cache = get_apt_cache(name) availableVersions = package.versions.keys() installableVersions = [version for version in availableVersions if version != package.installed.version] if installableVersions or package.is_upgradable: contents.append({ 'name': name, 'description': description, 'currentVersion': package.installed.version, 'candidateVersion': package.candidate.version, 'availableVersions': availableVersions, 'upgradable': package.is_upgradable }) except Exception as err: logger.error(traceback.format_exc()) error = err return {"packageContents": contents, "error": error}
def get_update_packages(): installPackages = settings.SUPPORTED_INSTALL_PACKAGES contents = [] error = "" try: for name, description in installPackages: package, cache = get_apt_cache(name) current_version = None if package.installed: current_version = package.installed.version if not current_version or current_version not in package.candidate.version: availableVersions = package.versions.keys() if not current_version: installableVersions = [version for version in availableVersions] else: installableVersions = [version for version in availableVersions if StrictVersion(version) > StrictVersion(current_version)] if installableVersions or package.is_upgradable: contents.append({ 'name': name, 'description': description, 'currentVersion': current_version, 'candidateVersion': package.candidate.version, 'availableVersions': installableVersions, 'upgradable': package.is_upgradable }) except Exception as err: logger.error(traceback.format_exc()) error = err return {"packageContents": contents, "error": error}