]> granicus.if.org Git - python/commitdiff
Created Finder 7.0 AE interface and a test program that uses the
authorJack Jansen <jack.jansen@cwi.nl>
Thu, 19 Sep 1996 10:49:53 +0000 (10:49 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Thu, 19 Sep 1996 10:49:53 +0000 (10:49 +0000)
finder to launch an application.

Mac/Lib/test/testfinderopen.py [new file with mode: 0644]
Mac/Lib/toolbox/Finder_7_0_Suite.py [new file with mode: 0644]

diff --git a/Mac/Lib/test/testfinderopen.py b/Mac/Lib/test/testfinderopen.py
new file mode 100644 (file)
index 0000000..8ecf424
--- /dev/null
@@ -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 (file)
index 0000000..1155795
--- /dev/null
@@ -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['----']
+