1"""Suite Folder Actions Suite: Terms and Events for controlling Folder Actions
2Level 1, version 1
3
4Generated from /System/Library/CoreServices/System Events.app
5AETE/AEUT resource version 1/0, language 0, script 0
6"""
7
8import aetools
9import MacOS
10
11_code = 'faco'
12
13class Folder_Actions_Suite_Events:
14
15    _argmap_attach_action_to = {
16        'using' : 'faal',
17    }
18
19    def attach_action_to(self, _object, _attributes={}, **_arguments):
20        """attach action to: Attach an action to a folder
21        Required argument: the object for the command
22        Keyword argument using: a file containing the script to attach
23        Keyword argument _attributes: AppleEvent attribute dictionary
24        Returns: the reply for the command
25        """
26        _code = 'faco'
27        _subcode = 'atfa'
28
29        aetools.keysubst(_arguments, self._argmap_attach_action_to)
30        _arguments['----'] = _object
31
32
33        _reply, _arguments, _attributes = self.send(_code, _subcode,
34                _arguments, _attributes)
35        if _arguments.get('errn', 0):
36            raise aetools.Error, aetools.decodeerror(_arguments)
37        # XXXX Optionally decode result
38        if _arguments.has_key('----'):
39            return _arguments['----']
40
41    def attached_scripts(self, _object, _attributes={}, **_arguments):
42        """attached scripts: List the actions attached to a folder
43        Required argument: the object for the command
44        Keyword argument _attributes: AppleEvent attribute dictionary
45        Returns: the reply for the command
46        """
47        _code = 'faco'
48        _subcode = 'lact'
49
50        if _arguments: raise TypeError, 'No optional args expected'
51        _arguments['----'] = _object
52
53
54        _reply, _arguments, _attributes = self.send(_code, _subcode,
55                _arguments, _attributes)
56        if _arguments.get('errn', 0):
57            raise aetools.Error, aetools.decodeerror(_arguments)
58        # XXXX Optionally decode result
59        if _arguments.has_key('----'):
60            return _arguments['----']
61
62    _argmap_do_folder_action = {
63        'with_window_size' : 'fnsz',
64        'with_item_list' : 'flst',
65        'folder_action_code' : 'actn',
66    }
67
68    def do_folder_action(self, _object, _attributes={}, **_arguments):
69        """do folder action: Event the Finder sends to the Folder Actions FBA
70        Required argument: the object for the command
71        Keyword argument with_window_size: the new window size for the folder action message to process
72        Keyword argument with_item_list: a list of items for the folder action message to process
73        Keyword argument folder_action_code: the folder action message to process
74        Keyword argument _attributes: AppleEvent attribute dictionary
75        Returns: the reply for the command
76        """
77        _code = 'faco'
78        _subcode = 'fola'
79
80        aetools.keysubst(_arguments, self._argmap_do_folder_action)
81        _arguments['----'] = _object
82
83        aetools.enumsubst(_arguments, 'actn', _Enum_actn)
84
85        _reply, _arguments, _attributes = self.send(_code, _subcode,
86                _arguments, _attributes)
87        if _arguments.get('errn', 0):
88            raise aetools.Error, aetools.decodeerror(_arguments)
89        # XXXX Optionally decode result
90        if _arguments.has_key('----'):
91            return _arguments['----']
92
93    _argmap_edit_action_of = {
94        'using_action_name' : 'snam',
95        'using_action_number' : 'indx',
96    }
97
98    def edit_action_of(self, _object, _attributes={}, **_arguments):
99        """edit action of: Edit as action of a folder
100        Required argument: the object for the command
101        Keyword argument using_action_name: ...or the name of the action to edit
102        Keyword argument using_action_number: the index number of the action to edit...
103        Keyword argument _attributes: AppleEvent attribute dictionary
104        Returns: the reply for the command
105        """
106        _code = 'faco'
107        _subcode = 'edfa'
108
109        aetools.keysubst(_arguments, self._argmap_edit_action_of)
110        _arguments['----'] = _object
111
112
113        _reply, _arguments, _attributes = self.send(_code, _subcode,
114                _arguments, _attributes)
115        if _arguments.get('errn', 0):
116            raise aetools.Error, aetools.decodeerror(_arguments)
117        # XXXX Optionally decode result
118        if _arguments.has_key('----'):
119            return _arguments['----']
120
121    _argmap_remove_action_from = {
122        'using_action_name' : 'snam',
123        'using_action_number' : 'indx',
124    }
125
126    def remove_action_from(self, _object, _attributes={}, **_arguments):
127        """remove action from: Remove a folder action from a folder
128        Required argument: the object for the command
129        Keyword argument using_action_name: ...or the name of the action to remove
130        Keyword argument using_action_number: the index number of the action to remove...
131        Keyword argument _attributes: AppleEvent attribute dictionary
132        Returns: the reply for the command
133        """
134        _code = 'faco'
135        _subcode = 'rmfa'
136
137        aetools.keysubst(_arguments, self._argmap_remove_action_from)
138        _arguments['----'] = _object
139
140
141        _reply, _arguments, _attributes = self.send(_code, _subcode,
142                _arguments, _attributes)
143        if _arguments.get('errn', 0):
144            raise aetools.Error, aetools.decodeerror(_arguments)
145        # XXXX Optionally decode result
146        if _arguments.has_key('----'):
147            return _arguments['----']
148
149
150class application(aetools.ComponentItem):
151    """application - The Folder Actions Suite host program """
152    want = 'capp'
153class _Prop__3c_Inheritance_3e_(aetools.NProperty):
154    """<Inheritance> - All of the properties of the superclass. """
155    which = 'c@#^'
156    want = 'capp'
157_3c_Inheritance_3e_ = _Prop__3c_Inheritance_3e_()
158class _Prop_folder_actions_enabled(aetools.NProperty):
159    """folder actions enabled - Are Folder Actions currently being processed? """
160    which = 'faen'
161    want = 'bool'
162folder_actions_enabled = _Prop_folder_actions_enabled()
163class _Prop_properties(aetools.NProperty):
164    """properties - every property of the Folder Actions Suite host program """
165    which = 'pALL'
166    want = '****'
167properties = _Prop_properties()
168#        element 'cdis' as ['name', 'indx', 'rele', 'rang', 'test']
169#        element 'cfol' as ['name', 'indx', 'rele', 'rang', 'test']
170#        element 'cobj' as ['name', 'indx', 'rele', 'rang', 'test']
171#        element 'cwin' as ['name', 'indx', 'rele', 'rang', 'test', 'ID  ']
172#        element 'docu' as ['name', 'indx', 'rele', 'rang', 'test']
173#        element 'file' as ['name', 'indx', 'rele', 'rang', 'test']
174#        element 'foac' as ['name', 'indx', 'rele', 'rang', 'test']
175#        element 'logi' as ['name', 'indx', 'rele', 'rang', 'test']
176#        element 'pcap' as ['name', 'indx', 'rele', 'rang', 'test']
177#        element 'pcda' as ['name', 'indx', 'rele', 'rang', 'test']
178#        element 'prcs' as ['name', 'indx', 'rele', 'rang', 'test']
179
180applications = application
181
182class folder_action(aetools.ComponentItem):
183    """folder action - An action attached to a folder in the file system """
184    want = 'foac'
185class _Prop_name(aetools.NProperty):
186    """name - the name of the folder action, which is also the name of the folder """
187    which = 'pnam'
188    want = 'utxt'
189class _Prop_path(aetools.NProperty):
190    """path - the path to the folder to which the folder action applies """
191    which = 'ppth'
192    want = '****'
193class _Prop_volume(aetools.NProperty):
194    """volume - the volume on which the folder action resides """
195    which = 'volu'
196    want = 'utxt'
197#        element 'scpt' as ['name', 'indx', 'rele', 'rang', 'test']
198
199folder_actions = folder_action
200
201class script(aetools.ComponentItem):
202    """script - A script invoked by a folder action """
203    want = 'scpt'
204class _Prop_POSIX_path(aetools.NProperty):
205    """POSIX path - the POSIX file system path of the disk """
206    which = 'posx'
207    want = 'utxt'
208
209scripts = script
210application._superclassnames = []
211import Disk_Folder_File_Suite
212import Standard_Suite
213import Login_Items_Suite
214import Processes_Suite
215application._privpropdict = {
216    '_3c_Inheritance_3e_' : _Prop__3c_Inheritance_3e_,
217    'folder_actions_enabled' : _Prop_folder_actions_enabled,
218    'properties' : _Prop_properties,
219}
220application._privelemdict = {
221    'application_process' : Processes_Suite.application_process,
222    'desk_accessory_process' : Processes_Suite.desk_accessory_process,
223    'disk' : Disk_Folder_File_Suite.disk,
224    'document' : Standard_Suite.document,
225    'file' : Disk_Folder_File_Suite.file,
226    'folder' : Disk_Folder_File_Suite.folder,
227    'folder_action' : folder_action,
228    'item' : Disk_Folder_File_Suite.item,
229    'login_item' : Login_Items_Suite.login_item,
230    'process' : Processes_Suite.process,
231    'window' : Standard_Suite.window,
232}
233folder_action._superclassnames = ['item']
234folder_action._privpropdict = {
235    '_3c_Inheritance_3e_' : _Prop__3c_Inheritance_3e_,
236    'name' : _Prop_name,
237    'path' : _Prop_path,
238    'properties' : _Prop_properties,
239    'volume' : _Prop_volume,
240}
241folder_action._privelemdict = {
242    'script' : script,
243}
244script._superclassnames = ['item']
245script._privpropdict = {
246    'POSIX_path' : _Prop_POSIX_path,
247    '_3c_Inheritance_3e_' : _Prop__3c_Inheritance_3e_,
248    'name' : _Prop_name,
249    'path' : _Prop_path,
250    'properties' : _Prop_properties,
251}
252script._privelemdict = {
253}
254_Enum_actn = {
255    'items_added' : 'fget',     # items added
256    'items_removed' : 'flos',   # items removed
257    'window_closed' : 'fclo',   # window closed
258    'window_moved' : 'fsiz',    # window moved
259    'window_opened' : 'fopn',   # window opened
260}
261
262
263#
264# Indices of types declared in this module
265#
266_classdeclarations = {
267    'capp' : application,
268    'foac' : folder_action,
269    'scpt' : script,
270}
271
272_propdeclarations = {
273    'c@#^' : _Prop__3c_Inheritance_3e_,
274    'faen' : _Prop_folder_actions_enabled,
275    'pALL' : _Prop_properties,
276    'pnam' : _Prop_name,
277    'posx' : _Prop_POSIX_path,
278    'ppth' : _Prop_path,
279    'volu' : _Prop_volume,
280}
281
282_compdeclarations = {
283}
284
285_enumdeclarations = {
286    'actn' : _Enum_actn,
287}
288