def _list(json_, app_id, package_name): """List installed apps :param json_: output json if True :type json_: bool :param app_id: App ID of app to show :type app_id: str :param package_name: The package to show :type package_name: str :returns: process return code :rtype: int """ package_manager = _get_package_manager() if app_id is not None: app_id = util.normalize_app_id(app_id) results = package.installed_packages(package_manager, app_id, package_name) # only emit those packages that match the provided package_name and app_id if results or json_: emitting.publish_table(emitter, results, tables.package_table, json_) else: msg = ("There are currently no installed packages. " "Please use `dcos package install` to install a package.") raise DCOSException(msg) return 0
def _list(json_, app_id, package_name): """List installed apps :param json_: output json if True :type json_: bool :param app_id: App ID of app to show :type app_id: str :param package_name: The package to show :type package_name: str :returns: process return code :rtype: int """ package_manager = _get_package_manager() if app_id is not None: app_id = util.normalize_app_id(app_id) results = package.installed_packages( package_manager, app_id, package_name) # only emit those packages that match the provided package_name and app_id if results or json_: emitting.publish_table(emitter, results, tables.package_table, json_) else: msg = ("There are currently no installed packages. " "Please use `dcos package install` to install a package.") raise DCOSException(msg) return 0
def uninstall(pkg, package_name, remove_all, app_id, cli, app): """Uninstalls a package. :param pkg: package manager to uninstall with :type pkg: PackageManager :param package_name: The package to uninstall :type package_name: str :param remove_all: Whether to remove all instances of the named app :type remove_all: boolean :param app_id: App ID of the app instance to uninstall :type app_id: str :param init_client: The program to use to run the app :type init_client: object :rtype: None """ if cli is False and app is False: cli = app = True uninstalled = False installed = installed_packages(pkg, app_id, package_name) installed_cli = next( (True for installed_pkg in installed if installed_pkg.get("command")), False) installed_app = next( (True for installed_pkg in installed if installed_pkg.get("apps")), False) if cli and installed_cli: if subcommand.uninstall(package_name): uninstalled = True if app and installed_app: if pkg.uninstall_app(package_name, remove_all, app_id): uninstalled = True if uninstalled: return None else: msg = 'Package [{}]'.format(package_name) if app_id is not None: app_id = util.normalize_app_id(app_id) msg += " with id [{}]".format(app_id) msg += " is not installed" raise DCOSException(msg)
def uninstall(pkg, package_name, remove_all, app_id, cli, app): """Uninstalls a package. :param pkg: package manager to uninstall with :type pkg: PackageManager :param package_name: The package to uninstall :type package_name: str :param remove_all: Whether to remove all instances of the named app :type remove_all: boolean :param app_id: App ID of the app instance to uninstall :type app_id: str :param init_client: The program to use to run the app :type init_client: object :rtype: None """ if cli is False and app is False: cli = app = True uninstalled = False installed = installed_packages(pkg, app_id, package_name) installed_cli = next((True for installed_pkg in installed if installed_pkg.get("command")), False) installed_app = next((True for installed_pkg in installed if installed_pkg.get("apps")), False) if cli and installed_cli: if subcommand.uninstall(package_name): uninstalled = True if app and installed_app: if pkg.uninstall_app(package_name, remove_all, app_id): uninstalled = True if uninstalled: return None else: msg = 'Package [{}]'.format(package_name) if app_id is not None: app_id = util.normalize_app_id(app_id) msg += " with id [{}]".format(app_id) msg += " is not installed" raise DCOSException(msg)