1 """Utility routines depending on the finder."""
3 import Finder_7_0_Suite
12 class Finder(aetools
.TalkTo
, Finder_7_0_Suite
.Finder_7_0_Suite
):
19 if not _finder_talker
:
20 _finder_talker
= Finder(SIGNATURE
)
21 _finder_talker
.send_flags
= ( _finder_talker
.send_flags |
22 AppleEvents
.kAECanInteract | AppleEvents
.kAECanSwitchLayer
)
26 """Open a file thru the finder. Specify file by name or fsspec"""
28 fss
= macfs
.FSSpec(file)
29 vRefNum
, parID
, name
= fss
.as_tuple()
30 dir_fss
= macfs
.FSSpec((vRefNum
, parID
, ''))
31 file_alias
= fss
.NewAlias()
32 dir_alias
= dir_fss
.NewAlias()
33 return finder
.open(dir_alias
, items
=[file_alias
])
36 """Print a file thru the finder. Specify file by name or fsspec"""
38 fss
= macfs
.FSSpec(file)
39 vRefNum
, parID
, name
= fss
.as_tuple()
40 dir_fss
= macfs
.FSSpec((vRefNum
, parID
, ''))
41 file_alias
= fss
.NewAlias()
42 dir_alias
= dir_fss
.NewAlias()
43 return finder
._print
(dir_alias
, items
=[file_alias
])
45 def copy(src
, dstdir
):
46 """Copy a file to a folder"""
48 src_fss
= macfs
.FSSpec(src
)
49 dst_fss
= macfs
.FSSpec(dstdir
)
50 src_alias
= src_fss
.NewAlias()
51 dst_alias
= dst_fss
.NewAlias()
52 return finder
.copy_to(dst_alias
, _from
=[src_alias
])
54 def move(src
, dstdir
):
55 """Move a file to a folder"""
57 src_fss
= macfs
.FSSpec(src
)
58 dst_fss
= macfs
.FSSpec(dstdir
)
59 src_alias
= src_fss
.NewAlias()
60 dst_alias
= dst_fss
.NewAlias()
61 return finder
.move_to(dst_alias
, _from
=[src_alias
])
64 """Put the mac to sleep"""
69 """Shut the mac down"""
80 print 'Testing launch...'
81 fss
, ok
= macfs
.PromptGetFile('File to launch:')
85 print 'Result: ', result
86 print 'Press return-',
88 print 'Testing print...'
89 fss
, ok
= macfs
.PromptGetFile('File to print:')
93 print 'Result: ', result
94 print 'Press return-',
96 print 'Testing copy...'
97 fss
, ok
= macfs
.PromptGetFile('File to copy:')
99 dfss
, ok
= macfs
.GetDirectory()
101 result
= copy(fss
, dfss
)
103 print 'Result:', result
104 print 'Press return-',
106 print 'Testing move...'
107 fss
, ok
= macfs
.PromptGetFile('File to move:')
109 dfss
, ok
= macfs
.GetDirectory()
111 result
= move(fss
, dfss
)
113 print 'Result:', result
114 print 'Press return-',
117 print 'Testing sleep...'
118 if EasyDialogs
.AskYesNoCancel('Sleep?') > 0:
121 print 'Result:', result
122 print 'Press return-',
124 print 'Testing shutdown...'
125 if EasyDialogs
.AskYesNoCancel('Shut down?') > 0:
128 print 'Result:', result
129 print 'Press return-',
131 print 'Testing restart...'
132 if EasyDialogs
.AskYesNoCancel('Restart?') > 0:
135 print 'Result:', result
136 print 'Press return-',
139 if __name__
== '__main__':