Author: mattip <[email protected]>
Branch:
Changeset: r75204:45f14b80454a
Date: 2015-01-02 09:30 +0200
http://bitbucket.org/pypy/pypy/changeset/45f14b80454a/
Log: try harder to filter out NotImplementedError results for functions,
None results for attributes also add capability to run alternative
cpython for comparison and "usage" help
diff --git a/pypy/module/micronumpy/tool/numready/main.py
b/pypy/module/micronumpy/tool/numready/main.py
--- a/pypy/module/micronumpy/tool/numready/main.py
+++ b/pypy/module/micronumpy/tool/numready/main.py
@@ -71,6 +71,10 @@
lines = subprocess.check_output(args).splitlines()
items = SearchableSet()
for line in lines:
+ # since calling a function in "search.py" may have printed side
effects,
+ # make sure the line begins with '[UT] : '
+ if not (line[:1] in KINDS.values() and line[1:4] == ' : '):
+ continue
kind, name = line.split(" : ", 1)
subitems = []
if kind == KINDS["TYPE"] and name in SPECIAL_NAMES and attr is None:
@@ -97,7 +101,15 @@
"nditer"]
def main(argv):
- cpy_items = find_numpy_items("/usr/bin/python")
+ if 'help' in argv[1]:
+ print '\nusage: python', os.path.dirname(__file__), '<path-to-pypy>
[<outfile.html>] [<path-to-cpython-with-numpy>]'
+ print ' path-to-cpython-with-numpy defaults to
"/usr/bin/python"\n'
+ return
+ if len(argv) < 4:
+ cpython = '/usr/bin/python'
+ else:
+ cpython = argv[3]
+ cpy_items = find_numpy_items(cpython)
pypy_items = find_numpy_items(argv[1])
ver = get_version_str(argv[1])
all_items = []
diff --git a/pypy/module/micronumpy/tool/numready/search.py
b/pypy/module/micronumpy/tool/numready/search.py
--- a/pypy/module/micronumpy/tool/numready/search.py
+++ b/pypy/module/micronumpy/tool/numready/search.py
@@ -23,6 +23,15 @@
if attr is None and name.startswith("_"):
continue
subobj = getattr(obj, name)
+ if subobj is None:
+ continue
+ if isinstance(subobj, types.FunctionType):
+ try:
+ subobj()
+ except NotImplementedError:
+ continue
+ except:
+ pass
if isinstance(subobj, types.TypeType):
kind = KINDS["TYPE"]
else:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit