diff options
author | Pearu Peterson <pearu.peterson@gmail.com> | 2007-08-10 15:25:44 +0000 |
---|---|---|
committer | Pearu Peterson <pearu.peterson@gmail.com> | 2007-08-10 15:25:44 +0000 |
commit | a6148b252cc8922255832bd2bed1de7d364b47d4 (patch) | |
tree | 8ea83ac050a705ee643427ec8e604e19a3f4a01a /numpy/f2py/lib/extgen/setup_py.py | |
parent | d4375f2985a3e5f3e503960b925b4f0e3a307171 (diff) | |
download | numpy-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.py | 31 |
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 |