From 7bb5894209190a2fa20c3899156a92a3313c884e Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 10 Oct 2008 20:15:43 +0000 Subject: 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 --- pym/portage/__init__.py | 5 ++++- pym/portage/exception.py | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'pym') 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""" -- cgit v1.2.3-1-g7c22