pkgcore.repository.multiplex module

repository that combines multiple repos together

class pkgcore.repository.multiplex.operations(repository, disable_overrides=(), enable_overrides=())[source]

Bases: operations_proxy

enabled_operations
ops_stop_after_first_supported = frozenset({'install', 'replace', 'uninstall'})
raw_operations
class pkgcore.repository.multiplex.tree(*trees, repos=())[source]

Bases: tree

Repository combining multiple repos together.

Args:

trees (list): pkgcore.repository.prototype.tree instances

Attributes:
frozen_settable (bool): controls whether frozen is able to be set

on initialization

operations_kls: callable to generate a repo operations instance

trees (list): pkgcore.repository.prototype.tree instances

property frozen

bool: Repository mutability status.

frozen_settable = False
itermatch(restrict, **kwds)[source]

Generator that yields packages match a restriction.

Parameters:
  • restrict (pkgcore.restrictions.packages.PackageRestriction instance.) – restriction to search via

  • sorter – callable to do sorting during searching- if sorting the results, use this instead of sorting externally.

  • pkg_filter – callable to do package filtering

  • versioned – boolean controlling returning versioned or unversioned pkgs

  • raw_pkg_cls – custom package class to use for generating raw pkg instances

  • pkg_cls – custom package class to override raw pkg instances with

  • yield_none – if True then itermatch will yield None for every non-matching package. This is meant for use in combination with C{twisted.task.cooperate} or other async uses where itermatch should not wait many (wallclock) seconds between yielding packages. If you override this method you should yield None in long-running loops, strictly calling it for every package is not necessary.

property location
operations_kls

alias of operations

path_restrict(path)[source]

Create a package restriction from a given path within a repo.

Args:

path (str): file path, usually to an ebuild or binpkg

Returns:

package restriction

Raises:
ValueError: path doesn’t conform to correct repo layout

format or isn’t within the repo

property pkg_masks

frozenset() -> empty frozenset object frozenset(iterable) -> frozenset object

Build an immutable unordered collection of unique elements.

pkgcore_config_type = <pkgcore.config.hint.ConfigHint object>