1 """Utility routines depending on the finder."""
3 import Finder_7_0_Suite
11 class Finder(aetools
.TalkTo
, Finder_7_0_Suite
.Finder_7_0_Suite
):
18 if not _finder_talker
:
19 _finder_talker
= Finder(SIGNATURE
)
23 """Open a file thru the finder. Specify file by name or fsspec"""
25 fss
= macfs
.FSSpec(file)
26 vRefNum
, parID
, name
= fss
.as_tuple()
27 dir_fss
= macfs
.FSSpec((vRefNum
, parID
, ''))
28 file_alias
= fss
.NewAlias()
29 dir_alias
= dir_fss
.NewAlias()
30 return finder
.open(dir_alias
, items
=[file_alias
])
33 """Print a file thru the finder. Specify file by name or fsspec"""
35 fss
= macfs
.FSSpec(file)
36 vRefNum
, parID
, name
= fss
.as_tuple()
37 dir_fss
= macfs
.FSSpec((vRefNum
, parID
, ''))
38 file_alias
= fss
.NewAlias()
39 dir_alias
= dir_fss
.NewAlias()
40 return finder
._print
(dir_alias
, items
=[file_alias
])
42 def copy(src
, dstdir
):
43 """Copy a file to a folder"""
45 src_fss
= macfs
.FSSpec(src
)
46 dst_fss
= macfs
.FSSpec(dstdir
)
47 src_alias
= src_fss
.NewAlias()
48 dst_alias
= dst_fss
.NewAlias()
49 return finder
.copy_to(dst_alias
, _from
=[src_alias
])
51 def move(src
, dstdir
):
52 """Move a file to a folder"""
54 src_fss
= macfs
.FSSpec(src
)
55 dst_fss
= macfs
.FSSpec(dstdir
)
56 src_alias
= src_fss
.NewAlias()
57 dst_alias
= dst_fss
.NewAlias()
58 return finder
.move_to(dst_alias
, _from
=[src_alias
])
61 """Put the mac to sleep"""
66 """Shut the mac down"""
77 print 'Testing launch...'
78 fss
, ok
= macfs
.PromptGetFile('File to launch:')
82 print 'Result: ', result
83 print 'Press return-',
85 print 'Testing print...'
86 fss
, ok
= macfs
.PromptGetFile('File to print:')
90 print 'Result: ', result
91 print 'Press return-',
93 print 'Testing copy...'
94 fss
, ok
= macfs
.PromptGetFile('File to copy:')
96 dfss
, ok
= macfs
.GetDirectory()
98 result
= copy(fss
, dfss
)
100 print 'Result:', result
101 print 'Press return-',
103 print 'Testing move...'
104 fss
, ok
= macfs
.PromptGetFile('File to move:')
106 dfss
, ok
= macfs
.GetDirectory()
108 result
= move(fss
, dfss
)
110 print 'Result:', result
111 print 'Press return-',
114 print 'Testing sleep...'
115 if EasyDialogs
.AskYesNoCancel('Sleep?') > 0:
118 print 'Result:', result
119 print 'Press return-',
121 print 'Testing shutdown...'
122 if EasyDialogs
.AskYesNoCancel('Shut down?') > 0:
125 print 'Result:', result
126 print 'Press return-',
128 print 'Testing restart...'
129 if EasyDialogs
.AskYesNoCancel('Restart?') > 0:
132 print 'Result:', result
133 print 'Press return-',
136 if __name__
== '__main__':