diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 1996-09-19 10:49:53 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 1996-09-19 10:49:53 (GMT) |
commit | 35bfd3f9d7fb85db454f29c90eade210adfa392c (patch) | |
tree | 5f0b2148627ed05b5d26032127483f26563e3e4e | |
parent | 6244867e56df54c38ab92cfa47d6b6bf62bab8d5 (diff) | |
download | cpython-35bfd3f9d7fb85db454f29c90eade210adfa392c.zip cpython-35bfd3f9d7fb85db454f29c90eade210adfa392c.tar.gz cpython-35bfd3f9d7fb85db454f29c90eade210adfa392c.tar.bz2 |
Created Finder 7.0 AE interface and a test program that uses the
finder to launch an application.
-rw-r--r-- | Mac/Lib/test/testfinderopen.py | 33 | ||||
-rw-r--r-- | Mac/Lib/toolbox/Finder_7_0_Suite.py | 310 |
2 files changed, 343 insertions, 0 deletions
diff --git a/Mac/Lib/test/testfinderopen.py b/Mac/Lib/test/testfinderopen.py new file mode 100644 index 0000000..8ecf424 --- /dev/null +++ b/Mac/Lib/test/testfinderopen.py @@ -0,0 +1,33 @@ +"""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() + diff --git a/Mac/Lib/toolbox/Finder_7_0_Suite.py b/Mac/Lib/toolbox/Finder_7_0_Suite.py new file mode 100644 index 0000000..1155795 --- /dev/null +++ b/Mac/Lib/toolbox/Finder_7_0_Suite.py @@ -0,0 +1,310 @@ +"""Suite 7.0 Finder Suite: This is the original Finder suite. These events will be supported in the future, but the syntax may be changed in a future Finder release. +Level 1, version 1 + +Generated from flap:Systeemmap:Finder +AETE/AEUT resource version 0/149, language 0, script 0 +""" + +import aetools +import MacOS + +_code = 'FNDR' + +class Finder_7_0_Suite: + + def open_about_box(self, _no_object=None, _attributes={}, **_arguments): + """open about box: Open the 'About This Mac' window + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'aevt' + _subcode = 'abou' + + if _arguments: raise TypeError, 'No optional args expected' + if _no_object != None: raise TypeError, 'No direct arg expected' + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + _argmap_copy_to = { + '_from' : 'fsel', + } + + def copy_to(self, _object, _attributes={}, **_arguments): + """copy to: Copies one or more items into a folder + Required argument: Alias for folder into which the items are copied + Keyword argument _from: List of aliases for items to be copied + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'drag' + + aetools.keysubst(_arguments, self._argmap_copy_to) + _arguments['----'] = _object + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + _argmap_duplicate = { + 'items' : 'fsel', + } + + def duplicate(self, _object, _attributes={}, **_arguments): + """duplicate: Duplicate a set of items in a folder + Required argument: Alias for folder containing the items + Keyword argument items: List of aliases for items in the folder + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'sdup' + + aetools.keysubst(_arguments, self._argmap_duplicate) + _arguments['----'] = _object + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + def empty_trash(self, _no_object=None, _attributes={}, **_arguments): + """empty trash: Empties the trash + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'empt' + + if _arguments: raise TypeError, 'No optional args expected' + if _no_object != None: raise TypeError, 'No direct arg expected' + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + _argmap_make_aliases_for = { + 'items' : 'fsel', + } + + def make_aliases_for(self, _object, _attributes={}, **_arguments): + """make aliases for: Make aliases to items from a single folder + Required argument: Alias for folder containing the items + Keyword argument items: List of aliases for items in folder + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'sali' + + aetools.keysubst(_arguments, self._argmap_make_aliases_for) + _arguments['----'] = _object + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + _argmap_move_to = { + '_from' : 'fsel', + } + + def move_to(self, _object, _attributes={}, **_arguments): + """move to: Move one or more items into a folder + Required argument: Alias for destination folder + Keyword argument _from: List of aliases for items to be moved + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'move' + + aetools.keysubst(_arguments, self._argmap_move_to) + _arguments['----'] = _object + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + def sleep(self, _no_object=None, _attributes={}, **_arguments): + """sleep: Put portable into sleep mode + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'slep' + + if _arguments: raise TypeError, 'No optional args expected' + if _no_object != None: raise TypeError, 'No direct arg expected' + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + def shut_down(self, _no_object=None, _attributes={}, **_arguments): + """shut down: Shuts down the Macintosh if all applications can quit + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'shut' + + if _arguments: raise TypeError, 'No optional args expected' + if _no_object != None: raise TypeError, 'No direct arg expected' + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + _argmap_open = { + 'items' : 'fsel', + } + + def open(self, _object, _attributes={}, **_arguments): + """open: Open folders, files, or applications from a given folder + Required argument: Alias for folder containing the items + Keyword argument items: List of aliases for items in the folder + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'sope' + + aetools.keysubst(_arguments, self._argmap_open) + _arguments['----'] = _object + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + _argmap__print = { + 'items' : 'fsel', + } + + def _print(self, _object, _attributes={}, **_arguments): + """print: Print items from a given folder + Required argument: Alias for folder containing the items + Keyword argument items: List of aliases for items in folder + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'spri' + + aetools.keysubst(_arguments, self._argmap__print) + _arguments['----'] = _object + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + _argmap_put_away = { + 'items' : 'fsel', + } + + def put_away(self, _object, _attributes={}, **_arguments): + """put away: Put away items from a given folder + Required argument: Alias for folder containing the items + Keyword argument items: List of aliases to items in folder + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: undocumented, typecode 'alis' + """ + _code = 'FNDR' + _subcode = 'sput' + + aetools.keysubst(_arguments, self._argmap_put_away) + _arguments['----'] = _object + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + def restart(self, _no_object=None, _attributes={}, **_arguments): + """restart: Restart the Macintosh + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'rest' + + if _arguments: raise TypeError, 'No optional args expected' + if _no_object != None: raise TypeError, 'No direct arg expected' + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + _argmap_select = { + 'items' : 'fsel', + } + + def select(self, _object, _attributes={}, **_arguments): + """select: Select items in a folder + Required argument: Alias for folder containing the items + Keyword argument items: List of aliases for items in folder + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'FNDR' + _subcode = 'srev' + + aetools.keysubst(_arguments, self._argmap_select) + _arguments['----'] = _object + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise MacOS.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + |