Staging
v0.8.1
v0.8.1
https://github.com/python/cpython
Tip revision: 16c8eccfcf85811d1d9368aacb94b47ae8195719 authored by cvs2svn on 31 December 1997, 05:53:15 UTC
This commit was manufactured by cvs2svn to create tag 'release15'.
This commit was manufactured by cvs2svn to create tag 'release15'.
Tip revision: 16c8ecc
findertools.py
"""Utility routines depending on the finder."""
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
_finder_talker = None
def _getfinder():
global _finder_talker
if not _finder_talker:
_finder_talker = Finder(SIGNATURE)
return _finder_talker
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])
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])
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])
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])
def sleep():
"""Put the mac to sleep"""
finder = _getfinder()
finder.sleep()
def shutdown():
"""Shut the mac down"""
finder = _getfinder()
finder.shut_down()
def restart():
"""Restart the mac"""
finder = _getfinder()
finder.restart()
def main():
print 'Testing launch...'
fss, ok = macfs.PromptGetFile('File to launch:')
if ok:
result = launch(fss)
if result:
print 'Result: ', result
print 'Press return-',
sys.stdin.readline()
print 'Testing print...'
fss, ok = macfs.PromptGetFile('File to print:')
if ok:
result = Print(fss)
if result:
print 'Result: ', result
print 'Press return-',
sys.stdin.readline()
print 'Testing copy...'
fss, ok = macfs.PromptGetFile('File to copy:')
if ok:
dfss, ok = macfs.GetDirectory()
if ok:
result = copy(fss, dfss)
if result:
print 'Result:', result
print 'Press return-',
sys.stdin.readline()
print 'Testing move...'
fss, ok = macfs.PromptGetFile('File to move:')
if ok:
dfss, ok = macfs.GetDirectory()
if ok:
result = move(fss, dfss)
if result:
print 'Result:', result
print 'Press return-',
sys.stdin.readline()
import EasyDialogs
print 'Testing sleep...'
if EasyDialogs.AskYesNoCancel('Sleep?') > 0:
result = sleep()
if result:
print 'Result:', result
print 'Press return-',
sys.stdin.readline()
print 'Testing shutdown...'
if EasyDialogs.AskYesNoCancel('Shut down?') > 0:
result = shutdown()
if result:
print 'Result:', result
print 'Press return-',
sys.stdin.readline()
print 'Testing restart...'
if EasyDialogs.AskYesNoCancel('Restart?') > 0:
result = restart()
if result:
print 'Result:', result
print 'Press return-',
sys.stdin.readline()
if __name__ == '__main__':
main()