Ensure that Package.repo is always valid.
authorZac Medico <zmedico@gentoo.org>
Tue, 5 Oct 2010 22:14:10 +0000 (15:14 -0700)
committerZac Medico <zmedico@gentoo.org>
Tue, 5 Oct 2010 22:14:10 +0000 (15:14 -0700)
pym/_emerge/Package.py

index ae82c5246e4bf90e6ea03259f727e6138e472242..983a3bf9ad9179ab4b0428e2f66f7fb6efc98c89 100644 (file)
@@ -11,6 +11,7 @@ from portage.dep import Atom, check_required_use, use_reduce, \
        paren_enclose, _slot_re, _slot_separator, _repo_separator
 from portage.eapi import eapi_has_iuse_defaults, eapi_has_required_use
 from portage.exception import InvalidDependString
+from portage.repository.config import _gen_valid_repo
 from _emerge.Task import Task
 
 if sys.hexversion >= 0x3000000:
@@ -316,7 +317,9 @@ class Package(Task):
        @property
        def repo(self):
                if self._repo is None:
-                       self._repo = self.metadata['repository']
+                       self._repo = _gen_valid_repo(self.metadata['repository'])
+                       if not self._repo:
+                               self._repo = '__unknown__'
                return self._repo
 
        @property