diff options
Diffstat (limited to 'pym/_emerge')
-rw-r--r-- | pym/_emerge/create_world_atom.py | 17 | ||||
-rw-r--r-- | pym/_emerge/depgraph.py | 4 |
2 files changed, 15 insertions, 6 deletions
diff --git a/pym/_emerge/create_world_atom.py b/pym/_emerge/create_world_atom.py index 3e05c6d74..ac994cc04 100644 --- a/pym/_emerge/create_world_atom.py +++ b/pym/_emerge/create_world_atom.py @@ -1,7 +1,15 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 +import sys + from portage.dep import _repo_separator +from portage.exception import InvalidData + +if sys.hexversion >= 0x3000000: + _unicode = str +else: + _unicode = unicode def create_world_atom(pkg, args_set, root_config): """Create a new atom for the world file if one does not exist. If the @@ -35,8 +43,8 @@ def create_world_atom(pkg, args_set, root_config): for cpv in portdb.match(cp): for repo in repos: try: - available_slots.add(portdb._pkg_str(cpv, repo).slot) - except KeyError: + available_slots.add(portdb._pkg_str(_unicode(cpv), repo).slot) + except (KeyError, InvalidData): pass slotted = len(available_slots) > 1 or \ @@ -87,8 +95,9 @@ def create_world_atom(pkg, args_set, root_config): for cpv in matches: for repo in repos: try: - matched_slots.add(portdb._pkg_str(cpv, repo).slot) - except KeyError: + matched_slots.add( + portdb._pkg_str(_unicode(cpv), repo).slot) + except (KeyError, InvalidData): pass if len(matched_slots) == 1: diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index ef31d58d1..0722fac78 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -25,7 +25,7 @@ from portage.dep import Atom, best_match_to_list, extract_affecting_use, \ from portage.dep._slot_operator import ignore_built_slot_operator_deps from portage.eapi import eapi_has_strong_blocks, eapi_has_required_use, \ _get_eapi_attrs -from portage.exception import (InvalidAtom, InvalidDependString, +from portage.exception import (InvalidAtom, InvalidData, InvalidDependString, PackageNotFound, PortageException) from portage.output import colorize, create_color_func, \ darkgreen, green @@ -3832,7 +3832,7 @@ class depgraph(object): other_db._pkg_str(_unicode(cpv), None).slot: slot_available = True break - except KeyError: + except (KeyError, InvalidData): pass if not slot_available: continue |