summaryrefslogtreecommitdiffstats
path: root/Mac
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2002-01-22 23:20:12 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2002-01-22 23:20:12 (GMT)
commitd50c66b1e595e0b594d99a0c0d4919a3b6a85569 (patch)
treed44e1f7a857dbd0ffd5c062b0fcbeb1791d680ea /Mac
parentbbf5ef552f8485f6cb41ef4491c8172d3c543498 (diff)
downloadcpython-d50c66b1e595e0b594d99a0c0d4919a3b6a85569.zip
cpython-d50c66b1e595e0b594d99a0c0d4919a3b6a85569.tar.gz
cpython-d50c66b1e595e0b594d99a0c0d4919a3b6a85569.tar.bz2
A "magic" suite that is the base suite for StdSuites. This solves a problem with the required events open/openapp/reopen/print/quit officially being part of Required but being defined (by Apple) in Standard.
Most of the code and ideas contributed by Michael j. Barber.
Diffstat (limited to 'Mac')
-rw-r--r--Mac/Lib/lib-scriptpackages/_builtinSuites/__init__.py28
-rw-r--r--Mac/Lib/lib-scriptpackages/_builtinSuites/builtin_Suite.py140
2 files changed, 168 insertions, 0 deletions
diff --git a/Mac/Lib/lib-scriptpackages/_builtinSuites/__init__.py b/Mac/Lib/lib-scriptpackages/_builtinSuites/__init__.py
new file mode 100644
index 0000000..ac3c0ba
--- /dev/null
+++ b/Mac/Lib/lib-scriptpackages/_builtinSuites/__init__.py
@@ -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
index 0000000..237dc15
--- /dev/null
+++ b/Mac/Lib/lib-scriptpackages/_builtinSuites/builtin_Suite.py
@@ -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,
+}