diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-10-10 20:15:43 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-10-10 20:15:43 +0000 |
commit | 7bb5894209190a2fa20c3899156a92a3313c884e (patch) | |
tree | 8941d188aa9e664927099b54254d8b0ce4d98f2a | |
parent | 462b4508a6914422a98e43b67e5faf630eafb4e3 (diff) | |
download | portage-7bb5894209190a2fa20c3899156a92a3313c884e.tar.gz portage-7bb5894209190a2fa20c3899156a92a3313c884e.tar.bz2 portage-7bb5894209190a2fa20c3899156a92a3313c884e.zip |
Create a new AmbiguousPackageName exception to raise from
portage.cpv_expand(). It inherits from ValueError, for
backward compatibility with calling code that already
handles ValueError.
svn path=/main/trunk/; revision=11670
-rw-r--r-- | pym/portage/__init__.py | 5 | ||||
-rw-r--r-- | pym/portage/exception.py | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 38724fc45..dc21b10d5 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -6617,7 +6617,10 @@ def cpv_expand(mycpv, mydb=None, use_cache=1, settings=None): else: virtual_name_collision = True if not virtual_name_collision: - raise ValueError, matches + # AmbiguousPackageName inherits from ValueError, + # for backward compatibility with calling code + # that already handles ValueError. + raise portage.exception.AmbiguousPackageName(matches) elif matches: mykey=matches[0] diff --git a/pym/portage/exception.py b/pym/portage/exception.py index ff34993a6..6626fa3bf 100644 --- a/pym/portage/exception.py +++ b/pym/portage/exception.py @@ -67,6 +67,13 @@ class ReadOnlyFileSystem(PortageException): class CommandNotFound(PortageException): """A required binary was not available or executable""" +class AmbiguousPackageName(ValueError, PortageException): + """Raised by portage.cpv_expand() when the package name is ambiguous due + to the existence of multiple matches in different categories. This inherits + from ValueError, for backward compatibility with calling code that already + handles ValueError.""" + def __str__(self): + return ValueError.__str__(self) class PortagePackageException(PortageException): """Malformed or missing package data""" |