mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
Updated for the new applescript interface (which actually makes it so ridiculously simple that its main reason for existence is backward compatability).
This commit is contained in:
parent
2eda24475c
commit
8bcd471606
1 changed files with 6 additions and 23 deletions
|
@ -1,23 +1,18 @@
|
|||
"""Utility routines depending on the finder."""
|
||||
|
||||
import Finder_7_0_Suite
|
||||
import Finder
|
||||
import AppleEvents
|
||||
import aetools
|
||||
import MacOS
|
||||
import sys
|
||||
import macfs
|
||||
|
||||
SIGNATURE='MACS'
|
||||
|
||||
class Finder(aetools.TalkTo, Finder_7_0_Suite.Finder_7_0_Suite):
|
||||
pass
|
||||
|
||||
_finder_talker = None
|
||||
|
||||
def _getfinder():
|
||||
global _finder_talker
|
||||
if not _finder_talker:
|
||||
_finder_talker = Finder(SIGNATURE)
|
||||
_finder_talker = Finder.Finder()
|
||||
_finder_talker.send_flags = ( _finder_talker.send_flags |
|
||||
AppleEvents.kAECanInteract | AppleEvents.kAECanSwitchLayer)
|
||||
return _finder_talker
|
||||
|
@ -26,39 +21,27 @@ def launch(file):
|
|||
"""Open a file thru the finder. Specify file by name or fsspec"""
|
||||
finder = _getfinder()
|
||||
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(dir_alias, items=[file_alias])
|
||||
return finder.open(fss)
|
||||
|
||||
def Print(file):
|
||||
"""Print a file thru the finder. Specify file by name or fsspec"""
|
||||
finder = _getfinder()
|
||||
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._print(dir_alias, items=[file_alias])
|
||||
return finder._print(fss)
|
||||
|
||||
def copy(src, dstdir):
|
||||
"""Copy a file to a folder"""
|
||||
finder = _getfinder()
|
||||
src_fss = macfs.FSSpec(src)
|
||||
dst_fss = macfs.FSSpec(dstdir)
|
||||
src_alias = src_fss.NewAlias()
|
||||
dst_alias = dst_fss.NewAlias()
|
||||
return finder.copy_to(dst_alias, _from=[src_alias])
|
||||
return finder.duplicate(src_fss, to=dst_fss)
|
||||
|
||||
def move(src, dstdir):
|
||||
"""Move a file to a folder"""
|
||||
finder = _getfinder()
|
||||
src_fss = macfs.FSSpec(src)
|
||||
dst_fss = macfs.FSSpec(dstdir)
|
||||
src_alias = src_fss.NewAlias()
|
||||
dst_alias = dst_fss.NewAlias()
|
||||
return finder.move_to(dst_alias, _from=[src_alias])
|
||||
return finder.move(src_fss, to=dst_fss)
|
||||
|
||||
def sleep():
|
||||
"""Put the mac to sleep"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue