def environmentOptionIsDefault(self, environmentid, grpid): env = self._base.comps.environment_by_pattern(environmentid) if env is None: raise payload.NoSuchGroup(environmentid) # Look for a group in the optionlist that matches the group_id and has # default set return any(grp for grp in env.option_ids if grp.name == grpid and grp.default)
def environmentGroups(self, environmentid, optional=True): env = self._base.comps.environment_by_pattern(environmentid) if env is None: raise payload.NoSuchGroup(environmentid) group_ids = (id_.name for id_ in env.group_ids) option_ids = (id_.name for id_ in env.option_ids) if optional: return list(itertools.chain(group_ids, option_ids)) else: return list(group_ids)
def groupId(self, group_name): """Translate group name to group ID. :param group_name: Valid identifier for group specification. :returns: Group ID. :raise NoSuchGroup: If group_name doesn't exists. :raise PayloadError: When Yum's groups are not available. """ grp = self._base.comps.group_by_pattern(group_name) if grp is None: raise payload.NoSuchGroup(group_name) return grp.id
def _select_group(self, group_id, default=True, optional=False, required=False): grp = self._base.comps.group_by_pattern(group_id) if grp is None: raise payload.NoSuchGroup(group_id, required=required) types = {'mandatory'} if default: types.add('default') if optional: types.add('optional') try: self._base.group_install(grp.id, types) except dnf.exceptions.MarkingError as e: # dnf-1.1.9 raises this error when a package is missing from a group raise payload.NoSuchPackage(str(e), required=True) except dnf.exceptions.CompsError as e: # DNF raises this when it is already selected log.debug(e)
def groupDescription(self, grpid): """Return name/description tuple for the group specified by id.""" grp = self._base.comps.group_by_pattern(grpid) if grp is None: raise payload.NoSuchGroup(grpid) return (grp.ui_name, grp.ui_description)
def environmentHasOption(self, environmentid, grpid): env = self._base.comps.environment_by_pattern(environmentid) if env is None: raise payload.NoSuchGroup(environmentid) return grpid in (id_.name for id_ in env.option_ids)
def environmentId(self, environment): """Return environment id for the environment specified by id or name.""" env = self._base.comps.environment_by_pattern(environment) if env is None: raise payload.NoSuchGroup(environment) return env.id
def environmentDescription(self, environmentid): env = self._base.comps.environment_by_pattern(environmentid) if env is None: raise payload.NoSuchGroup(environmentid) return (env.ui_name, env.ui_description)
def _isGroupVisible(self, grpid): grp = self._base.comps.group_by_pattern(grpid) if grp is None: raise payload.NoSuchGroup(grpid) return grp.visible