"""Make the finder open an application, file or folder"""
import Finder_7_0_Suite
import aetools
import MacOS
import sys
import macfs
SIGNATURE='MACS'
class Finder(aetools.TalkTo, Finder_7_0_Suite.Finder_7_0_Suite):
pass
def open_in_finder(file):
"""Open a file thru the finder. Specify file by name or fsspec"""
finder = Finder(SIGNATURE)
fss = macfs.FSSpec(file)
vRefNum, parID, name = fss.as_tuple()
dir_fss = macfs.FSSpec((vRefNum, parID, ''))
file_alias = fss.NewAlias()
dir_alias = dir_fss.NewAlias()
return finder.open(file_alias, items=[file_alias])
def main():
fss, ok = macfs.PromptGetFile('File to launch:')
if not ok: sys.exit(0)
result = open_in_finder(fss)
if result:
print 'Result: ', result
if __name__ == '__main__':
main()
|