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 1QjovO-0001CB-AL for garchives@archives.gentoo.org; Thu, 21 Jul 2011 08:48:10 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D53C521C1BF; Thu, 21 Jul 2011 08:47:22 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 8DDBD21C195 for ; Thu, 21 Jul 2011 08:47:22 +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 041621B4039 for ; Thu, 21 Jul 2011 08:47:22 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 265228004C for ; Thu, 21 Jul 2011 08:47:21 +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: <96bb393a2f7a3cb334ad3e91ed7faeee620a7fae.mgorny@gentoo> Subject: [gentoo-commits] proj/gentoopm:master commit in: gentoopm/pkgcorepm/ X-VCS-Repository: proj/gentoopm X-VCS-Files: gentoopm/pkgcorepm/pkg.py gentoopm/pkgcorepm/repo.py X-VCS-Directories: gentoopm/pkgcorepm/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: 96bb393a2f7a3cb334ad3e91ed7faeee620a7fae Date: Thu, 21 Jul 2011 08:47:21 +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: 8ddc612abc92ddf25ddcf562a33d99d3 commit: 96bb393a2f7a3cb334ad3e91ed7faeee620a7fae Author: Micha=C5=82 G=C3=B3rny gentoo org> AuthorDate: Thu Jul 21 07:37:03 2011 +0000 Commit: Micha=C5=82 G=C3=B3rny gentoo org> CommitDate: Thu Jul 21 07:37:03 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoopm.git;= a=3Dcommit;h=3D96bb393a PkgCore: split out PkgCoreInstalledPackage class. --- gentoopm/pkgcorepm/pkg.py | 26 +++++++++++++++++++------- gentoopm/pkgcorepm/repo.py | 4 ++-- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/gentoopm/pkgcorepm/pkg.py b/gentoopm/pkgcorepm/pkg.py index e2c0288..c255914 100644 --- a/gentoopm/pkgcorepm/pkg.py +++ b/gentoopm/pkgcorepm/pkg.py @@ -4,7 +4,8 @@ # Released under the terms of the 2-clause BSD license. =20 from gentoopm.basepm.metadata import PMPackageMetadata -from gentoopm.basepm.pkg import PMPackage, PMPackageDescription +from gentoopm.basepm.pkg import PMPackage, PMPackageDescription, \ + PMInstalledPackage from gentoopm.basepm.pkgset import PMPackageSet, PMFilteredPackageSet from gentoopm.pkgcorepm.atom import PkgCoreAtom from gentoopm.util import SpaceSepTuple @@ -53,15 +54,10 @@ class PkgCorePackage(PMPackage, PkgCoreAtom): =20 @property def inherits(self): - # ebuilds use _eclasses_ - # vdb uses INHERITED try: l =3D self._pkg.data['_eclasses_'] except KeyError: - try: - l =3D self._pkg.data['INHERITED'] - except KeyError: - l =3D () + l =3D () =20 return SpaceSepTuple(l) =20 @@ -99,6 +95,22 @@ class PkgCorePackage(PMPackage, PkgCoreAtom): return self._pkg < other._pkg \ or other._repo_index < self._repo_index =20 +class PkgCoreInstalledPackage(PkgCorePackage, PMInstalledPackage): + @property + def inherits(self): + try: + l =3D self._pkg.data['INHERITED'] + except KeyError: + l =3D () + + return SpaceSepTuple(l) + + def __lt__(self, other): + if not isinstance(other, PkgCorePackage): + raise TypeError('Unable to compare %s against %s' % \ + (self, other)) + return self._pkg < other._pkg + class PkgCoreMetadata(PMPackageMetadata): def __init__(self, pkg): self._pkg =3D pkg diff --git a/gentoopm/pkgcorepm/repo.py b/gentoopm/pkgcorepm/repo.py index 9214c7c..1fc2d35 100644 --- a/gentoopm/pkgcorepm/repo.py +++ b/gentoopm/pkgcorepm/repo.py @@ -10,7 +10,7 @@ import pkgcore.restrictions.boolean as br from gentoopm.basepm.repo import PMRepository, PMRepositoryDict, \ PMEbuildRepository from gentoopm.pkgcorepm.pkg import PkgCorePackage, PkgCorePackageSet, \ - PkgCoreFilteredPackageSet + PkgCoreFilteredPackageSet, PkgCoreInstalledPackage from gentoopm.pkgcorepm.filter import transform_filters from gentoopm.util import FillMissingComparisons =20 @@ -95,4 +95,4 @@ class PkgCoreEbuildRepo(PkgCoreRepository, PMEbuildRepo= sitory, return other._index < self._index =20 class PkgCoreInstalledRepo(PkgCoreRepository): - _pkg_class =3D PkgCorePackage + _pkg_class =3D PkgCoreInstalledPackage