Exemple #1
0
    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)
Exemple #2
0
 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)
Exemple #3
0
    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
Exemple #4
0
 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)
Exemple #5
0
 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)
Exemple #6
0
 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)
Exemple #7
0
 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
Exemple #8
0
 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)
Exemple #9
0
 def _isGroupVisible(self, grpid):
     grp = self._base.comps.group_by_pattern(grpid)
     if grp is None:
         raise payload.NoSuchGroup(grpid)
     return grp.visible