Mercurial > cpython-lru_cache-weakref
view Tools/scripts/fixheader.py @ 82004:b414b2dfd3d3 3.3
merge #17091: update docstring for _thread.Lock.acquire.
| author | R David Murray <rdmurray@bitdance.com> |
|---|---|
| date | Mon, 04 Feb 2013 10:22:39 -0500 |
| parents | fcfe324663a6 |
| children |
line wrap: on
line source
#! /usr/bin/env python3 # 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()
