From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Qlnxj-0007vL-5k for garchives@archives.gentoo.org; Tue, 26 Jul 2011 20:10:43 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 64A9921C240; Tue, 26 Jul 2011 20:10:30 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 271AC21C15F for ; Tue, 26 Jul 2011 20:10:30 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 8DF212AC020 for ; Tue, 26 Jul 2011 20:10:29 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id E51868003F for ; Tue, 26 Jul 2011 20:10:28 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <79f2892a3b8bbf34a177c96483e88ae60202ca80.mgorny@gentoo> Subject: [gentoo-commits] proj/gentoopm:master commit in: gentoopm/portagepm/, gentoopm/pkgcorepm/, gentoopm/paludispm/ X-VCS-Repository: proj/gentoopm X-VCS-Files: gentoopm/paludispm/pkg.py gentoopm/pkgcorepm/pkg.py gentoopm/portagepm/pkg.py X-VCS-Directories: gentoopm/portagepm/ gentoopm/pkgcorepm/ gentoopm/paludispm/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: 79f2892a3b8bbf34a177c96483e88ae60202ca80 Date: Tue, 26 Jul 2011 20:10:28 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 323bda14e0f0b4a4d5ec4ebdb1d8ffef commit: 79f2892a3b8bbf34a177c96483e88ae60202ca80 Author: Micha=C5=82 G=C3=B3rny gentoo org> AuthorDate: Tue Jul 26 19:50:02 2011 +0000 Commit: Micha=C5=82 G=C3=B3rny gentoo org> CommitDate: Tue Jul 26 19:50:02 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoopm.git;= a=3Dcommit;h=3D79f2892a Support getting IUSE in all PMs. --- gentoopm/paludispm/pkg.py | 10 +++++++++- gentoopm/pkgcorepm/pkg.py | 9 ++++++++- gentoopm/portagepm/pkg.py | 10 +++++++++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/gentoopm/paludispm/pkg.py b/gentoopm/paludispm/pkg.py index 08398ae..7ad3e61 100644 --- a/gentoopm/paludispm/pkg.py +++ b/gentoopm/paludispm/pkg.py @@ -8,7 +8,7 @@ import paludis from gentoopm.basepm.metadata import PMPackageMetadata from gentoopm.basepm.pkg import PMPackage, PMPackageDescription, \ PMInstallablePackage, PMInstalledPackage, PMBoundPackageKey, \ - PMPackageState + PMPackageState, PMUseFlag from gentoopm.paludispm.atom import PaludisAtom, \ PaludisPackageKey, PaludisPackageVersion from gentoopm.paludispm.contents import PaludisPackageContents @@ -39,6 +39,9 @@ class PaludisPackageDescription(PMPackageDescription): k =3D self._pkg.long_description_key() return k.parse_value() if k is not None else None =20 +class PaludisUseFlag(PMUseFlag): + pass + class PaludisID(PMPackage, PaludisAtom): def __init__(self, pkg, env): self._pkg =3D pkg @@ -114,6 +117,11 @@ class PaludisID(PMPackage, PaludisAtom): self) =20 @property + def use(self): + iuse =3D self._pkg.find_metadata('IUSE').parse_value() + return SpaceSepTuple([PaludisUseFlag(x) for x in iuse]) + + @property def _atom(self): return self._pkg.uniquely_identifying_spec() =20 diff --git a/gentoopm/pkgcorepm/pkg.py b/gentoopm/pkgcorepm/pkg.py index d49dc51..819aa4b 100644 --- a/gentoopm/pkgcorepm/pkg.py +++ b/gentoopm/pkgcorepm/pkg.py @@ -6,7 +6,7 @@ from gentoopm.basepm.metadata import PMPackageMetadata from gentoopm.basepm.pkg import PMPackage, PMPackageDescription, \ PMInstalledPackage, PMInstallablePackage, PMBoundPackageKey, \ - PMPackageState + PMPackageState, PMUseFlag from gentoopm.basepm.pkgset import PMPackageSet, PMFilteredPackageSet from gentoopm.pkgcorepm.atom import PkgCoreAtom, PkgCorePackageKey from gentoopm.pkgcorepm.contents import PkgCorePackageContents @@ -45,6 +45,9 @@ class PkgCorePackageDescription(PMPackageDescription): else: # vdb, for example return None =20 +class PkgCoreUseFlag(PMUseFlag): + pass + class PkgCorePackage(PMPackage, PkgCoreAtom): def __init__(self, pkg, repo_index =3D 0): self._pkg =3D pkg @@ -71,6 +74,10 @@ class PkgCorePackage(PMPackage, PkgCoreAtom): return SpaceSepTuple(self._pkg.homepage) =20 @property + def use(self): + return SpaceSepTuple([PkgCoreUseFlag(x) for x in self._pkg.iuse]) + + @property def slotted(self): return PkgCoreAtom(self._pkg.slotted_atom) =20 diff --git a/gentoopm/portagepm/pkg.py b/gentoopm/portagepm/pkg.py index 9922af3..39e4a59 100644 --- a/gentoopm/portagepm/pkg.py +++ b/gentoopm/portagepm/pkg.py @@ -8,7 +8,7 @@ from portage.versions import cpv_getkey, cpv_getversion, = vercmp from gentoopm.basepm.metadata import PMPackageMetadata from gentoopm.basepm.pkg import PMPackage, PMPackageDescription, \ PMInstalledPackage, PMInstallablePackage, PMBoundPackageKey, \ - PMPackageState + PMPackageState, PMUseFlag from gentoopm.basepm.pkgset import PMPackageSet, PMFilteredPackageSet from gentoopm.portagepm.atom import PortageAtom, CompletePortageAtom, \ PortagePackageKey, PortagePackageVersion, _get_atom @@ -55,6 +55,9 @@ class PortagePackageDescription(PMPackageDescription): """ return None # XXX =20 +class PortageUseFlag(PMUseFlag): + pass + class PortageDBCPV(PMPackage, CompletePortageAtom): def __init__(self, cpv, dbapi): self._cpv =3D cpv @@ -106,6 +109,11 @@ class PortageDBCPV(PMPackage, CompletePortageAtom): raise None =20 @property + def use(self): + return SpaceSepTuple([PortageUseFlag(x) for x \ + in self._aux_get('IUSE').split()]) + + @property def slotted(self): cp =3D str(self.key) slot =3D self.slot