Added ref to Misc/NEWS file; added hint to run regen script on Linux.
[python/dscho.git] / Mac / scripts / fixfiletypes.py
blob455f7e360857444591895c483b79e466a7f80088
2 # Fixfiletypes - Set mac filetypes to something sensible,
3 # recursively down a directory tree.
5 # It will only touch extensions it feels pretty sure about.
6 # This script is useful after copying files from unix.
8 # Jack Jansen, CWI, 1995.
10 import os
11 import macfs
12 import sys
14 list = [
15 ('.py', 'PYTH', 'TEXT'),
16 ('.pyc', 'PYTH', 'PYC '),
17 ('.c', 'CWIE', 'TEXT'),
18 ('.h', 'CWIE', 'TEXT'),
19 ('.as', 'ToyS', 'TEXT'),
20 ('.hqx', 'BnHq', 'TEXT')
23 def walktree(name, change):
24 if os.path.isfile(name):
25 for ext, cr, tp in list:
26 if name[-len(ext):] == ext:
27 fs = macfs.FSSpec(name)
28 curcrtp = fs.GetCreatorType()
29 if curcrtp <> (cr, tp):
30 if change:
31 fs.SetCreatorType(cr, tp)
32 print 'Fixed ', name
33 else:
34 print 'Wrong', curcrtp, name
35 elif os.path.isdir(name):
36 print '->', name
37 files = os.listdir(name)
38 for f in files:
39 walktree(os.path.join(name, f), change)
41 def run(change):
42 fss, ok = macfs.GetDirectory('Folder to search:')
43 if not ok:
44 sys.exit(0)
45 walktree(fss.as_pathname(), change)
47 if __name__ == '__main__':
48 run(1)