annotate Tools/scripts/fixheader.py @ 3044:7e7bb00a0a2e legacy-trunk

Added functionality: locate CW projects, copy them, empty them and binhex them.
author Jack Jansen <jack.jansen@cwi.nl>
date Thu, 31 Aug 1995 13:47:14 +0000
parents 5b255a358833
children 73758db2f464
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1507
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 #! /usr/local/bin/python
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 # Add some standard cpp magic to a header file
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
4
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 import sys
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 import string
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
7
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 def main():
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 args = sys.argv[1:]
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 for file in args:
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 process(file)
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
12
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 def process(file):
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 try:
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 f = open(file, 'r')
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 except IOError, msg:
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 sys.stderr.write('%s: can\'t open: %s\n' % (file, str(msg)))
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 return
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 data = f.read()
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 f.close()
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 if data[:2] <> '/*':
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
22 sys.stderr.write('%s does not begin with C comment\n' % file)
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 return
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 try:
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 f = open(file, 'w')
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 except IOError, msg:
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 sys.stderr.write('%s: can\'t write: %s\n' % (file, str(msg)))
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 return
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 sys.stderr.write('Processing %s ...\n' % file)
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 magic = 'Py_'
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 for c in file:
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 if c in string.letters + string.digits:
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 magic = magic + string.upper(c)
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 else: magic = magic + '_'
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
35 sys.stdout = f
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 print '#ifndef', magic
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
37 print '#define', magic
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 print '#ifdef __cplusplus'
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 print 'extern "C" {'
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 print '#endif'
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
41 print
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 f.write(data)
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 print
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 print '#ifdef __cplusplus'
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
45 print '}'
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
46 print '#endif'
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
47 print '#endif /*', '!'+magic, '*/'
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
48
5b255a358833 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 main()