summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/sets/files.py10
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"):