Mercurial > cpython-lru_cache-weakref
annotate Mac/scripts/fixfiletypes.py @ 25838:8540887bcec6 2.2
Backport of 2.183:
Fix memory leak in add_subclass() found by NealN with valgrind.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Fri, 18 Oct 2002 13:42:21 +0000 |
| parents | c97ffd2ebd53 |
| children | caa6df9e0880 |
| rev | line source |
|---|---|
|
2939
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
1 # |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
2 # Fixfiletypes - Set mac filetypes to something sensible, |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
3 # recursively down a directory tree. |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
4 # |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
5 # It will only touch extensions it feels pretty sure about. |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
6 # This script is useful after copying files from unix. |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
7 # |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
8 # Jack Jansen, CWI, 1995. |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
9 # |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
10 import os |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
11 import macfs |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
12 import sys |
|
4311
c97ffd2ebd53
Added macostools.touch() calls to inform the finder of our changes.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3452
diff
changeset
|
13 import macostools |
|
2939
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
14 |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
15 list = [ |
|
3410
022474ac2451
Changed MacOS creator code from PYTH to Pyth
Jack Jansen <jack.jansen@cwi.nl>
parents:
3184
diff
changeset
|
16 ('.py', 'Pyth', 'TEXT'), |
|
022474ac2451
Changed MacOS creator code from PYTH to Pyth
Jack Jansen <jack.jansen@cwi.nl>
parents:
3184
diff
changeset
|
17 ('.pyc', 'Pyth', 'PYC '), |
|
3184
7b2f695405ba
Changed CW signature and fixed .as/.hqx creator/type
Jack Jansen <jack.jansen@cwi.nl>
parents:
2979
diff
changeset
|
18 ('.c', 'CWIE', 'TEXT'), |
|
7b2f695405ba
Changed CW signature and fixed .as/.hqx creator/type
Jack Jansen <jack.jansen@cwi.nl>
parents:
2979
diff
changeset
|
19 ('.h', 'CWIE', 'TEXT'), |
|
7b2f695405ba
Changed CW signature and fixed .as/.hqx creator/type
Jack Jansen <jack.jansen@cwi.nl>
parents:
2979
diff
changeset
|
20 ('.as', 'ToyS', 'TEXT'), |
|
3410
022474ac2451
Changed MacOS creator code from PYTH to Pyth
Jack Jansen <jack.jansen@cwi.nl>
parents:
3184
diff
changeset
|
21 ('.hqx', 'BnHq', 'TEXT'), |
|
022474ac2451
Changed MacOS creator code from PYTH to Pyth
Jack Jansen <jack.jansen@cwi.nl>
parents:
3184
diff
changeset
|
22 ('.cmif', 'CMIF', 'TEXT'), |
| 3452 | 23 ('.cmc', 'CMIF', 'CMC '), |
| 24 ('.aiff', 'SCPL', 'AIFF'), | |
| 25 ('.mpg', 'mMPG', 'MPEG'), | |
|
2939
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
26 ] |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
27 |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
28 def walktree(name, change): |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
29 if os.path.isfile(name): |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
30 for ext, cr, tp in list: |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
31 if name[-len(ext):] == ext: |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
32 fs = macfs.FSSpec(name) |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
33 curcrtp = fs.GetCreatorType() |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
34 if curcrtp <> (cr, tp): |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
35 if change: |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
36 fs.SetCreatorType(cr, tp) |
|
4311
c97ffd2ebd53
Added macostools.touch() calls to inform the finder of our changes.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3452
diff
changeset
|
37 macostools.touched(fs) |
|
2939
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
38 print 'Fixed ', name |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
39 else: |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
40 print 'Wrong', curcrtp, name |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
41 elif os.path.isdir(name): |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
42 print '->', name |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
43 files = os.listdir(name) |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
44 for f in files: |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
45 walktree(os.path.join(name, f), change) |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
46 |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
47 def run(change): |
|
2979
7eea9b426802
Added prompts to various file-select dialogs
Jack Jansen <jack.jansen@cwi.nl>
parents:
2939
diff
changeset
|
48 fss, ok = macfs.GetDirectory('Folder to search:') |
|
2939
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
49 if not ok: |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
50 sys.exit(0) |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
51 walktree(fss.as_pathname(), change) |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
52 |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
53 if __name__ == '__main__': |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
54 run(1) |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
55 |
|
4dfdf234cda8
MkPluginAliases - Scripts (AppleScript and Python) to create aliases
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
56 |
