summaryrefslogtreecommitdiff
path: root/numpy/f2py/lib/extgen/setup_py.py
diff options
context:
space:
mode:
authorPearu Peterson <pearu.peterson@gmail.com>2007-08-10 15:25:44 +0000
committerPearu Peterson <pearu.peterson@gmail.com>2007-08-10 15:25:44 +0000
commita6148b252cc8922255832bd2bed1de7d364b47d4 (patch)
tree8ea83ac050a705ee643427ec8e604e19a3f4a01a /numpy/f2py/lib/extgen/setup_py.py
parentd4375f2985a3e5f3e503960b925b4f0e3a307171 (diff)
downloadnumpy-a6148b252cc8922255832bd2bed1de7d364b47d4.tar.gz
extgen: restored numpy support, fixed bugs.
Diffstat (limited to 'numpy/f2py/lib/extgen/setup_py.py')
-rw-r--r--numpy/f2py/lib/extgen/setup_py.py31
1 files changed, 26 insertions, 5 deletions
diff --git a/numpy/f2py/lib/extgen/setup_py.py b/numpy/f2py/lib/extgen/setup_py.py
index 9c34194d9..665ef5619 100644
--- a/numpy/f2py/lib/extgen/setup_py.py
+++ b/numpy/f2py/lib/extgen/setup_py.py
@@ -18,9 +18,25 @@ def write_files(container):
os.makedirs(d)
s.append(' %s' % (filename))
if not Component._generate_dry_run:
- f = file(filename,'w')
- f.write(content)
- f.close()
+ overwrite = True
+ if os.path.isfile(filename):
+ overwrite = False
+ f = file(filename, 'r')
+ i = 0
+ for line in f:
+ if 'is generated using ExtGen tool' in line:
+ overwrite = True
+ break
+ i += 1
+ if i>5: break
+ if not overwrite:
+ s[-1] += ' - unknown file exists, skipping'
+ else:
+ s[-1] += ' - extgen generated file exists, overwriting'
+ if overwrite:
+ f = file(filename,'w')
+ f.write(content)
+ f.close()
return '\n'.join(s)
@@ -90,8 +106,13 @@ if __name__ == "__main__":
cmd = [sys.executable,'setup.py'] + list(args)
self.info('entering %r directory' % (self.path))
self.info('executing command %r' % (' '.join(cmd)))
- r = exec_command(cmd, execute_in=self.path, use_tee=False)
- self.info('leaving %r directory' % (self.path))
+ try:
+ r = exec_command(cmd, execute_in=self.path, use_tee=False)
+ except:
+ self.info('leaving %r directory' % (self.path))
+ raise
+ else:
+ self.info('leaving %r directory' % (self.path))
return r