diff options
author | Tim Harder <radhermit@gmail.com> | 2015-11-21 17:28:18 -0500 |
---|---|---|
committer | Tim Harder <radhermit@gmail.com> | 2015-11-21 17:28:18 -0500 |
commit | 0de9dbd6cb74e7be52d1e17695098fcf1683bc97 (patch) | |
tree | a079f330947d7be234e9f0c3be5d441c6ee778a4 | |
parent | ebuild/cpv: use more descriptive strings for InvalidCPV exceptions (diff) | |
download | pkgcore-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.py | 6 | ||||
-rw-r--r-- | pkgcore/util/parserestrict.py | 1 |
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] |