From c3f0895fb89c7b0647428de37eb0f893939d93f7 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 26 Jun 2011 17:16:07 -0700 Subject: Package: add use.expand/expand_hidden attributes This allows the merge list display to account for repository-level USE_EXPAND and USE_EXPAND_HIDDEN settings (see bug #370693). --- pym/_emerge/Package.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'pym/_emerge/Package.py') diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index 593e0d3eb..7a25638c8 100644 --- a/pym/_emerge/Package.py +++ b/pym/_emerge/Package.py @@ -389,10 +389,13 @@ class Package(Task): class _use_class(object): - __slots__ = ("enabled", "_force", "_pkg", "_mask") + __slots__ = ("enabled", "_expand", "_expand_hidden", + "_force", "_pkg", "_mask") def __init__(self, pkg, use_str): self._pkg = pkg + self._expand = None + self._expand_hidden = None self._force = None self._mask = None self.enabled = frozenset(use_str.split()) @@ -407,9 +410,25 @@ class Package(Task): def _init_force_mask(self): pkgsettings = self._pkg._get_pkgsettings() + self._expand = frozenset( + pkgsettings.get("USE_EXPAND", "").lower().split()) + self._expand_hidden = frozenset( + pkgsettings.get("USE_EXPAND_HIDDEN", "").lower().split()) self._force = pkgsettings.useforce self._mask = pkgsettings.usemask + @property + def expand(self): + if self._expand is None: + self._init_force_mask() + return self._expand + + @property + def expand_hidden(self): + if self._expand_hidden is None: + self._init_force_mask() + return self._expand_hidden + @property def force(self): if self._force is None: -- cgit v1.2.3-1-g7c22