From c0af31c9f216c86719486a8568aa07e6f32e4fc8 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 10 Jun 2012 22:32:24 -0700 Subject: Package: move SLOT validation to _pkg_str --- pym/portage/versions.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'pym/portage/versions.py') diff --git a/pym/portage/versions.py b/pym/portage/versions.py index a838800cb..a1ded6771 100644 --- a/pym/portage/versions.py +++ b/pym/portage/versions.py @@ -19,6 +19,7 @@ else: import portage portage.proxy.lazyimport.lazyimport(globals(), + 'portage.dep:_get_slot_re', 'portage.repository.config:_gen_valid_repo', 'portage.util:cmp_sort_key', ) @@ -355,7 +356,14 @@ class _pkg_str(_unicode): # for match_from_list introspection self.__dict__['cpv'] = self if slot is not None: - self.__dict__['slot'] = slot + slot_match = _get_slot_re(_get_eapi_attrs(eapi)).match(slot) + if slot_match is None: + # Avoid an InvalidAtom exception when creating SLOT atoms + self.__dict__['slot'] = '0' + self.__dict__['slot_invalid'] = slot + else: + self.__dict__['slot'] = slot + if repo is not None: repo = _gen_valid_repo(repo) if not repo: -- cgit v1.2.3-1-g7c22