From 0b7ccc4b7aeb1a45d5f9993a0708b541775b08b8 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Mon, 5 Nov 2012 21:23:06 +0100 Subject: [PATCH] handle one more error in cythonize() when ignore-failures mode is requested --- Cython/Build/Dependencies.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Cython/Build/Dependencies.py b/Cython/Build/Dependencies.py index 26e1e6b..a13d62c 100644 --- a/Cython/Build/Dependencies.py +++ b/Cython/Build/Dependencies.py @@ -501,7 +501,7 @@ def create_dependency_tree(ctx=None, quiet=False): return _dep_tree # This may be useful for advanced users? -def create_extension_list(patterns, exclude=[], ctx=None, aliases=None, quiet=False): +def create_extension_list(patterns, exclude=[], ctx=None, aliases=None, quiet=False, exclude_failures=False): explicit_modules = set([m.name for m in patterns if isinstance(m, Extension)]) seen = set() deps = create_dependency_tree(ctx, quiet=quiet) @@ -543,7 +543,12 @@ def create_extension_list(patterns, exclude=[], ctx=None, aliases=None, quiet=Fa else: module_name = name if module_name not in seen: - kwds = deps.distutils_info(file, aliases, base).values + try: + kwds = deps.distutils_info(file, aliases, base).values + except Exception: + if exclude_failures: + continue + raise if base is not None: for key, value in base.values.items(): if key not in kwds: @@ -600,6 +605,7 @@ def cythonize(module_list, exclude=[], nthreads=0, aliases=None, quiet=False, fo exclude=exclude, ctx=ctx, quiet=quiet, + exclude_failures=exclude_failures, aliases=aliases) deps = create_dependency_tree(ctx, quiet=quiet) modules_by_cfile = {} -- 2.7.4