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