summaryrefslogtreecommitdiffstats
path: root/pym/portage/versions.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-08-24 21:08:47 -0700
committerZac Medico <zmedico@gentoo.org>2012-08-24 21:08:47 -0700
commit741093a384ff8256965ec4842664216cf911bcb5 (patch)
treee5d26f51a5454b8d5a7dafdc375076efa4de93e8 /pym/portage/versions.py
parentc74972c6b1e30232ab961f0206cdee81b7e4c5f5 (diff)
downloadportage-741093a384ff8256965ec4842664216cf911bcb5.tar.gz
portage-741093a384ff8256965ec4842664216cf911bcb5.tar.bz2
portage-741093a384ff8256965ec4842664216cf911bcb5.zip
_pkg_str: pass in config + metadata with KEYWORDS
This will be needed in order to support stable use.mask/force for bug #431078.
Diffstat (limited to 'pym/portage/versions.py')
-rw-r--r--pym/portage/versions.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/pym/portage/versions.py b/pym/portage/versions.py
index 27947532b..36eb8ac21 100644
--- a/pym/portage/versions.py
+++ b/pym/portage/versions.py
@@ -337,14 +337,23 @@ class _pkg_str(_unicode):
manually convert them to a plain unicode object first.
"""
- def __new__(cls, cpv, slot=None, repo=None, eapi=None):
+ def __new__(cls, cpv, metadata=None, settings=None, eapi=None,
+ repo=None, slot=None):
return _unicode.__new__(cls, cpv)
- def __init__(self, cpv, slot=None, repo=None, eapi=None):
+ def __init__(self, cpv, metadata=None, settings=None, eapi=None,
+ repo=None, slot=None):
if not isinstance(cpv, _unicode):
# Avoid TypeError from _unicode.__init__ with PyPy.
cpv = _unicode_decode(cpv)
_unicode.__init__(cpv)
+ if metadata is not None:
+ self.__dict__['_metadata'] = metadata
+ slot = metadata.get('SLOT', slot)
+ repo = metadata.get('repository', repo)
+ eapi = metadata.get('EAPI', eapi)
+ if settings is not None:
+ self.__dict__['_settings'] = settings
if eapi is not None:
self.__dict__['eapi'] = eapi
self.__dict__['cpv_split'] = catpkgsplit(cpv, eapi=eapi)