diff --git a/Mac/Lib/toolbox/AppleScript_Suite.py b/Mac/Lib/toolbox/AppleScript_Suite.py new file mode 100644 index 00000000000..73ea0ccff85 --- /dev/null +++ b/Mac/Lib/toolbox/AppleScript_Suite.py @@ -0,0 +1,1502 @@ +"""Suite AppleScript Suite: Goodies for Gustav +Level 1, version 1 + +Generated from Moes:System folder:Extensions:Scripting Additions:Dialects:English Dialect +AETE/AEUT resource version 1/0, language 0, script 0 +""" + +import addpack +addpack.addpack('Tools') +addpack.addpack('bgen') +addpack.addpack('ae') + +import aetools +import MacOS + +_code = 'ascr' + +_Enum_cons = { + 'case' : 'case', # case + 'diacriticals' : 'diac', # diacriticals + 'white_space' : 'whit', # white space + 'hyphens' : 'hyph', # hyphens + 'expansion' : 'expa', # expansion + 'punctuation' : 'punc', # punctuation + 'application_responses' : 'rmte', # remote event replies +} + +_Enum_boov = { + 'true' : 'true', # the true boolean value + 'false' : 'fals', # the false boolean value +} + +_Enum_misc = { + 'current_application' : 'cura', # the current application +} + +class AppleScript_Suite: + + def activate(self, *arguments): + """activate: Bring targeted application program to the front. + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'misc' + _subcode = 'actv' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 log(self, object, *arguments): + """log: Cause a comment to be logged. + Required argument: anything + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'ascr' + _subcode = 'cmnt' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 stop_log(self, *arguments): + """stop log: + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'ToyS' + _subcode = 'log0' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 start_log(self, *arguments): + """start log: + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'ToyS' + _subcode = 'log1' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 copy(self, *arguments): + """copy: Copy an object to the clipboard + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'misc' + _subcode = 'copy' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 do_script(self, object, *arguments): + """do script: Execute a script + Required argument: the script to execute + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'misc' + _subcode = 'dosc' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 idle(self, *arguments): + """idle: Sent to a script application when it is idle + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: Number of seconds to wait for next idle event + """ + _code = 'misc' + _subcode = 'idle' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 launch(self, *arguments): + """launch: Start an application for scripting + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'noop' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 tell(self, *arguments): + """tell: Magic tell event for event logging + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'tell' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 end_tell(self, *arguments): + """end tell: Start an application for scripting + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'tend' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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_error = { + 'number' : 'errn', + 'partial_result' : 'ptlr', + '_from' : 'erob', + 'to' : 'errt', + } + + def error(self, object, *arguments): + """error: Raise an error + Required argument: anything + Keyword argument number: an error number + Keyword argument partial_result: any partial result occurring before the error + Keyword argument _from: the object that caused the error + Keyword argument to: another parameter to the error + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'err ' + + if len(arguments): + object = arguments[0] + arguments = arguments[1:] + else: + object = None + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_error) + + 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_Call_a5_subroutine = { + 'at' : 'at ', + '_from' : 'from', + '_for' : 'for ', + 'to' : 'to ', + 'thru' : 'thru', + 'through' : 'thgh', + 'by' : 'by ', + 'on' : 'on ', + 'into' : 'into', + 'onto' : 'onto', + 'between' : 'btwn', + 'against' : 'agst', + 'out_of' : 'outo', + 'instead_of' : 'isto', + 'aside_from' : 'asdf', + 'around' : 'arnd', + 'beside' : 'bsid', + 'beneath' : 'bnth', + 'under' : 'undr', + 'over' : 'over', + 'above' : 'abve', + 'below' : 'belw', + 'apart_from' : 'aprt', + 'given' : 'givn', + 'with' : 'with', + 'without' : 'wout', + 'about' : 'abou', + 'since' : 'snce', + 'until' : 'till', + 'returning' : 'Krtn', + } + + def Call_a5_subroutine(self, object, *arguments): + """Call¥subroutine: A subroutine call + Required argument: anything + Keyword argument at: a preposition + Keyword argument _from: a preposition + Keyword argument _for: a preposition + Keyword argument to: a preposition + Keyword argument thru: a preposition + Keyword argument through: a preposition + Keyword argument by: a preposition + Keyword argument on: a preposition + Keyword argument into: a preposition + Keyword argument onto: a preposition + Keyword argument between: a preposition + Keyword argument against: a preposition + Keyword argument out_of: a preposition + Keyword argument instead_of: a preposition + Keyword argument aside_from: a preposition + Keyword argument around: a preposition + Keyword argument beside: a preposition + Keyword argument beneath: a preposition + Keyword argument under: a preposition + Keyword argument over: a preposition + Keyword argument above: a preposition + Keyword argument below: a preposition + Keyword argument apart_from: a preposition + Keyword argument given: a preposition + Keyword argument with: special preposition for setting event properties + Keyword argument without: special preposition for clearing event properties + Keyword argument about: a preposition + Keyword argument since: a preposition + Keyword argument until: a preposition + Keyword argument returning: specifies a pattern to match results to + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'psbr' + + if len(arguments): + object = arguments[0] + arguments = arguments[1:] + else: + object = None + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_Call_a5_subroutine) + + 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 _3d_(self, object, *arguments): + """=: Equality + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '= ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _ad_(self, object, *arguments): + """­: Inequality + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '\255 ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _2b_(self, object, *arguments): + """+: Addition + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '+ ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _2d_(self, object, *arguments): + """-: Subtraction + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '- ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _2a_(self, object, *arguments): + """*: Multiplication + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '* ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _d6_(self, object, *arguments): + """Ö: Division + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '/ ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 div(self, object, *arguments): + """div: Quotient + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'div ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 mod(self, object, *arguments): + """mod: Remainder + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'mod ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _5e_(self, object, *arguments): + """^: Exponentiation + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '^ ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _3e_(self, object, *arguments): + """>: Greater than + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '> ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _b3_(self, object, *arguments): + """³: Greater than or equal to + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '>= ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _3c_(self, object, *arguments): + """<: Less than + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '< ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _b2_(self, object, *arguments): + """²: Less than or equal to + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = '<= ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _26_(self, object, *arguments): + """&: Concatenation + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'ccat' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 starts_with(self, object, *arguments): + """starts with: Starts with + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'bgwt' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 ends_with(self, object, *arguments): + """ends with: Ends with + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'ends' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 contains(self, object, *arguments): + """contains: Containment + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'cont' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _and(self, object, *arguments): + """and: Logical conjunction + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'AND ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _or(self, object, *arguments): + """or: Logical disjunction + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'OR ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 as(self, object, *arguments): + """as: Coercion + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'coer' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _not(self, object, *arguments): + """not: Logical negation + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'NOT ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 negate(self, object, *arguments): + """negate: Numeric negation + Required argument: an AE object reference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: anything + """ + _code = 'ascr' + _subcode = 'neg ' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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['----'] + + +# Class '' ('undf') -- 'the undefined value' + +# Class 'upper case' ('case') -- 'Text with lower case converted to upper case' + +# Class 'machines' ('mach') -- 'every computer' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'machine' ('mach') -- 'A computer' + +# Class 'zones' ('zone') -- 'every AppleTalk zone' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'zone' ('zone') -- 'AppleTalk zone' + +# Class 'seconds' ('scnd') -- 'more than one second' + +# Class 'item' ('cobj') -- 'An item of any type' +# property 'id' ('ID ') 'long' -- 'the unique id number of this object' [mutable] + +# Class 'items' ('cobj') -- 'Every item' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'text items' ('citm') -- '' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'text item' ('citm') -- '' + +# Class 'date' ('ldt ') -- 'Absolute date and time values' +# property 'weekday' ('wkdy') 'wkdy' -- 'the day of a week of a date' [] +# property 'month' ('mnth') 'mnth' -- 'the month of a date' [] +# property 'day' ('day ') 'long' -- 'the day of the month of a date' [] +# property 'year' ('year') 'long' -- 'the year of a date' [] +# property 'time' ('time') 'long' -- 'the time since midnight of a date' [] +# property 'date string' ('dstr') 'TEXT' -- 'the date portion of a date-time value as a string' [] +# property 'time string' ('tstr') 'TEXT' -- 'the time portion of a date-time value as a string' [] + +# Class 'dates' ('ldt ') -- 'every date' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'month' ('mnth') -- 'a month' + +# Class 'months' ('mnth') -- 'every month' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'January' ('jan ') -- "It's June in January..." + +# Class 'February' ('feb ') -- 'the month of February' + +# Class 'March' ('mar ') -- 'the month of March' + +# Class 'April' ('apr ') -- 'the month of April' + +# Class 'May' ('may ') -- 'the very merry month of May' + +# Class 'June' ('jun ') -- 'the month of June' + +# Class 'July' ('jul ') -- 'the month of July' + +# Class 'August' ('aug ') -- 'the month of August' + +# Class 'September' ('sep ') -- 'the month of September' + +# Class 'October' ('oct ') -- 'the month of October' + +# Class 'November' ('nov ') -- 'the month of November' + +# Class 'December' ('dec ') -- 'the month of December' + +# Class 'weekday' ('wkdy') -- 'a weekday' + +# Class 'weekdays' ('wkdy') -- 'every weekday' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'Sunday' ('sun ') -- 'Sunday Bloody Sunday' + +# Class 'Monday' ('mon ') -- 'Blue Monday' + +# Class 'Tuesday' ('tue ') -- 'Ruby Tuesday' + +# Class 'Wednesday' ('wed ') -- 'Wednesday Week' + +# Class 'Thursday' ('thu ') -- 'Thursday Afternoon' + +# Class 'Friday' ('fri ') -- 'Friday' + +# Class 'Saturday' ('sat ') -- "Saturday Night's Alright for Fighting" + +# Class 'RGB color' ('cRGB') -- 'Three numbers specifying red, green, blue color values' + +# Class 'RGB colors' ('cRGB') -- 'every RGB color' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'integer' ('long') -- 'An integral number' + +# Class 'integers' ('long') -- 'every integer' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'boolean' ('bool') -- 'A true or false value' + +# Class 'booleans' ('bool') -- 'every boolean' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'real' ('doub') -- 'A real number' + +# Class 'reals' ('doub') -- 'every real' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'list' ('list') -- 'An ordered collection of items' +# property 'length' ('leng') 'long' -- 'the length of a list' [] + +# Class 'lists' ('list') -- 'every list' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'linked list' ('llst') -- 'An ordered collection of items' +# property 'length' ('leng') 'long' -- 'the length of a list' [] + +# Class 'linked lists' ('llst') -- 'every linked list' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'vector' ('vect') -- 'An ordered collection of items' +# property 'length' ('leng') 'long' -- 'the length of a list' [] + +# Class 'vectors' ('vect') -- 'every vector' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'record' ('reco') -- 'A set of labeled items' + +# Class 'records' ('reco') -- 'every record' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'script' ('scpt') -- 'An AppleScript script' +# property 'parent' ('pare') 'scpt' -- 'the parent of a script' [] + +# Class 'scripts' ('scpt') -- 'every script' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'string' ('TEXT') -- 'a sequence of characters' + +# Class 'strings' ('TEXT') -- 'every string' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'styled text' ('STXT') -- 'a sequence of characters with style' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'number' ('nmbr') -- 'an integer or floating point number' + +# Class 'numbers' ('nmbr') -- 'every number' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'class' ('pcls') -- 'the type of a value' +# property 'inherits' ('c@#^') 'pcls' -- 'classes to inherit properties from' [] + +# Class 'classes' ('pcls') -- 'every class' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'event' ('evnt') -- 'an AppleEvents event' + +# Class 'events' ('evnt') -- 'every event' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'property' ('prop') -- 'an AppleEvents property' + +# Class 'properties' ('prop') -- 'every property' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'constant' ('enum') -- 'A constant value' + +# Class 'constants' ('enum') -- 'every constant' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'preposition' ('prep') -- 'an AppleEvents preposition' + +# Class 'prepositions' ('prep') -- 'every preposition' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'key' ('keyf') -- 'an AppleEvents key form' + +# Class 'keys' ('keyf') -- 'every key' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'picture' ('PICT') -- 'A picture' + +# Class 'pictures' ('PICT') -- 'every picture' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'reference' ('obj ') -- 'An AppleScript reference' + +# Class 'references' ('obj ') -- 'every reference' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'data' ('rdat') -- 'An AppleScript raw data object' + +# Class 'handler' ('hand') -- 'An AppleScript handler' + +# Class 'handlers' ('hand') -- 'every handler' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'list or record' ('lr ') -- 'a list or record' + +# Class 'list or string' ('ls ') -- 'a list or string' + +# Class 'list, record or text' ('lrs ') -- 'a list, record or text' + +# Class 'number or date' ('nd ') -- 'a number or date' + +# Class 'number, date or text' ('nds ') -- 'a number, date or text' + +# Class 'alias' ('alis') -- 'a reference to an existing file' + +# Class 'aliases' ('alis') -- 'every alias' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'application' ('capp') -- 'specifies global properties of AppleScript' +# property 'result' ('rslt') 'cobj' -- 'the last result of evaluation' [] +# property 'space' ('spac') 'TEXT' -- 'a space character' [] +# property 'return' ('ret ') 'TEXT' -- 'a return character' [] +# property 'tab' ('tab ') 'TEXT' -- 'a tab character' [] +# property 'minutes' ('min ') 'TEXT' -- 'the number of seconds in a minute' [] +# property 'hours' ('hour') 'TEXT' -- 'the number of seconds in an hour' [] +# property 'days' ('days') 'TEXT' -- 'the number of seconds in a day' [] +# property 'weeks' ('week') 'TEXT' -- 'the number of seconds in a week' [] +# property 'pi' ('pi ') 'doub' -- 'the constant pi' [] +# property 'print length' ('prln') 'long' -- 'the maximum length to print' [] +# property 'print depth' ('prdp') 'long' -- 'the maximum depth to print' [] +# property 'reverse' ('rvse') 'list' -- 'the reverse of a list' [] +# property 'rest' ('rest') 'list' -- 'the rest of a list' [] +# property 'text item delimiters' ('txdl') 'list' -- 'the text item delimiters of a string' [] +# property 'AppleScript' ('ascr') 'scpt' -- 'the top-level script object' [] + +# Class 'applications' ('capp') -- 'every application' +# property '' ('c@#!') 'type' -- '' [0] + +# Class 'app' ('capp') -- 'Short name for application' + +# Class 'version' ('vers') -- 'a version value' + +# Class 'writing code info' ('citl') -- 'Script code and language code of text run' +# property 'script code' ('pscd') 'shor' -- 'the script code for the text' [] +# property 'language code' ('plcd') 'shor' -- 'the language code for the text' [] + +# Class 'writing code infos' ('citl') -- 'every writing code info' +# property '' ('c@#!') 'type' -- '' [0] diff --git a/Mac/Lib/toolbox/Required_Suite.py b/Mac/Lib/toolbox/Required_Suite.py new file mode 100644 index 00000000000..4f317c95477 --- /dev/null +++ b/Mac/Lib/toolbox/Required_Suite.py @@ -0,0 +1,147 @@ +"""Suite Required Suite: Terms that every application should support +Level 1, version 1 + +Generated from Moes:System folder:Extensions:Scripting Additions:Dialects:English Dialect +AETE/AEUT resource version 1/0, language 0, script 0 +""" + +import addpack +addpack.addpack('Tools') +addpack.addpack('bgen') +addpack.addpack('ae') + +import aetools +import MacOS + +_code = 'reqd' + +class Required_Suite: + + def open(self, object, *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 len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _print(self, object, *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 len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 quit(self, *arguments): + """quit: Quit application + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'aevt' + _subcode = 'quit' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 run(self, *arguments): + """run: Sent to an application when it is double-clicked + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'aevt' + _subcode = 'oapp' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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['----'] + diff --git a/Mac/Lib/toolbox/Standard_Suite.py b/Mac/Lib/toolbox/Standard_Suite.py new file mode 100644 index 00000000000..ca7908bfe1b --- /dev/null +++ b/Mac/Lib/toolbox/Standard_Suite.py @@ -0,0 +1,663 @@ +"""Suite Standard Suite: Common terms for most applications +Level 1, version 1 + +Generated from Moes:Programma's:Speech Technology:Scriptable Text Editor +AETE/AEUT resource version 1/0, language 0, script 0 +""" + +import addpack +addpack.addpack('Tools') +addpack.addpack('bgen') +addpack.addpack('ae') + +import aetools +import MacOS + +_code = 'CoRe' + +_Enum_savo = { + 'yes' : 'yes ', # Save objects now + 'no' : 'no ', # Do not save objects + 'ask' : 'ask ', # Ask the user whether to save +} + +_Enum_kfrm = { + 'index' : 'indx', # keyform designating indexed access + 'named' : 'name', # keyform designating named access + 'id' : 'ID ', # keyform designating identifer access +} + +class Standard_Suite: + + _argmap_close = { + 'saving' : 'savo', + 'saving_in' : 'kfil', + } + + def close(self, object, *arguments): + """close: Close an object + Required argument: the object to close + Keyword argument saving: Specifies whether or not changes should be saved before closing + Keyword argument saving_in: the file in which to save the object + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'core' + _subcode = 'clos' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_close) + aetools.enumsubst(arguments, 'savo', _Enum_savo) + + 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_count = { + 'each' : 'kocl', + } + + def count(self, object, *arguments): + """count: Return the number of elements of a particular class within an object + Required argument: the object whose elements are to be counted + Keyword argument each: the class of the elements to be counted. Keyword 'each' is optional in AppleScript + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: the number of elements + """ + _code = 'core' + _subcode = 'cnte' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_count) + + 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_data_size = { + 'as' : 'rtyp', + } + + def data_size(self, object, *arguments): + """data size: Return the size in bytes of an object + Required argument: the object whose data size is to be returned + Keyword argument as: the data type for which the size is calculated + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: the size of the object in bytes + """ + _code = 'core' + _subcode = 'dsiz' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_data_size) + + 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 delete(self, object, *arguments): + """delete: Delete an element from an object + Required argument: the element to delete + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'core' + _subcode = 'delo' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 = { + 'to' : 'insh', + } + + def duplicate(self, object, *arguments): + """duplicate: Duplicate object(s) + Required argument: the object(s) to duplicate + Keyword argument to: the new location for the object(s) + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: to the duplicated object(s) + """ + _code = 'core' + _subcode = 'clon' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_duplicate) + + 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 exists(self, object, *arguments): + """exists: Verify if an object exists + Required argument: the object in question + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: true if it exists, false if not + """ + _code = 'core' + _subcode = 'doex' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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_get = { + 'as' : 'rtyp', + } + + def get(self, object, *arguments): + """get: Get the data for an object + Required argument: the object whose data is to be returned + Keyword argument as: the desired types for the data, in order of preference + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: The data from the object + """ + _code = 'core' + _subcode = 'getd' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_get) + + 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 = { + 'new' : 'kocl', + 'at' : 'insh', + 'with_data' : 'data', + 'with_properties' : 'prdt', + } + + def make(self, *arguments): + """make: Make a new element + Keyword argument new: the class of the new element. Keyword 'new' is optional in AppleScript + Keyword argument at: the location at which to insert the element + Keyword argument with_data: the initial data for the element + Keyword argument with_properties: the initial values for the properties of the element + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: to the new object(s) + """ + _code = 'core' + _subcode = 'crel' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_make) + + 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' : 'insh', + } + + def move(self, object, *arguments): + """move: Move object(s) to a new location + Required argument: the object(s) to move + Keyword argument to: the new location for the object(s) + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: to the object(s) after they have been moved + """ + _code = 'core' + _subcode = 'move' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_move) + + 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 open(self, object, *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 len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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 _print(self, object, *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 len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + + 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_quit = { + 'saving' : 'savo', + } + + def quit(self, *arguments): + """quit: Quit an application program + Keyword argument saving: Specifies whether or not to save currently open documents + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'aevt' + _subcode = 'quit' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_quit) + aetools.enumsubst(arguments, 'savo', _Enum_savo) + + 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_save = { + '_in' : 'kfil', + 'as' : 'fltp', + } + + def save(self, object, *arguments): + """save: Save an object + Required argument: the object to save + Keyword argument _in: the file in which to save the object + Keyword argument as: the file type of the document in which to save the data + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'core' + _subcode = 'save' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_save) + + 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_set = { + 'to' : 'data', + } + + def set(self, object, *arguments): + """set: Set an object's data + Required argument: the object to change + Keyword argument to: the new value + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'core' + _subcode = 'setd' + + if len(arguments) > 1: + raise TypeError, 'Too many arguments' + if arguments: + arguments = arguments[0] + if type(arguments) <> type({}): + raise TypeError, 'Must be a mapping' + else: + arguments = {} + arguments['----'] = object + + if arguments.has_key('_attributes'): + attributes = arguments['_attributes'] + del arguments['_attributes'] + else: + attributes = {} + + aetools.keysubst(arguments, self._argmap_set) + + 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['----'] + + +# Class 'application' ('capp') -- 'An application program' +# property 'clipboard' ('pcli') '****' -- 'contents of the clipboard' [mutable list] +# property 'frontmost' ('pisf') 'bool' -- 'Is this the frontmost application?' [] +# property 'name' ('pnam') 'itxt' -- 'the name' [] +# property 'selection' ('sele') 'csel' -- 'the selection visible to the user' [mutable] +# property 'version' ('vers') 'vers' -- 'the version of the application' [] +# property 'text item delimiters' ('txdl') 'list' -- 'a list of all the text item delimiters' [mutable] +# element 'docu' as ['indx', 'name', 'rang', 'test'] +# element 'cwin' as ['indx', 'name', 'rang', 'test'] + +# Class 'applications' ('capp') -- 'Every application' +# property 'class attributes' ('c@#!') 'type' -- 'special class attributes' [0] + +# Class 'document' ('docu') -- 'A document' +# property 'bounds' ('pbnd') 'qdrt' -- 'the boundary rectangle for the document' [mutable] +# property 'closeable' ('hclb') 'bool' -- 'Does the document have a close box?' [] +# property 'titled' ('ptit') 'bool' -- 'Does the document have a title bar?' [] +# property 'index' ('pidx') 'long' -- 'the number of the document' [mutable] +# property 'floating' ('isfl') 'bool' -- 'Does the document float?' [] +# property 'modal' ('pmod') 'bool' -- 'Is the document modal?' [] +# property 'resizable' ('prsz') 'bool' -- 'Is the document resizable?' [] +# property 'zoomable' ('iszm') 'bool' -- 'Is the document zoomable?' [] +# property 'zoomed' ('pzum') 'bool' -- 'Is the document zoomed?' [mutable] +# property 'name' ('pnam') 'itxt' -- 'the title of the document' [mutable] +# property 'selection' ('sele') 'csel' -- 'the selection visible to the user' [mutable] +# property 'visible' ('pvis') 'bool' -- 'Is the document visible?' [] +# property 'modified' ('imod') 'bool' -- 'Has the document been modified since the last save?' [] +# property 'position' ('ppos') 'QDpt' -- 'upper left coordinates of the document' [] +# element 'cha ' as ['indx', 'rele', 'rang', 'test'] +# element 'cins' as ['rele'] +# element 'cpar' as ['indx', 'rele', 'rang', 'test'] +# element 'ctxt' as ['rang'] +# element 'citm' as ['indx', 'rele', 'rang', 'test'] +# element 'cwor' as ['indx', 'rele', 'rang', 'test'] + +# Class 'documents' ('docu') -- 'Every document' +# property 'class attributes' ('c@#!') 'type' -- 'special class attributes' [0] + +# Class 'file' ('file') -- 'A file' + +# Class 'files' ('file') -- 'Every file' +# property 'class attributes' ('c@#!') 'type' -- 'special class attributes' [0] + +# Class 'insertion point' ('cins') -- 'An insertion location between two objects' +# property 'length' ('leng') 'long' -- 'length of text object (in characters)' [] +# property 'offset' ('ofse') 'long' -- 'offset of a text object from the beginning of the document (first char has offset 1)' [] +# property 'font' ('font') 'ctxt' -- 'the name of the font' [mutable] +# property 'size' ('ptsz') 'long' -- 'the size in points' [mutable] +# property 'style' ('txst') 'tsty' -- 'the text style' [mutable] +# property 'uniform styles' ('ustl') 'tsty' -- 'the text style' [] +# property 'writing code' ('psct') 'intl' -- 'the script system and language' [mutable] + +# Class 'insertion points' ('cins') -- 'Every insertion location' +# property 'class attributes' ('c@#!') 'type' -- 'special class attributes' [0] + +# Class 'selection-object' ('csel') -- 'the selection visible to the user' +# property 'contents' ('pcnt') 'type' -- 'the contents of the selection' [mutable] +# property 'length' ('leng') 'long' -- 'length of text object (in characters)' [] +# property 'offset' ('ofse') 'long' -- 'offset of a text object from the beginning of the document (first char has offset 1)' [] +# property 'font' ('font') 'ctxt' -- 'the name of the font' [mutable] +# property 'size' ('ptsz') 'long' -- 'the size in points' [mutable] +# property 'style' ('txst') 'tsty' -- 'the text style' [mutable] +# property 'uniform styles' ('ustl') 'tsty' -- 'the text style' [] +# property 'writing code' ('psct') 'intl' -- 'the script system and language' [mutable] +# element 'cha ' as ['indx', 'rele', 'rang', 'test'] +# element 'cpar' as ['indx', 'rele', 'rang', 'test'] +# element 'ctxt' as ['rang'] +# element 'citm' as ['indx', 'rele', 'rang', 'test'] +# element 'cwor' as ['indx', 'rele', 'rang', 'test'] + +# Class 'window' ('cwin') -- 'A window' +# property 'bounds' ('pbnd') 'qdrt' -- 'the boundary rectangle for the window' [mutable] +# property 'closeable' ('hclb') 'bool' -- 'Does the window have a close box?' [] +# property 'titled' ('ptit') 'bool' -- 'Does the window have a title bar?' [] +# property 'index' ('pidx') 'long' -- 'the number of the window' [mutable] +# property 'floating' ('isfl') 'bool' -- 'Does the window float?' [] +# property 'modal' ('pmod') 'bool' -- 'Is the window modal?' [] +# property 'resizable' ('prsz') 'bool' -- 'Is the window resizable?' [] +# property 'zoomable' ('iszm') 'bool' -- 'Is the window zoomable?' [] +# property 'zoomed' ('pzum') 'bool' -- 'Is the window zoomed?' [mutable] +# property 'name' ('pnam') 'itxt' -- 'the title of the window' [mutable] +# property 'selection' ('sele') 'csel' -- 'the selection visible to the user' [mutable] +# property 'visible' ('pvis') 'bool' -- 'is the window visible?' [] +# property 'modified' ('imod') 'bool' -- 'has the window been modified since the last save?' [] +# property 'position' ('ppos') 'QDpt' -- 'upper left coordinates of window' [] +# element 'cha ' as ['indx', 'rele', 'rang', 'test'] +# element 'cins' as ['rele'] +# element 'cpar' as ['indx', 'rele', 'rang', 'test'] +# element 'ctxt' as ['rang'] +# element 'citm' as ['indx', 'rele', 'rang', 'test'] +# element 'cwor' as ['indx', 'rele', 'rang', 'test'] + +# Class 'windows' ('cwin') -- 'Every window' +# property 'class attributes' ('c@#!') 'type' -- 'special class attributes' [0]