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 1QmWfX-0004yA-Rc for garchives@archives.gentoo.org; Thu, 28 Jul 2011 19:54:56 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 94C0121C426; Thu, 28 Jul 2011 19:54:48 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 56B8321C426 for ; Thu, 28 Jul 2011 19:54:48 +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 C781B1BC016 for ; Thu, 28 Jul 2011 19:54:47 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id CD22580042 for ; Thu, 28 Jul 2011 19:54:46 +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: Subject: [gentoo-commits] proj/gentoopm:master commit in: gentoopm/paludispm/ X-VCS-Repository: proj/gentoopm X-VCS-Files: gentoopm/paludispm/pkg.py X-VCS-Directories: gentoopm/paludispm/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: aba8a872b2e4c22ff726409ce6ca01162185cd1c Date: Thu, 28 Jul 2011 19:54:46 +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: b40695fb8a531b85577b3518ff90060c commit: aba8a872b2e4c22ff726409ce6ca01162185cd1c Author: Micha=C5=82 G=C3=B3rny gentoo org> AuthorDate: Thu Jul 28 19:55:21 2011 +0000 Commit: Micha=C5=82 G=C3=B3rny gentoo org> CommitDate: Thu Jul 28 19:55:21 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoopm.git;= a=3Dcommit;h=3Daba8a872 Paludis: use helper function for metadata gets. This should fix issues with empty *DEPEND as well. --- gentoopm/paludispm/pkg.py | 45 ++++++++++++++++++++++++---------------= ------ 1 files changed, 24 insertions(+), 21 deletions(-) diff --git a/gentoopm/paludispm/pkg.py b/gentoopm/paludispm/pkg.py index 151cd92..368344c 100644 --- a/gentoopm/paludispm/pkg.py +++ b/gentoopm/paludispm/pkg.py @@ -74,10 +74,16 @@ class PaludisID(PMPackage, PaludisAtom): def version(self): return PaludisPackageVersion(self._pkg.version) =20 + def _get_meta(self, key): + if isinstance(key, str): + key =3D self._pkg.find_metadata(key) + if key is None: + return () + return key.parse_value() + @property def eapi(self): - k =3D self._pkg.find_metadata('EAPI') - return str(k.parse_value()) + return str(self._get_meta('EAPI')) =20 @property def description(self): @@ -85,35 +91,30 @@ class PaludisID(PMPackage, PaludisAtom): =20 @property def inherits(self): - k =3D self._pkg.find_metadata('INHERITED') - if k is None: - return SpaceSepFrozenSet(()) - return SpaceSepFrozenSet(k.parse_value()) + return SpaceSepFrozenSet(self._get_meta('INHERITED')) =20 @property def defined_phases(self): - k =3D self._pkg.find_metadata('DEFINED_PHASES') - if k is None: + ret =3D SpaceSepFrozenSet(self._get_meta('DEFINED_PHASES')) + if not ret: return None - ret =3D SpaceSepFrozenSet(k.parse_value()) - if ret =3D=3D ('-',): + elif ret =3D=3D ('-',): return SpaceSepFrozenSet(()) return ret =20 @property def homepages(self): - spec =3D self._pkg.homepage_key().parse_value() + spec =3D self._get_meta(self._pkg.homepage_key()) return SpaceSepTuple([str(x) for x in spec]) =20 @property def keywords(self): - kws =3D self._pkg.keywords_key().parse_value() + kws =3D self._get_meta(self._pkg.keywords_key()) return SpaceSepFrozenSet([str(x) for x in kws]) =20 @property def slot(self): - k =3D self._pkg.slot_key() - return str(k.parse_value()) + return str(self._get_meta(self._pkg.slot_key())) =20 @property def repository(self): @@ -122,19 +123,19 @@ class PaludisID(PMPackage, PaludisAtom): @property def build_dependencies(self): return PaludisPackageDepSet( - self._pkg.build_dependencies_key().parse_value(), + self._get_meta(self._pkg.build_dependencies_key()), self) =20 @property def run_dependencies(self): return PaludisPackageDepSet( - self._pkg.run_dependencies_key().parse_value(), + self._get_meta(self._pkg.run_dependencies_key()), self) =20 @property def post_dependencies(self): return PaludisPackageDepSet( - self._pkg.post_dependencies_key().parse_value(), + self._get_meta(self._pkg.post_dependencies_key()), self) =20 @property @@ -142,12 +143,13 @@ class PaludisID(PMPackage, PaludisAtom): k =3D self._pkg.find_metadata('REQUIRED_USE') if k is None: return None - return PaludisPackageDepSet(k.parse_value(), self, - PMRequiredUseAtom) + return PaludisPackageDepSet( + self._get_meta('REQUIRED_USE'), + self, PMRequiredUseAtom) =20 @property def use(self): - iuse =3D self._pkg.find_metadata('IUSE').parse_value() + iuse =3D self._get_meta('IUSE') return SpaceSepFrozenSet([PaludisUseFlag(x) for x in iuse]) =20 @property @@ -172,7 +174,8 @@ class PaludisInstallableID(PaludisID, PMInstallablePa= ckage): class PaludisInstalledID(PaludisID, PMInstalledPackage): @property def contents(self): - return PaludisPackageContents(self._pkg.contents_key().parse_value()) + return PaludisPackageContents( + self._get_meta(self._pkg.contents_key())) =20 class PaludisMetadata(PMPackageMetadata): def __init__(self, pkg):