aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harder <radhermit@gmail.com>2015-11-21 17:28:18 -0500
committerTim Harder <radhermit@gmail.com>2015-11-21 17:28:18 -0500
commit0de9dbd6cb74e7be52d1e17695098fcf1683bc97 (patch)
treea079f330947d7be234e9f0c3be5d441c6ee778a4
parentebuild/cpv: use more descriptive strings for InvalidCPV exceptions (diff)
downloadpkgcore-0de9dbd6cb74e7be52d1e17695098fcf1683bc97.tar.gz
pkgcore-0de9dbd6cb74e7be52d1e17695098fcf1683bc97.tar.bz2
pkgcore-0de9dbd6cb74e7be52d1e17695098fcf1683bc97.zip
ebuild/errors: improve malformed atom exception string output
Fixes #141.
-rw-r--r--pkgcore/ebuild/errors.py6
-rw-r--r--pkgcore/util/parserestrict.py1
2 files changed, 5 insertions, 2 deletions
diff --git a/pkgcore/ebuild/errors.py b/pkgcore/ebuild/errors.py
index 26269baea..209bd39fc 100644
--- a/pkgcore/ebuild/errors.py
+++ b/pkgcore/ebuild/errors.py
@@ -17,9 +17,11 @@ class MalformedAtom(errors.InvalidDependency):
def __init__(self, atom, err=''):
err = ': ' + err if err else ''
- errors.InvalidDependency.__init__(
- self, "atom '%s' is malformed%s" % (atom, err))
self.atom, self.err = atom, err
+ errors.InvalidDependency.__init__(self, str(self))
+
+ def __str__(self):
+ return "invalid package atom: '%s'%s" % (self.atom, self.err)
class InvalidVersion(errors.InvalidDependency):
diff --git a/pkgcore/util/parserestrict.py b/pkgcore/util/parserestrict.py
index e0996b0fb..9c05140ee 100644
--- a/pkgcore/util/parserestrict.py
+++ b/pkgcore/util/parserestrict.py
@@ -124,6 +124,7 @@ def parse_match(text):
atom.atom("%scategory/%s" % (ops, text)).restrictions,
attrs=("category",), invert=True))
except errors.MalformedAtom as e:
+ e.atom = orig_text
raise_from(ParseError(str(e)))
if len(r) == 1:
return r[0]