Mercurial > cpython-lru_cache-weakref
view Tools/scripts/fixheader.py @ 60028:030d6bf1d995 3.1
Merged revisions 79434 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r79434 | brian.curtin | 2010-03-25 19:39:56 -0500 (Thu, 25 Mar 2010) | 9 lines
Merged revisions 79430 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r79430 | brian.curtin | 2010-03-25 18:48:54 -0500 (Thu, 25 Mar 2010) | 2 lines
Fix #6538. Markup RegexObject and MatchObject as classes. Patch by Ryan Arana.
........
................
| author | Brian Curtin <brian.curtin@gmail.com> |
|---|---|
| date | Fri, 26 Mar 2010 02:29:25 +0000 |
| parents | 893a4dc17a91 |
| children | fcfe324663a6 |
line wrap: on
line source
#! /usr/bin/env python # Add some standard cpp magic to a header file import sys def main(): args = sys.argv[1:] for filename in args: process(filename) def process(filename): try: f = open(filename, 'r') except IOError as msg: sys.stderr.write('%s: can\'t open: %s\n' % (filename, str(msg))) return data = f.read() f.close() if data[:2] != '/*': sys.stderr.write('%s does not begin with C comment\n' % filename) return try: f = open(filename, 'w') except IOError as msg: sys.stderr.write('%s: can\'t write: %s\n' % (filename, str(msg))) return sys.stderr.write('Processing %s ...\n' % filename) magic = 'Py_' for c in filename: if ord(c)<=0x80 and c.isalnum(): magic = magic + c.upper() else: magic = magic + '_' sys.stdout = f print('#ifndef', magic) print('#define', magic) print('#ifdef __cplusplus') print('extern "C" {') print('#endif') print() f.write(data) print() print('#ifdef __cplusplus') print('}') print('#endif') print('#endif /*', '!'+magic, '*/') if __name__ == '__main__': main()
