Commit 8bcd4716 authored by Jack Jansen's avatar Jack Jansen

Updated for the new applescript interface (which actually makes it so...

Updated for the new applescript interface (which actually makes it so ridiculously simple that its main reason for existence is backward compatability).
parent 2eda2447
"""Utility routines depending on the finder.""" """Utility routines depending on the finder."""
import Finder_7_0_Suite import Finder
import AppleEvents import AppleEvents
import aetools import aetools
import MacOS import MacOS
import sys import sys
import macfs import macfs
SIGNATURE='MACS'
class Finder(aetools.TalkTo, Finder_7_0_Suite.Finder_7_0_Suite):
pass
_finder_talker = None _finder_talker = None
def _getfinder(): def _getfinder():
global _finder_talker global _finder_talker
if not _finder_talker: if not _finder_talker:
_finder_talker = Finder(SIGNATURE) _finder_talker = Finder.Finder()
_finder_talker.send_flags = ( _finder_talker.send_flags | _finder_talker.send_flags = ( _finder_talker.send_flags |
AppleEvents.kAECanInteract | AppleEvents.kAECanSwitchLayer) AppleEvents.kAECanInteract | AppleEvents.kAECanSwitchLayer)
return _finder_talker return _finder_talker
...@@ -26,39 +21,27 @@ def launch(file): ...@@ -26,39 +21,27 @@ def launch(file):
"""Open a file thru the finder. Specify file by name or fsspec""" """Open a file thru the finder. Specify file by name or fsspec"""
finder = _getfinder() finder = _getfinder()
fss = macfs.FSSpec(file) fss = macfs.FSSpec(file)
vRefNum, parID, name = fss.as_tuple() return finder.open(fss)
dir_fss = macfs.FSSpec((vRefNum, parID, ''))
file_alias = fss.NewAlias()
dir_alias = dir_fss.NewAlias()
return finder.open(dir_alias, items=[file_alias])
def Print(file): def Print(file):
"""Print a file thru the finder. Specify file by name or fsspec""" """Print a file thru the finder. Specify file by name or fsspec"""
finder = _getfinder() finder = _getfinder()
fss = macfs.FSSpec(file) fss = macfs.FSSpec(file)
vRefNum, parID, name = fss.as_tuple() return finder._print(fss)
dir_fss = macfs.FSSpec((vRefNum, parID, ''))
file_alias = fss.NewAlias()
dir_alias = dir_fss.NewAlias()
return finder._print(dir_alias, items=[file_alias])
def copy(src, dstdir): def copy(src, dstdir):
"""Copy a file to a folder""" """Copy a file to a folder"""
finder = _getfinder() finder = _getfinder()
src_fss = macfs.FSSpec(src) src_fss = macfs.FSSpec(src)
dst_fss = macfs.FSSpec(dstdir) dst_fss = macfs.FSSpec(dstdir)
src_alias = src_fss.NewAlias() return finder.duplicate(src_fss, to=dst_fss)
dst_alias = dst_fss.NewAlias()
return finder.copy_to(dst_alias, _from=[src_alias])
def move(src, dstdir): def move(src, dstdir):
"""Move a file to a folder""" """Move a file to a folder"""
finder = _getfinder() finder = _getfinder()
src_fss = macfs.FSSpec(src) src_fss = macfs.FSSpec(src)
dst_fss = macfs.FSSpec(dstdir) dst_fss = macfs.FSSpec(dstdir)
src_alias = src_fss.NewAlias() return finder.move(src_fss, to=dst_fss)
dst_alias = dst_fss.NewAlias()
return finder.move_to(dst_alias, _from=[src_alias])
def sleep(): def sleep():
"""Put the mac to sleep""" """Put the mac to sleep"""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment