Mercurial > cpython-lru_cache-weakref
comparison Mac/scripts/ConfigurePython.py @ 2978:7a67dbcb6d83 legacy-trunk
Added List.slb alias
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Mon, 14 Aug 1995 12:20:22 +0000 |
| parents | 4dfdf234cda8 |
| children | 2caa3e283568 |
comparison
equal
deleted
inserted
replaced
| 2977:441866be2ec9 | 2978:7a67dbcb6d83 |
|---|---|
| 26 - Use MkPluginAliases.as (an AppleScript) | 26 - Use MkPluginAliases.as (an AppleScript) |
| 27 - Create the aliases by hand (see the source for a list).""" | 27 - Create the aliases by hand (see the source for a list).""" |
| 28 sys.exit(1) | 28 sys.exit(1) |
| 29 | 29 |
| 30 import EasyDialogs | 30 import EasyDialogs |
| 31 import macostools | |
| 31 | 32 |
| 32 goals = [ | 33 goals = [ |
| 33 ("mactcp.slb", "mactcpmodules.slb"), | 34 ("mactcp.slb", "mactcpmodules.slb"), |
| 34 ("macdnr.slb", "mactcpmodules.slb"), | 35 ("macdnr.slb", "mactcpmodules.slb"), |
| 35 ("AE.slb", "toolboxmodules.slb"), | 36 ("AE.slb", "toolboxmodules.slb"), |
| 36 ("Ctl.slb", "toolboxmodules.slb"), | 37 ("Ctl.slb", "toolboxmodules.slb"), |
| 37 ("Dlg.slb", "toolboxmodules.slb"), | 38 ("Dlg.slb", "toolboxmodules.slb"), |
| 38 ("Evt.slb", "toolboxmodules.slb"), | 39 ("Evt.slb", "toolboxmodules.slb"), |
| 39 ("Menu.slb", "toolboxmodules.slb"), | 40 ("Menu.slb", "toolboxmodules.slb"), |
| 41 ("List.slb", "toolboxmodules.slb"), | |
| 40 ("Qd.slb", "toolboxmodules.slb"), | 42 ("Qd.slb", "toolboxmodules.slb"), |
| 41 ("Res.slb", "toolboxmodules.slb"), | 43 ("Res.slb", "toolboxmodules.slb"), |
| 42 ("Snd.slb", "toolboxmodules.slb"), | 44 ("Snd.slb", "toolboxmodules.slb"), |
| 43 ("Win.slb", "toolboxmodules.slb"), | 45 ("Win.slb", "toolboxmodules.slb"), |
| 44 ("imgcolormap.slb", "imgmodules.slb"), | 46 ("imgcolormap.slb", "imgmodules.slb"), |
| 49 ("imgpgm.slb", "imgmodules.slb"), | 51 ("imgpgm.slb", "imgmodules.slb"), |
| 50 ("imgppm.slb", "imgmodules.slb"), | 52 ("imgppm.slb", "imgmodules.slb"), |
| 51 ("imgtiff.slb", "imgmodules.slb") | 53 ("imgtiff.slb", "imgmodules.slb") |
| 52 ] | 54 ] |
| 53 | 55 |
| 54 # | |
| 55 # Not guaranteed to be correct or stay correct (Apple doesn't tell you | |
| 56 # how to do this), but it seems to work. | |
| 57 # | |
| 58 def mkalias(src, dst): | |
| 59 """Create a finder alias""" | |
| 60 srcfss = macfs.FSSpec(src) | |
| 61 dstfss = macfs.FSSpec(dst) | |
| 62 alias = srcfss.NewAlias() | |
| 63 srcfinfo = srcfss.GetFInfo() | |
| 64 | |
| 65 Res.FSpCreateResFile(dstfss, srcfinfo.Creator, srcfinfo.Type, -1) | |
| 66 h = Res.FSpOpenResFile(dstfss, 3) | |
| 67 resource = Res.Resource(alias.data) | |
| 68 resource.AddResource('alis', 0, '') | |
| 69 Res.CloseResFile(h) | |
| 70 | |
| 71 dstfinfo = dstfss.GetFInfo() | |
| 72 dstfinfo.Flags = dstfinfo.Flags|0x8000 # Alias flag | |
| 73 dstfss.SetFInfo(dstfinfo) | |
| 74 | 56 |
| 75 def main(): | 57 def main(): |
| 76 # Ask the user for the plugins directory | 58 # Ask the user for the plugins directory |
| 77 dir, ok = macfs.GetDirectory() | 59 dir, ok = macfs.GetDirectory('Where is the PlugIns folder?') |
| 78 if not ok: sys.exit(0) | 60 if not ok: sys.exit(0) |
| 79 os.chdir(dir.as_pathname()) | 61 os.chdir(dir.as_pathname()) |
| 80 | 62 |
| 81 # Remove old .slb aliases and collect a list of .slb files | 63 # Remove old .slb aliases and collect a list of .slb files |
| 82 if EasyDialogs.AskYesNoCancel('Proceed with removing old aliases?') <= 0: | 64 if EasyDialogs.AskYesNoCancel('Proceed with removing old aliases?') <= 0: |
| 95 # Create the new aliases. | 77 # Create the new aliases. |
| 96 if EasyDialogs.AskYesNoCancel('Proceed with creating new ones?') <= 0: | 78 if EasyDialogs.AskYesNoCancel('Proceed with creating new ones?') <= 0: |
| 97 sys.exit(0) | 79 sys.exit(0) |
| 98 for dst, src in goals: | 80 for dst, src in goals: |
| 99 if src in LibFiles: | 81 if src in LibFiles: |
| 100 mkalias(src, dst) | 82 macostools.mkalias(src, dst) |
| 101 else: | 83 else: |
| 102 EasyDialogs.Message(dst+' not created: '+src+' not found') | 84 EasyDialogs.Message(dst+' not created: '+src+' not found') |
| 103 | 85 |
| 104 EasyDialogs.Message('All done!') | 86 EasyDialogs.Message('All done!') |
| 105 | 87 |
