annotate PC/python33gen.py @ 80779:10d04bdb05ab 3.3

Issue #16248: Disable code execution from the user's home directory by tkinter when the -E flag is passed to Python. Patch by Zachary Ware.
author Antoine Pitrou <solipsis@pitrou.net>
date Sun, 09 Dec 2012 14:46:46 +0100
parents 3f14119e4af7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
68136
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
1 # Generate python33stub.def out of python3.def
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
2 # The regular import library cannot be used,
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
3 # since it doesn't provide the right symbols for
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
4 # data forwarding
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
5 out = open("python33stub.def", "w")
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
6 out.write('LIBRARY "python33"\n')
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
7 out.write('EXPORTS\n')
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
8
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
9 inp = open("python3.def")
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
10 line = inp.readline()
77653
3f14119e4af7 Issue #11626: Add _SizeT functions to stable ABI.
Martin v. Löwis <martin@v.loewis.de>
parents: 68258
diff changeset
11 while line.strip().startswith(';'):
3f14119e4af7 Issue #11626: Add _SizeT functions to stable ABI.
Martin v. Löwis <martin@v.loewis.de>
parents: 68258
diff changeset
12 line = inp.readline()
3f14119e4af7 Issue #11626: Add _SizeT functions to stable ABI.
Martin v. Löwis <martin@v.loewis.de>
parents: 68258
diff changeset
13 line = inp.readline() # LIBRARY
68136
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
14 assert line.strip()=='EXPORTS'
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
15
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
16 for line in inp:
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
17 # SYM1=python33.SYM2[ DATA]
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
18 head, tail = line.split('.')
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
19 if 'DATA' in tail:
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
20 symbol, tail = tail.split(' ')
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
21 else:
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
22 symbol = tail.strip()
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
23 out.write(symbol+'\n')
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
24
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
25 inp.close()
eb5ed3da6862 More eol-style's
Antoine Pitrou <solipsis@pitrou.net>
parents: 68071
diff changeset
26 out.close()