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 1SdrCY-00021i-K6 for garchives@archives.gentoo.org; Sun, 10 Jun 2012 23:05:42 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9A81CE01A3; Sun, 10 Jun 2012 23:05:35 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 54C9EE01A3 for ; Sun, 10 Jun 2012 23:05:35 +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 91F251B403E for ; Sun, 10 Jun 2012 23:05:34 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 51F8DE542E for ; Sun, 10 Jun 2012 23:05:33 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1339369521.07fbd0a29455f2e74c66b37f30c62a7ddb0c5571.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/, pym/portage/dep/ X-VCS-Repository: proj/portage X-VCS-Files: pym/portage/dep/__init__.py pym/portage/eapi.py X-VCS-Directories: pym/portage/ pym/portage/dep/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 07fbd0a29455f2e74c66b37f30c62a7ddb0c5571 X-VCS-Branch: master Date: Sun, 10 Jun 2012 23:05:33 +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: 27972e0d-ce22-47b4-89ac-5e8d77d166ea X-Archives-Hash: 4595b669c1525d4ff79539155169a292 commit: 07fbd0a29455f2e74c66b37f30c62a7ddb0c5571 Author: Zac Medico gentoo org> AuthorDate: Sun Jun 10 23:05:21 2012 +0000 Commit: Zac Medico gentoo org> CommitDate: Sun Jun 10 23:05:21 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D07fbd0a2 _get_eapi_attrs: move to eapi module --- pym/portage/dep/__init__.py | 33 +-------------------------------- pym/portage/eapi.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 32 deletions(-) diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index d985486..6c2a3ad 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -27,7 +27,6 @@ __all__ =3D [ # "a? ( b? ( z ) ) -- Valid # =20 -import collections import re, sys import warnings from itertools import chain @@ -38,9 +37,7 @@ portage.proxy.lazyimport.lazyimport(globals(), ) =20 from portage import _unicode_decode -from portage.eapi import eapi_has_slot_deps, eapi_has_src_uri_arrows, \ - eapi_has_use_deps, eapi_has_strong_blocks, eapi_has_use_dep_defaults, \ - eapi_has_repo_deps, eapi_allows_dots_in_PN, eapi_allows_dots_in_use_fla= gs +from portage.eapi import eapi_has_src_uri_arrows, _get_eapi_attrs from portage.exception import InvalidAtom, InvalidData, InvalidDependStr= ing from portage.localization import _ from portage.versions import catpkgsplit, catsplit, \ @@ -72,34 +69,6 @@ _repo =3D r'(?:' + _repo_separator + '(' + _repo_name = + ')' + ')?' =20 _extended_cat =3D r'[\w+*][\w+.*-]*' =20 -_eapi_attrs =3D collections.namedtuple('_eapi_attrs', - 'dots_in_PN dots_in_use_flags repo_deps slot_deps ' - 'strong_blocks use_deps use_dep_defaults') - -_eapi_attrs_cache =3D {} - -def _get_eapi_attrs(eapi): - """ - When eapi is None then validation is not as strict, since we want the - same to work for multiple EAPIs that may have slightly different rules. - """ - eapi_attrs =3D _eapi_attrs_cache.get(eapi) - if eapi_attrs is not None: - return eapi_attrs - - eapi_attrs =3D _eapi_attrs( - dots_in_PN =3D (eapi is None or eapi_allows_dots_in_PN(eapi)), - dots_in_use_flags =3D (eapi is None or eapi_allows_dots_in_use_flags(e= api)), - repo_deps =3D (eapi is None or eapi_has_repo_deps(eapi)), - slot_deps =3D (eapi is None or eapi_has_slot_deps(eapi)), - strong_blocks =3D (eapi is None or eapi_has_strong_blocks(eapi)), - use_deps =3D (eapi is None or eapi_has_use_deps(eapi)), - use_dep_defaults =3D (eapi is None or eapi_has_use_dep_defaults(eapi)) - ) - - _eapi_attrs_cache[eapi] =3D eapi_attrs - return eapi_attrs - _atom_re_cache =3D {} =20 def _get_atom_re(eapi_attrs): diff --git a/pym/portage/eapi.py b/pym/portage/eapi.py index 79cf891..4dd02db 100644 --- a/pym/portage/eapi.py +++ b/pym/portage/eapi.py @@ -1,6 +1,8 @@ # Copyright 2010-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 =20 +import collections + def eapi_has_iuse_defaults(eapi): return eapi !=3D "0" =20 @@ -60,3 +62,31 @@ def eapi_allows_dots_in_PN(eapi): =20 def eapi_allows_dots_in_use_flags(eapi): return eapi in ("4-python",) + +_eapi_attrs =3D collections.namedtuple('_eapi_attrs', + 'dots_in_PN dots_in_use_flags repo_deps slot_deps ' + 'strong_blocks use_deps use_dep_defaults') + +_eapi_attrs_cache =3D {} + +def _get_eapi_attrs(eapi): + """ + When eapi is None then validation is not as strict, since we want the + same to work for multiple EAPIs that may have slightly different rules. + """ + eapi_attrs =3D _eapi_attrs_cache.get(eapi) + if eapi_attrs is not None: + return eapi_attrs + + eapi_attrs =3D _eapi_attrs( + dots_in_PN =3D (eapi is None or eapi_allows_dots_in_PN(eapi)), + dots_in_use_flags =3D (eapi is None or eapi_allows_dots_in_use_flags(e= api)), + repo_deps =3D (eapi is None or eapi_has_repo_deps(eapi)), + slot_deps =3D (eapi is None or eapi_has_slot_deps(eapi)), + strong_blocks =3D (eapi is None or eapi_has_strong_blocks(eapi)), + use_deps =3D (eapi is None or eapi_has_use_deps(eapi)), + use_dep_defaults =3D (eapi is None or eapi_has_use_dep_defaults(eapi)) + ) + + _eapi_attrs_cache[eapi] =3D eapi_attrs + return eapi_attrs