diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-08-24 21:08:47 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-08-24 21:08:47 -0700 |
commit | 741093a384ff8256965ec4842664216cf911bcb5 (patch) | |
tree | e5d26f51a5454b8d5a7dafdc375076efa4de93e8 /pym/portage/versions.py | |
parent | c74972c6b1e30232ab961f0206cdee81b7e4c5f5 (diff) | |
download | portage-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.py | 13 |
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) |