summaryrefslogtreecommitdiffstats
path: root/pym/portage/versions.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-05-13 16:40:29 -0700
committerZac Medico <zmedico@gentoo.org>2012-05-13 16:40:29 -0700
commit528990c3279dcb2b37062f447cfda80730ead6b7 (patch)
tree9c6abe393792ac51cc14e17d0fcde6ff3e271518 /pym/portage/versions.py
parenta5152139f76cdf605a26aa286c8fa2383bef8738 (diff)
downloadportage-528990c3279dcb2b37062f447cfda80730ead6b7.tar.gz
portage-528990c3279dcb2b37062f447cfda80730ead6b7.tar.bz2
portage-528990c3279dcb2b37062f447cfda80730ead6b7.zip
_pkg_str: validate repo (move code from Package)
Diffstat (limited to 'pym/portage/versions.py')
-rw-r--r--pym/portage/versions.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/pym/portage/versions.py b/pym/portage/versions.py
index 298b7aaca..db14e9988 100644
--- a/pym/portage/versions.py
+++ b/pym/portage/versions.py
@@ -19,13 +19,16 @@ else:
import portage
portage.proxy.lazyimport.lazyimport(globals(),
- 'portage.util:cmp_sort_key'
+ 'portage.repository.config:_gen_valid_repo',
+ 'portage.util:cmp_sort_key',
)
from portage import _unicode_decode
from portage.eapi import eapi_allows_dots_in_PN
from portage.exception import InvalidData
from portage.localization import _
+_unknown_repo = "__unknown__"
+
# \w is [a-zA-Z0-9_]
# 2.1.1 A category name may contain any of the characters [A-Za-z0-9+_.-].
@@ -347,6 +350,9 @@ class _pkg_str(_unicode):
if slot is not None:
self.__dict__['slot'] = slot
if repo is not None:
+ repo = _gen_valid_repo(repo)
+ if not repo:
+ repo = _unknown_repo
self.__dict__['repo'] = repo
def __setattr__(self, name, value):