]> granicus.if.org Git - python/commitdiff
A "magic" suite that is the base suite for StdSuites. This solves a problem with...
authorJack Jansen <jack.jansen@cwi.nl>
Tue, 22 Jan 2002 23:20:12 +0000 (23:20 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Tue, 22 Jan 2002 23:20:12 +0000 (23:20 +0000)
Most of the code and ideas contributed by Michael j. Barber.

Mac/Lib/lib-scriptpackages/_builtinSuites/__init__.py [new file with mode: 0644]
Mac/Lib/lib-scriptpackages/_builtinSuites/builtin_Suite.py [new file with mode: 0644]

diff --git a/Mac/Lib/lib-scriptpackages/_builtinSuites/__init__.py b/Mac/Lib/lib-scriptpackages/_builtinSuites/__init__.py
new file mode 100644 (file)
index 0000000..ac3c0ba
--- /dev/null
@@ -0,0 +1,28 @@
+"""
+Manually generated suite used as base class for StdSuites Required and Standard
+suites. This is needed because the events and enums in this suite belong
+in the Required suite according to the Apple docs, but they often seem to be
+in the Standard suite.
+"""
+import aetools
+import builtin_Suite
+
+
+_code_to_module = {
+       'reqd' : builtin_Suite,
+       'core' : builtin_Suite,
+}
+
+
+
+_code_to_fullname = {
+       'reqd' : ('_builtinSuites.builtin_Suite', 'builtin_Suite'),
+       'core' : ('_builtinSuites.builtin_Suite', 'builtin_Suite'),
+}
+
+from builtin_Suite import *
+
+class _builtinSuites(builtin_Suite_Events,
+               aetools.TalkTo):
+       _signature = 'ascr'
+
diff --git a/Mac/Lib/lib-scriptpackages/_builtinSuites/builtin_Suite.py b/Mac/Lib/lib-scriptpackages/_builtinSuites/builtin_Suite.py
new file mode 100644 (file)
index 0000000..237dc15
--- /dev/null
@@ -0,0 +1,140 @@
+"""Suite builtin_Suite: Every application supports open, reopen, print, run, and quit
+Level 1, version 1
+"""
+
+import aetools
+import MacOS
+
+_code = 'aevt'
+
+class builtin_Suite_Events:
+
+       def open(self, _object, _attributes={}, **_arguments):
+               """open: Open the specified object(s)
+               Required argument: list of objects to open
+               Keyword argument _attributes: AppleEvent attribute dictionary
+               """
+               _code = 'aevt'
+               _subcode = 'odoc'
+
+               if _arguments: raise TypeError, 'No optional args expected'
+               _arguments['----'] = _object
+
+
+               _reply, _arguments, _attributes = self.send(_code, _subcode,
+                               _arguments, _attributes)
+               if _arguments.has_key('errn'):
+                       raise aetools.Error, aetools.decodeerror(_arguments)
+               # XXXX Optionally decode result
+               if _arguments.has_key('----'):
+                       return _arguments['----']
+
+       def run(self, _no_object=None, _attributes={}, **_arguments):
+               """run: Run an application.      Most applications will open an empty, untitled window.
+               Keyword argument _attributes: AppleEvent attribute dictionary
+               """
+               _code = 'aevt'
+               _subcode = 'oapp'
+
+               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 aetools.Error, aetools.decodeerror(_arguments)
+               # XXXX Optionally decode result
+               if _arguments.has_key('----'):
+                       return _arguments['----']
+
+       def reopen(self, _no_object=None, _attributes={}, **_arguments):
+               """reopen: Reactivate a running application.  Some applications will open a new untitled window if no window is open.
+               Keyword argument _attributes: AppleEvent attribute dictionary
+               """
+               _code = 'aevt'
+               _subcode = 'rapp'
+
+               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 aetools.Error, aetools.decodeerror(_arguments)
+               # XXXX Optionally decode result
+               if _arguments.has_key('----'):
+                       return _arguments['----']
+
+       def _print(self, _object, _attributes={}, **_arguments):
+               """print: Print the specified object(s)
+               Required argument: list of objects to print
+               Keyword argument _attributes: AppleEvent attribute dictionary
+               """
+               _code = 'aevt'
+               _subcode = 'pdoc'
+
+               if _arguments: raise TypeError, 'No optional args expected'
+               _arguments['----'] = _object
+
+
+               _reply, _arguments, _attributes = self.send(_code, _subcode,
+                               _arguments, _attributes)
+               if _arguments.has_key('errn'):
+                       raise aetools.Error, aetools.decodeerror(_arguments)
+               # XXXX Optionally decode result
+               if _arguments.has_key('----'):
+                       return _arguments['----']
+
+       _argmap_quit = {
+               'saving' : 'savo',
+       }
+
+       def quit(self, _no_object=None, _attributes={}, **_arguments):
+               """quit: Quit an application
+               Keyword argument saving: specifies whether to save currently open documents
+               Keyword argument _attributes: AppleEvent attribute dictionary
+               """
+               _code = 'aevt'
+               _subcode = 'quit'
+
+               aetools.keysubst(_arguments, self._argmap_quit)
+               if _no_object != None: raise TypeError, 'No direct arg expected'
+
+               aetools.enumsubst(_arguments, 'savo', _Enum_savo)
+
+               _reply, _arguments, _attributes = self.send(_code, _subcode,
+                               _arguments, _attributes)
+               if _arguments.has_key('errn'):
+                       raise aetools.Error, aetools.decodeerror(_arguments)
+               # XXXX Optionally decode result
+               if _arguments.has_key('----'):
+                       return _arguments['----']
+
+       _argmap_close = {
+               'saving' : 'savo',
+               'saving_in' : 'kfil',
+       }
+
+_Enum_savo = {
+       'yes' : 'yes ', # Save objects now
+       'no' : 'no      ',      # Do not save objects
+       'ask' : 'ask ', # Ask the user whether to save
+}
+
+#
+# Indices of types declared in this module
+#
+_classdeclarations = {
+}
+
+_propdeclarations = {
+}
+
+_compdeclarations = {
+}
+
+_enumdeclarations = {
+       'savo' : _Enum_savo,
+}