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.77) (envelope-from ) id 1SmAKc-0000el-U9 for garchives@archives.gentoo.org; Tue, 03 Jul 2012 21:08:23 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id DEC60E0691; Tue, 3 Jul 2012 21:08:14 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 9CD64E062B for ; Tue, 3 Jul 2012 21:08:14 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B80BF1B405E for ; Tue, 3 Jul 2012 21:08:13 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 54ABAE543E for ; Tue, 3 Jul 2012 21:08:11 +0000 (UTC) From: "Slava Bacherikov" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Slava Bacherikov" Message-ID: <1341321881.3b7a2bbd26ad71e907244095d35f2ba173eca70b.bacher09@gentoo> Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/libs/package_info/package_backends/ X-VCS-Repository: proj/gentoo-packages X-VCS-Files: gpackages/apps/packages/models.py gpackages/libs/package_info/package_backends/pkgcore.py gpackages/libs/package_info/package_backends/portage.py X-VCS-Directories: gpackages/apps/packages/ gpackages/libs/package_info/package_backends/ X-VCS-Committer: bacher09 X-VCS-Committer-Name: Slava Bacherikov X-VCS-Revision: 3b7a2bbd26ad71e907244095d35f2ba173eca70b X-VCS-Branch: master Date: Tue, 3 Jul 2012 21:08:11 +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: 63c9a19b-c749-4498-b441-3aa2f0f62c2c X-Archives-Hash: 0f211f1ef2daff6fdfeb0d62d6c5ab70 commit: 3b7a2bbd26ad71e907244095d35f2ba173eca70b Author: Slava Bacherikov bacher09 org> AuthorDate: Tue Jul 3 13:17:50 2012 +0000 Commit: Slava Bacherikov bacherikov org ua> CommitDate: Tue Jul 3 13:24:41 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoo-packag= es.git;a=3Dcommit;h=3D3b7a2bbd Code refactoring --- gpackages/apps/packages/models.py | 9 +++++- .../libs/package_info/package_backends/pkgcore.py | 24 ++++++++++++++= +---- .../libs/package_info/package_backends/portage.py | 11 ++++++-- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/= models.py index 98abc79..064add4 100644 --- a/gpackages/apps/packages/models.py +++ b/gpackages/apps/packages/models.py @@ -494,11 +494,16 @@ class EbuildModel(AbstractDateTimeModel): =20 @property def fullversion(self): - return '%s%s' % (self.version, ('-'+ self.revision_str if self.= revision else '')) + rev_p =3D '-'+ self.revision_str if self.revision else '' + return '%s%s' % (self.version, rev_p) =20 def get_keywords(self, arch_list): keywords_dict =3D self.get_keywords_dict(arch_list) - return (KeywordRepr(arch, keywords_dict[arch], self.is_hard_mask= ed) for arch in arch_list) + l =3D [] + for arch in arch_list: + l.append( + KeywordRepr(arch, keywords_dict[arch], self.is_hard_mask= ed)) + return l =20 def get_keywords_dict(self, arch_list): arch_set =3D set(arch_list) diff --git a/gpackages/libs/package_info/package_backends/pkgcore.py b/gp= ackages/libs/package_info/package_backends/pkgcore.py index 5b053aa..9a17208 100644 --- a/gpackages/libs/package_info/package_backends/pkgcore.py +++ b/gpackages/libs/package_info/package_backends/pkgcore.py @@ -4,6 +4,7 @@ from pkgcore.config import load_config from pkgcore.ebuild.repository import UnconfiguredTree, SlavedTree from pkgcore.util.repo_utils import get_raw_repos, get_virtual_repos from pkgcore.ebuild.atom import atom +from pkgcore.ebuild.domain import generate_unmasking_restrict =20 #Mixins from ..mixins import PortageMixin, PortTreeMixin, CategoryMixin, Package= Mixin, \ @@ -27,6 +28,7 @@ class Portage(PortageMixin): raise ValueError("Bad domain name - '%s'" % domain_name) finally: self._domain =3D domain + self._mask =3D generate_unmasking_restrict(domain.profile.ma= sks) =20 def _get_repos(self): repo_dict =3D {} @@ -42,7 +44,7 @@ class Portage(PortageMixin): =20 def iter_trees(self): for tree in self.repo_list: - yield PortTree(tree) + yield PortTree(tree, self) =20 def get_tree_by_name(self, tree_name): if tree_name in self.repo_dict: @@ -50,15 +52,19 @@ class Portage(PortageMixin): else: raise ValueError =20 + def is_masked(self, ebuild): + return self._mask.match(ebuild) + def __unicode__(self): return u'pkgcore' =20 class PortTree(PortTreeMixin): =20 - def __init__(self, repo_obj): + def __init__(self, repo_obj, porttree): self._repo_obj =3D repo_obj self.name =3D repo_obj.repo_id self.categories =3D sorted(repo_obj.categories) + self.porttree =3D porttree =20 def iter_categories(self): for category in self.categories: @@ -95,7 +101,7 @@ class Category(CategoryMixin): @property def category_path(self): "Full path to category" - return os.path.join(self._repo_obj.porttree_path, self.name) + return os.path.join(self.porttree_path, self.name) =20 def _get_packages_names(self): return self._repo_obj._packages[self.name] @@ -103,6 +109,14 @@ class Category(CategoryMixin): def _get_ebuilds_names_by_name(self, package_name): return self._repo_obj._versions[(self.name, package_name)] =20 + @property + def porttree_name(self): + return self._repo_obj.name + + @property + def porttree_path(self): + return self._repo_obj.porttree_path + class Package(PackageMixin): =20 __slots__ =3D ('name', 'category_obj') @@ -177,7 +191,7 @@ class Ebuild(EbuildMixin): =20 cpv =3D ebuild_prop('cpvstr') =20 - # Need changes !!! @property def is_hard_masked(self): - return False + return self.package_obj.category_obj._repo_obj. \ + porttree.is_masked(self._ebuild) diff --git a/gpackages/libs/package_info/package_backends/portage.py b/gp= ackages/libs/package_info/package_backends/portage.py index d821e9e..4721d19 100644 --- a/gpackages/libs/package_info/package_backends/portage.py +++ b/gpackages/libs/package_info/package_backends/portage.py @@ -107,6 +107,10 @@ class Category(CategoryMixin): def porttree_path(self): return self.porttree.porttree =20 + @property + def porttree_name(self): + return self.porttree.name + class Package(PackageMixin): "Represent package as object" =20 @@ -127,7 +131,7 @@ class Package(PackageMixin): =20 @property def package_path(self): - return os.path.join(self.category.porttree.porttree_path, self.p= ackage) + return os.path.join(self.category.porttree_path, self.package) =20 @property def cp(self): @@ -141,7 +145,8 @@ class Package(PackageMixin): class Ebuild(EbuildMixin): "Represent ebuild as object" =20 - __slots__ =3D ('package', 'ebuild', 'cpv_object', '_cache', '_env', = '_is_valid') + __slots__ =3D ('package', 'ebuild', 'cpv_object', '_cache', '_env', + '_is_valid') ENV_VARS =3D PORTDB._aux_cache_keys =20 def __init__(self, package, ebuild): @@ -230,7 +235,7 @@ class Ebuild(EbuildMixin): reas, in_file =3D portage.getmaskingreason(self.cpv, metadata =3D self._env, return_location=3DTrue, - myrepo =3D self.package= .category.porttree.name) + myrepo =3D self.package.category.porttr= ee_name) if in_file is None: return None elif in_file.startswith('/etc/portage/'):