[Numpy-svn] r8278 - in trunk/numpy/f2py: . tests
numpy-svn at scipy.org
numpy-svn at scipy.org
Sat Mar 6 14:39:09 EST 2010
Author: ptvirtan
Date: 2010-03-06 13:39:09 -0600 (Sat, 06 Mar 2010)
New Revision: 8278
Modified:
trunk/numpy/f2py/auxfuncs.py
trunk/numpy/f2py/cb_rules.py
trunk/numpy/f2py/cfuncs.py
trunk/numpy/f2py/f2py2e.py
trunk/numpy/f2py/tests/util.py
Log:
3K: f2py: make f2py run far enough to produce output files (they don't compile yet, though, as the C code is not Py3 compatible)
Modified: trunk/numpy/f2py/auxfuncs.py
===================================================================
--- trunk/numpy/f2py/auxfuncs.py 2010-03-06 19:14:47 UTC (rev 8277)
+++ trunk/numpy/f2py/auxfuncs.py 2010-03-06 19:39:09 UTC (rev 8278)
@@ -590,22 +590,22 @@
if s and s[-1]==',': return s[:-1]
return s
-def replace(str,dict,defaultsep=''):
- if type(dict)==types.ListType:
- return map(lambda d,f=replace,sep=defaultsep,s=str:f(s,d,sep),dict)
+def replace(str,d,defaultsep=''):
+ if type(d)==types.ListType:
+ return map(lambda d,f=replace,sep=defaultsep,s=str:f(s,d,sep),d)
if type(str)==types.ListType:
- return map(lambda s,f=replace,sep=defaultsep,d=dict:f(s,d,sep),str)
- for k in 2*dict.keys():
+ return map(lambda s,f=replace,sep=defaultsep,d=d:f(s,d,sep),str)
+ for k in 2*d.keys():
if k=='separatorsfor':
continue
- if 'separatorsfor' in dict and k in dict['separatorsfor']:
- sep=dict['separatorsfor'][k]
+ if 'separatorsfor' in d and k in d['separatorsfor']:
+ sep=d['separatorsfor'][k]
else:
sep=defaultsep
- if type(dict[k])==types.ListType:
- str=str.replace('#%s#'%(k),sep.join(flatlist(dict[k])))
+ if type(d[k])==types.ListType:
+ str=str.replace('#%s#'%(k),sep.join(flatlist(d[k])))
else:
- str=str.replace('#%s#'%(k),dict[k])
+ str=str.replace('#%s#'%(k),d[k])
return str
def dictappend(rd,ar):
@@ -617,7 +617,7 @@
if k[0]=='_':
continue
if k in rd:
- if type(rd[k])==types.StringType:
+ if type(rd[k])==str:
rd[k]=[rd[k]]
if type(rd[k])==types.ListType:
if type(ar[k])==types.ListType:
@@ -636,11 +636,11 @@
rd[k]=ar[k]
return rd
-def applyrules(rules,dict,var={}):
+def applyrules(rules,d,var={}):
ret={}
if type(rules)==types.ListType:
for r in rules:
- rr=applyrules(r,dict,var)
+ rr=applyrules(r,d,var)
ret=dictappend(ret,rr)
if '_break' in rr:
break
@@ -648,19 +648,19 @@
if '_check' in rules and (not rules['_check'](var)):
return ret
if 'need' in rules:
- res = applyrules({'needs':rules['need']},dict,var)
+ res = applyrules({'needs':rules['need']},d,var)
if 'needs' in res:
cfuncs.append_needs(res['needs'])
for k in rules.keys():
if k=='separatorsfor':
ret[k]=rules[k]; continue
- if type(rules[k])==types.StringType:
- ret[k]=replace(rules[k],dict)
+ if type(rules[k])==str:
+ ret[k]=replace(rules[k],d)
elif type(rules[k])==types.ListType:
ret[k]=[]
for i in rules[k]:
- ar=applyrules({k:i},dict,var)
+ ar=applyrules({k:i},d,var)
if k in ar:
ret[k].append(ar[k])
elif k[0]=='_':
@@ -672,19 +672,19 @@
if type(rules[k][k1])==types.ListType:
for i in rules[k][k1]:
if type(i)==types.DictType:
- res=applyrules({'supertext':i},dict,var)
+ res=applyrules({'supertext':i},d,var)
if 'supertext' in res:
i=res['supertext']
else: i=''
- ret[k].append(replace(i,dict))
+ ret[k].append(replace(i,d))
else:
i=rules[k][k1]
if type(i)==types.DictType:
- res=applyrules({'supertext':i},dict)
+ res=applyrules({'supertext':i},d)
if 'supertext' in res:
i=res['supertext']
else: i=''
- ret[k].append(replace(i,dict))
+ ret[k].append(replace(i,d))
else:
errmess('applyrules: ignoring rule %s.\n'%`rules[k]`)
if type(ret[k])==types.ListType:
Modified: trunk/numpy/f2py/cb_rules.py
===================================================================
--- trunk/numpy/f2py/cb_rules.py 2010-03-06 19:14:47 UTC (rev 8277)
+++ trunk/numpy/f2py/cb_rules.py 2010-03-06 19:39:09 UTC (rev 8278)
@@ -515,7 +515,7 @@
ar=applyrules(cb_routine_rules,rd)
cfuncs.callbacks[rd['name']]=ar['body']
- if type(ar['need'])==types.StringType:
+ if type(ar['need'])==str:
ar['need']=[ar['need']]
if 'need' in rd:
Modified: trunk/numpy/f2py/cfuncs.py
===================================================================
--- trunk/numpy/f2py/cfuncs.py 2010-03-06 19:14:47 UTC (rev 8277)
+++ trunk/numpy/f2py/cfuncs.py 2010-03-06 19:39:09 UTC (rev 8278)
@@ -1075,7 +1075,7 @@
if type(need)==types.ListType:
for n in need:
append_needs(n,flag)
- elif type(need)==types.StringType:
+ elif type(need)==str:
if not need: return
if need in includes0:
n = 'includes0'
Modified: trunk/numpy/f2py/f2py2e.py
===================================================================
--- trunk/numpy/f2py/f2py2e.py 2010-03-06 19:14:47 UTC (rev 8277)
+++ trunk/numpy/f2py/f2py2e.py 2010-03-06 19:39:09 UTC (rev 8278)
@@ -285,21 +285,21 @@
f.close()
return postlist
-def buildmodules(list):
+def buildmodules(lst):
cfuncs.buildcfuncs()
outmess('Building modules...\n')
modules,mnames,isusedby=[],[],{}
- for i in range(len(list)):
- if '__user__' in list[i]['name']:
- cb_rules.buildcallbacks(list[i])
+ for i in range(len(lst)):
+ if '__user__' in lst[i]['name']:
+ cb_rules.buildcallbacks(lst[i])
else:
- if 'use' in list[i]:
- for u in list[i]['use'].keys():
+ if 'use' in lst[i]:
+ for u in lst[i]['use'].keys():
if u not in isusedby:
isusedby[u]=[]
- isusedby[u].append(list[i]['name'])
- modules.append(list[i])
- mnames.append(list[i]['name'])
+ isusedby[u].append(lst[i]['name'])
+ modules.append(lst[i])
+ mnames.append(lst[i]['name'])
ret = {}
for i in range(len(mnames)):
if mnames[i] in isusedby:
@@ -329,7 +329,11 @@
"""Run f2py as if string.join(comline_list,' ') is used as a command line.
In case of using -h flag, return None.
"""
- reload(crackfortran)
+ if sys.version_info[0] >= 3:
+ import imp
+ imp.reload(crackfortran)
+ else:
+ reload(crackfortran)
f2pydir=os.path.dirname(os.path.abspath(cfuncs.__file__))
fobjhsrc = os.path.join(f2pydir,'src','fortranobject.h')
fobjcsrc = os.path.join(f2pydir,'src','fortranobject.c')
Modified: trunk/numpy/f2py/tests/util.py
===================================================================
--- trunk/numpy/f2py/tests/util.py 2010-03-06 19:14:47 UTC (rev 8277)
+++ trunk/numpy/f2py/tests/util.py 2010-03-06 19:39:09 UTC (rev 8278)
@@ -18,7 +18,7 @@
import nose
-from numpy.compat import asbytes
+from numpy.compat import asbytes, asstr
import numpy.f2py
try:
@@ -125,7 +125,7 @@
out, err = p.communicate()
if p.returncode != 0:
raise RuntimeError("Running f2py failed: %s\n%s"
- % (cmd[4:], out))
+ % (cmd[4:], asstr(out)))
finally:
os.chdir(cwd)
@@ -203,7 +203,7 @@
p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
out, err = p.communicate()
- m = re.search(r'COMPILERS:(\d+),(\d+),(\d+)', out)
+ m = re.search(asbytes(r'COMPILERS:(\d+),(\d+),(\d+)'), out)
if m:
_compiler_status = (bool(m.group(1)), bool(m.group(2)),
bool(m.group(3)))
@@ -281,7 +281,7 @@
out, err = p.communicate()
if p.returncode != 0:
raise RuntimeError("Running distutils build failed: %s\n%s"
- % (cmd[4:], out))
+ % (cmd[4:], asstr(out)))
finally:
os.chdir(cwd)
More information about the Numpy-svn
mailing list