python-2.5.2/win32/Tools/Scripts/fixheader.py
changeset 0 ae805ac0140d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/python-2.5.2/win32/Tools/Scripts/fixheader.py	Fri Apr 03 17:19:34 2009 +0100
@@ -0,0 +1,49 @@
+#! /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, 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, 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()