diff options
-rw-r--r-- | pym/portage/sets/files.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/pym/portage/sets/files.py b/pym/portage/sets/files.py index bf9f9e6e8..b03a60e9b 100644 --- a/pym/portage/sets/files.py +++ b/pym/portage/sets/files.py @@ -101,7 +101,10 @@ class StaticFileSet(EditablePackageSet): # look for repository path variables match = self._repopath_match.match(filename) if match: - filename = self._repopath_sub.sub(trees["porttree"].dbapi.treemap[match.groupdict()["reponame"]], filename) + try: + filename = self._repopath_sub.sub(trees["porttree"].dbapi.treemap[match.groupdict()["reponame"]], filename) + except KeyError: + raise SetConfigError("Could not find repository '%s'" % match.groupdict()["reponame"]) return StaticFileSet(filename, greedy=greedy, dbapi=trees["vartree"].dbapi) singleBuilder = classmethod(singleBuilder) @@ -115,7 +118,10 @@ class StaticFileSet(EditablePackageSet): # look for repository path variables match = self._repopath_match.match(directory) if match: - directory = self._repopath_sub.sub(trees["porttree"].dbapi.treemap[match.groupdict()["reponame"]], directory) + try: + directory = self._repopath_sub.sub(trees["porttree"].dbapi.treemap[match.groupdict()["reponame"]], directory) + except KeyError: + raise SetConfigError("Could not find repository '%s'" % match.groupdict()["reponame"]) if os.path.isdir(directory): for filename in os.listdir(directory): if filename.endswith(".metadata"): |