1"""Suite Standard Suite: Common terms for most applications 2Level 1, version 1 3 4Generated from Macintosh HD:Hulpprogramma's:Disk Copy 5AETE/AEUT resource version 1/0, language 0, script 0 6""" 7 8import aetools 9import MacOS 10 11_code = 'Core' 12 13class Standard_Suite_Events: 14 15 _argmap_save = { 16 '_in' : 'kfil', 17 'using_format' : 'SvAs', 18 'checksum_verification' : 'VChk', 19 'signature_verification' : 'VSig', 20 'image_signing' : 'SImg', 21 'leave_image_mounted' : 'Moun', 22 'percent_free_space' : 'Slop', 23 'logical_blocks' : 'Blks', 24 'zeroing' : 'Zero', 25 } 26 27 def save(self, _object, _attributes={}, **_arguments): 28 """save: Save an object 29 Required argument: the source object 30 Keyword argument _in: the target object 31 Keyword argument using_format: the format for the target 32 Keyword argument checksum_verification: Should the checksum be verified before saving? 33 Keyword argument signature_verification: Should the DigiSign� signature be verified before saving? 34 Keyword argument image_signing: Should the image be signed? 35 Keyword argument leave_image_mounted: Should the image be mounted after saving? 36 Keyword argument percent_free_space: percent free space to reserve (for image folder operation, 0-255%) 37 Keyword argument logical_blocks: number of logical blocks in the image (for image folder operation) 38 Keyword argument zeroing: Should all the blocks in the image be set to zeros? (for image folder operation) 39 Keyword argument _attributes: AppleEvent attribute dictionary 40 Returns: the result of the save operation 41 """ 42 _code = 'core' 43 _subcode = 'save' 44 45 aetools.keysubst(_arguments, self._argmap_save) 46 _arguments['----'] = _object 47 48 aetools.enumsubst(_arguments, 'kfil', _Enum_obj_) 49 aetools.enumsubst(_arguments, 'SvAs', _Enum_SvAs) 50 aetools.enumsubst(_arguments, 'VChk', _Enum_bool) 51 aetools.enumsubst(_arguments, 'VSig', _Enum_bool) 52 aetools.enumsubst(_arguments, 'SImg', _Enum_bool) 53 aetools.enumsubst(_arguments, 'Moun', _Enum_bool) 54 aetools.enumsubst(_arguments, 'Slop', _Enum_long) 55 aetools.enumsubst(_arguments, 'Blks', _Enum_long) 56 aetools.enumsubst(_arguments, 'Zero', _Enum_bool) 57 58 _reply, _arguments, _attributes = self.send(_code, _subcode, 59 _arguments, _attributes) 60 if _arguments.has_key('errn'): 61 raise aetools.Error, aetools.decodeerror(_arguments) 62 # XXXX Optionally decode result 63 if _arguments.has_key('----'): 64 return _arguments['----'] 65 66 def do_script(self, _object, _attributes={}, **_arguments): 67 """do script: Execute an attached script located in the folder "Scripts" 68 Required argument: the script to be executed 69 Keyword argument _attributes: AppleEvent attribute dictionary 70 """ 71 _code = 'core' 72 _subcode = 'dosc' 73 74 if _arguments: raise TypeError, 'No optional args expected' 75 _arguments['----'] = _object 76 77 78 _reply, _arguments, _attributes = self.send(_code, _subcode, 79 _arguments, _attributes) 80 if _arguments.has_key('errn'): 81 raise aetools.Error, aetools.decodeerror(_arguments) 82 # XXXX Optionally decode result 83 if _arguments.has_key('----'): 84 return _arguments['----'] 85 86 87class application(aetools.ComponentItem): 88 """application - The Disk Copy application """ 89 want = 'capp' 90class version(aetools.NProperty): 91 """version - the version of this application """ 92 which = 'vers' 93 want = 'vers' 94class name(aetools.NProperty): 95 """name - the name of this application """ 96 which = 'pnam' 97 want = 'TEXT' 98class comment(aetools.NProperty): 99 """comment - the comment associated with the application """ 100 which = 'comt' 101 want = 'TEXT' 102class driver_version(aetools.NProperty): 103 """driver version - the version of the disk image driver """ 104 which = 'dVer' 105 want = 'vers' 106class nonejectable_mode(aetools.NProperty): 107 """nonejectable mode - Should mounted images be non-ejectable? """ 108 which = 'otto' 109 want = 'bool' 110class save_log_file(aetools.NProperty): 111 """save log file - Should the log file be saved on disk? """ 112 which = 'PSaL' 113 want = 'bool' 114class use_speech(aetools.NProperty): 115 """use speech - Should Disk Copy use spoken feedback? """ 116 which = 'PTlk' 117 want = 'bool' 118class smart_Save_As(aetools.NProperty): 119 """smart Save As - Should the Save As... dialog box automatically go to the right folder? """ 120 which = 'PSSP' 121 want = 'bool' 122class checksum_verification(aetools.NProperty): 123 """checksum verification - Should image checksums be verified? """ 124 which = 'PVeC' 125 want = 'bool' 126class signature_verification(aetools.NProperty): 127 """signature verification - Should digital signatures be verified? """ 128 which = 'PVeS' 129 want = 'bool' 130class exclude_DiskScripts(aetools.NProperty): 131 """exclude DiskScripts - Should images referenced in DiskScripts/DiskSets be excluded from verification? """ 132 which = 'PExD' 133 want = 'bool' 134class exclude_remote_images(aetools.NProperty): 135 """exclude remote images - Should images that are located on network volumes be excluded from verification? """ 136 which = 'PExR' 137 want = 'bool' 138class image_signing(aetools.NProperty): 139 """image signing - Should images be signed with a digital signature? """ 140 which = 'PSiI' 141 want = 'bool' 142class leave_image_mounted(aetools.NProperty): 143 """leave image mounted - Should images be mounted after they are created? """ 144 which = 'PMoA' 145 want = 'bool' 146class erase_confirmation(aetools.NProperty): 147 """erase confirmation - Should the user be required to confirm commands that erase disks? """ 148 which = 'PCoE' 149 want = 'bool' 150class zeroing(aetools.NProperty): 151 """zeroing - Should all blocks of a new image be set to zero? """ 152 which = 'PZeB' 153 want = 'bool' 154class default_create_size(aetools.NProperty): 155 """default create size - the default size for a new image, in blocks (512 bytes per block) """ 156 which = 'PDeS' 157 want = 'long' 158class default_create_name(aetools.NProperty): 159 """default create name - the default volume name for a new image """ 160 which = 'PDeN' 161 want = 'TEXT' 162class make_multiple_floppies(aetools.NProperty): 163 """make multiple floppies - Should the user be prompted to make multiple floppy disk images at a time? """ 164 which = 'PBuM' 165 want = 'bool' 166class auto_image_upon_insert(aetools.NProperty): 167 """auto image upon insert - Should a newly-inserted disk automatically be processed into an image? """ 168 which = 'Paim' 169 want = 'bool' 170class eject_after_auto_image(aetools.NProperty): 171 """eject after auto image - Should auto-imaged disks be ejected afterwards? """ 172 which = 'Pejc' 173 want = 'bool' 174class auto_copy_upon_floppy_insert(aetools.NProperty): 175 """auto copy upon floppy insert - Instead of auto-imaging, should newly-inserted floppy disks be copied? """ 176 which = 'Pcpf' 177 want = 'bool' 178class volume_suffix(aetools.NProperty): 179 """volume suffix - the default volume name suffix """ 180 which = 'PDiE' 181 want = 'TEXT' 182class image_suffix(aetools.NProperty): 183 """image suffix - the default image name suffix """ 184 which = 'PImE' 185 want = 'TEXT' 186class default_file_system(aetools.NProperty): 187 """default file system - the default file system type for new blank images """ 188 which = 'Pfsy' 189 want = 'Fsys' 190class default_image_format(aetools.NProperty): 191 """default image format - the default image file format """ 192 which = 'Pdfm' 193 want = 'SvAs' 194 195class disk(aetools.ComponentItem): 196 """disk - A mounted volume """ 197 want = 'Disk' 198 199name = name 200 201comment = comment 202class locked(aetools.NProperty): 203 """locked - Is the disk locked? """ 204 which = 'islk' 205 want = 'bool' 206class creation_date(aetools.NProperty): 207 """creation date - the creation date of disk """ 208 which = 'ascd' 209 want = 'ldt ' 210class modification_date(aetools.NProperty): 211 """modification date - the modification date of disk """ 212 which = 'asmo' 213 want = 'ldt ' 214class crc32_checksum(aetools.NProperty): 215 """crc32 checksum - the crc-32 checksum of the disk """ 216 which = 'Xcrc' 217 want = 'TEXT' 218class disk_copy_4_2e_2_checksum(aetools.NProperty): 219 """disk copy 4.2 checksum - the Disk Copy 4.2 checksum of the disk """ 220 which = 'Xc42' 221 want = 'TEXT' 222class block_count(aetools.NProperty): 223 """block count - the number of blocks on disk """ 224 which = 'Xblk' 225 want = 'long' 226class file_system(aetools.NProperty): 227 """file system - the file system used on disk """ 228 which = 'Xfsi' 229 want = 'TEXT' 230 231class folder(aetools.ComponentItem): 232 """folder - A folder or directory on a disk """ 233 want = 'Fold' 234 235name = name 236 237comment = comment 238 239creation_date = creation_date 240 241modification_date = modification_date 242 243class disk_image(aetools.ComponentItem): 244 """disk image - A disk image file """ 245 want = 'DImg' 246 247name = name 248 249comment = comment 250 251locked = locked 252 253creation_date = creation_date 254 255modification_date = modification_date 256class file_format(aetools.NProperty): 257 """file format - the format of the disk image file """ 258 which = 'Ifmt' 259 want = 'TEXT' 260class signed(aetools.NProperty): 261 """signed - Does the disk image have a DigiSign� signature? """ 262 which = 'Isin' 263 want = 'bool' 264class compressed(aetools.NProperty): 265 """compressed - Is the disk image compressed? """ 266 which = 'Icom' 267 want = 'bool' 268class segmented(aetools.NProperty): 269 """segmented - Is the disk image segmented? """ 270 which = 'Iseg' 271 want = 'bool' 272class segments(aetools.NProperty): 273 """segments - a list of references to other segments that make up a complete image """ 274 which = 'Isg#' 275 want = 'fss ' 276class disk_name(aetools.NProperty): 277 """disk name - the name of the disk this image represents """ 278 which = 'Idnm' 279 want = 'TEXT' 280 281crc32_checksum = crc32_checksum 282 283disk_copy_4_2e_2_checksum = disk_copy_4_2e_2_checksum 284 285block_count = block_count 286 287file_system = file_system 288class data_fork_size(aetools.NProperty): 289 """data fork size - the size (in bytes) of the data fork of the disk image """ 290 which = 'Idfk' 291 want = 'long' 292class resource_fork_size(aetools.NProperty): 293 """resource fork size - the size (in bytes) of the resource fork of the disk image """ 294 which = 'Irfk' 295 want = 'long' 296 297class Save_reply_record(aetools.ComponentItem): 298 """Save reply record - Result from the save operation """ 299 want = 'cpyR' 300class resulting_target_object(aetools.NProperty): 301 """resulting target object - a reference to the target object after it has been saved """ 302 which = 'rcpO' 303 want = 'obj ' 304class copy_type(aetools.NProperty): 305 """copy type - the way in which the target object was saved """ 306 which = 'rcpT' 307 want = 'rcpT' 308application._propdict = { 309 'version' : version, 310 'name' : name, 311 'comment' : comment, 312 'driver_version' : driver_version, 313 'nonejectable_mode' : nonejectable_mode, 314 'save_log_file' : save_log_file, 315 'use_speech' : use_speech, 316 'smart_Save_As' : smart_Save_As, 317 'checksum_verification' : checksum_verification, 318 'signature_verification' : signature_verification, 319 'exclude_DiskScripts' : exclude_DiskScripts, 320 'exclude_remote_images' : exclude_remote_images, 321 'image_signing' : image_signing, 322 'leave_image_mounted' : leave_image_mounted, 323 'erase_confirmation' : erase_confirmation, 324 'zeroing' : zeroing, 325 'default_create_size' : default_create_size, 326 'default_create_name' : default_create_name, 327 'make_multiple_floppies' : make_multiple_floppies, 328 'auto_image_upon_insert' : auto_image_upon_insert, 329 'eject_after_auto_image' : eject_after_auto_image, 330 'auto_copy_upon_floppy_insert' : auto_copy_upon_floppy_insert, 331 'volume_suffix' : volume_suffix, 332 'image_suffix' : image_suffix, 333 'default_file_system' : default_file_system, 334 'default_image_format' : default_image_format, 335} 336application._elemdict = { 337} 338disk._propdict = { 339 'name' : name, 340 'comment' : comment, 341 'locked' : locked, 342 'creation_date' : creation_date, 343 'modification_date' : modification_date, 344 'crc32_checksum' : crc32_checksum, 345 'disk_copy_4_2e_2_checksum' : disk_copy_4_2e_2_checksum, 346 'block_count' : block_count, 347 'file_system' : file_system, 348} 349disk._elemdict = { 350} 351folder._propdict = { 352 'name' : name, 353 'comment' : comment, 354 'creation_date' : creation_date, 355 'modification_date' : modification_date, 356} 357folder._elemdict = { 358} 359disk_image._propdict = { 360 'name' : name, 361 'comment' : comment, 362 'locked' : locked, 363 'creation_date' : creation_date, 364 'modification_date' : modification_date, 365 'file_format' : file_format, 366 'signed' : signed, 367 'compressed' : compressed, 368 'segmented' : segmented, 369 'segments' : segments, 370 'disk_name' : disk_name, 371 'crc32_checksum' : crc32_checksum, 372 'disk_copy_4_2e_2_checksum' : disk_copy_4_2e_2_checksum, 373 'block_count' : block_count, 374 'file_system' : file_system, 375 'data_fork_size' : data_fork_size, 376 'resource_fork_size' : resource_fork_size, 377} 378disk_image._elemdict = { 379} 380Save_reply_record._propdict = { 381 'resulting_target_object' : resulting_target_object, 382 'copy_type' : copy_type, 383} 384Save_reply_record._elemdict = { 385} 386_Enum_UIAc = { 387 'never_interact' : 'eNvr', # Don�t allow any interaction at all 388 'interact_with_self' : 'eInS', # Only allow interaction from internal events 389 'interact_with_local' : 'eInL', # Allow interaction from any event originating on this machine 390 'interact_with_all' : 'eInA', # Allow interaction from network events 391} 392 393_Enum_SvAs = { 394 'NDIF_RW' : 'RdWr', # read/write NDIF disk image 395 'NDIF_RO' : 'Rdxx', # read-only NDIF disk image 396 'NDIF_Compressed' : 'ROCo', # compressed NDIF disk image 397 'Disk_Copy_4_2e_2' : 'DC42', # Disk Copy 4.2 disk image 398} 399 400_Enum_rcpT = { 401 'block_disk_copy' : 'cpBl', # block-by-block disk-level copy 402 'files_and_file_ID_copy' : 'cpID', # all files including desktop databases and file ID�s 403 'files_and_desktop_info' : 'cpDT', # all files and most desktop information 404 'files_only' : 'cpFI', # all files but no desktop information 405 'disk_image_conversion' : 'cpCV', # disk image format conversion 406 'disk_image_creation' : 'cpCR', # disk image creation 407} 408 409_Enum_long = None # XXXX enum long not found!! 410_Enum_bool = None # XXXX enum bool not found!! 411_Enum_obj_ = None # XXXX enum obj not found!! 412 413# 414# Indices of types declared in this module 415# 416_classdeclarations = { 417 'DImg' : disk_image, 418 'capp' : application, 419 'Disk' : disk, 420 'Fold' : folder, 421 'cpyR' : Save_reply_record, 422} 423 424_propdeclarations = { 425 'Xcrc' : crc32_checksum, 426 'PDeS' : default_create_size, 427 'Idnm' : disk_name, 428 'PSSP' : smart_Save_As, 429 'Pcpf' : auto_copy_upon_floppy_insert, 430 'pnam' : name, 431 'Isin' : signed, 432 'otto' : nonejectable_mode, 433 'PExD' : exclude_DiskScripts, 434 'Iseg' : segmented, 435 'islk' : locked, 436 'asmo' : modification_date, 437 'PTlk' : use_speech, 438 'Pfsy' : default_file_system, 439 'PVeC' : checksum_verification, 440 'Xc42' : disk_copy_4_2e_2_checksum, 441 'rcpO' : resulting_target_object, 442 'Paim' : auto_image_upon_insert, 443 'comt' : comment, 444 'PCoE' : erase_confirmation, 445 'dVer' : driver_version, 446 'PDeN' : default_create_name, 447 'PBuM' : make_multiple_floppies, 448 'rcpT' : copy_type, 449 'PDiE' : volume_suffix, 450 'Ifmt' : file_format, 451 'Pdfm' : default_image_format, 452 'ascd' : creation_date, 453 'Pejc' : eject_after_auto_image, 454 'PZeB' : zeroing, 455 'PExR' : exclude_remote_images, 456 'PImE' : image_suffix, 457 'PVeS' : signature_verification, 458 'PSaL' : save_log_file, 459 'Xblk' : block_count, 460 'PMoA' : leave_image_mounted, 461 'Isg#' : segments, 462 'Irfk' : resource_fork_size, 463 'Icom' : compressed, 464 'Xfsi' : file_system, 465 'Idfk' : data_fork_size, 466 'vers' : version, 467 'PSiI' : image_signing, 468} 469 470_compdeclarations = { 471} 472 473_enumdeclarations = { 474 'SvAs' : _Enum_SvAs, 475 'UIAc' : _Enum_UIAc, 476 'rcpT' : _Enum_rcpT, 477} 478