From 8f23cb8f32f8499575dc0629a8a83ddcf963d3c8 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 17 Nov 2012 09:31:53 -0800 Subject: Add Package.eapi property. --- pym/_emerge/Package.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'pym/_emerge/Package.py') diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index 1c1840836..4c47bca4d 100644 --- a/pym/_emerge/Package.py +++ b/pym/_emerge/Package.py @@ -56,7 +56,7 @@ class Package(Task): self.metadata = _PackageMetadataWrapper(self, self._raw_metadata) if not self.built: self.metadata['CHOST'] = self.root_config.settings.get('CHOST', '') - eapi_attrs = _get_eapi_attrs(self.metadata["EAPI"]) + eapi_attrs = _get_eapi_attrs(self.eapi) self.cpv = _pkg_str(self.cpv, metadata=self.metadata, settings=self.root_config.settings) if hasattr(self.cpv, 'slot_invalid'): @@ -78,7 +78,7 @@ class Package(Task): implicit_match = self.root_config.settings._iuse_implicit_match usealiases = self.root_config.settings._use_manager.getUseAliases(self) self.iuse = self._iuse(self, self.metadata["IUSE"].split(), implicit_match, - usealiases, self.metadata["EAPI"]) + usealiases, self.eapi) if (self.iuse.enabled or self.iuse.disabled) and \ not eapi_attrs.iuse_defaults: @@ -101,6 +101,10 @@ class Package(Task): type_name=self.type_name) self._hash_value = hash(self._hash_key) + @property + def eapi(self): + return self.metadata["EAPI"] + # For consistency with _pkg_str @property def _metadata(self): @@ -185,7 +189,7 @@ class Package(Task): is expensive for ebuilds and therefore we want to avoid doing in unnecessarily (like for masked packages). """ - eapi = self.metadata['EAPI'] + eapi = self.eapi dep_eapi = eapi dep_valid_flag = self.iuse.is_valid_flag if self.installed: @@ -286,7 +290,7 @@ class Package(Task): if not settings._accept_chost(self.cpv, self.metadata): masks['CHOST'] = self.metadata['CHOST'] - eapi = self.metadata["EAPI"] + eapi = self.eapi if not portage.eapi_is_supported(eapi): masks['EAPI.unsupported'] = eapi if portage._eapi_is_deprecated(eapi): @@ -472,7 +476,7 @@ class Package(Task): self._force = None self._mask = None enabled_flags = use_str.split() - if eapi_has_use_aliases(pkg.metadata["EAPI"]): + if eapi_has_use_aliases(pkg.eapi): for enabled_flag in enabled_flags: enabled_flags.extend(pkg.iuse.alias_mapping.get(enabled_flag, [])) self.enabled = frozenset(enabled_flags) -- cgit v1.2.3-1-g7c22