Home | History | Annotate | Download | only in Disk_Copy
      1 """Suite Standard Suite: Common terms for most applications
      2 Level 1, version 1
      3 
      4 Generated from Macintosh HD:Hulpprogramma's:Disk Copy
      5 AETE/AEUT resource version 1/0, language 0, script 0
      6 """
      7 
      8 import aetools
      9 import MacOS
     10 
     11 _code = 'Core'
     12 
     13 class 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 
     87 class application(aetools.ComponentItem):
     88     """application - The Disk Copy application """
     89     want = 'capp'
     90 class version(aetools.NProperty):
     91     """version - the version of this application """
     92     which = 'vers'
     93     want = 'vers'
     94 class name(aetools.NProperty):
     95     """name - the name of this application """
     96     which = 'pnam'
     97     want = 'TEXT'
     98 class comment(aetools.NProperty):
     99     """comment - the comment associated with the application """
    100     which = 'comt'
    101     want = 'TEXT'
    102 class driver_version(aetools.NProperty):
    103     """driver version - the version of the disk image driver """
    104     which = 'dVer'
    105     want = 'vers'
    106 class nonejectable_mode(aetools.NProperty):
    107     """nonejectable mode - Should mounted images be non-ejectable? """
    108     which = 'otto'
    109     want = 'bool'
    110 class save_log_file(aetools.NProperty):
    111     """save log file - Should the log file be saved on disk? """
    112     which = 'PSaL'
    113     want = 'bool'
    114 class use_speech(aetools.NProperty):
    115     """use speech - Should Disk Copy use spoken feedback? """
    116     which = 'PTlk'
    117     want = 'bool'
    118 class 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'
    122 class checksum_verification(aetools.NProperty):
    123     """checksum verification - Should image checksums be verified? """
    124     which = 'PVeC'
    125     want = 'bool'
    126 class signature_verification(aetools.NProperty):
    127     """signature verification - Should digital signatures be verified? """
    128     which = 'PVeS'
    129     want = 'bool'
    130 class exclude_DiskScripts(aetools.NProperty):
    131     """exclude DiskScripts - Should images referenced in DiskScripts/DiskSets be excluded from verification? """
    132     which = 'PExD'
    133     want = 'bool'
    134 class 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'
    138 class image_signing(aetools.NProperty):
    139     """image signing - Should images be signed with a digital signature? """
    140     which = 'PSiI'
    141     want = 'bool'
    142 class leave_image_mounted(aetools.NProperty):
    143     """leave image mounted - Should images be mounted after they are created? """
    144     which = 'PMoA'
    145     want = 'bool'
    146 class erase_confirmation(aetools.NProperty):
    147     """erase confirmation - Should the user be required to confirm commands that erase disks? """
    148     which = 'PCoE'
    149     want = 'bool'
    150 class zeroing(aetools.NProperty):
    151     """zeroing - Should all blocks of a new image be set to zero? """
    152     which = 'PZeB'
    153     want = 'bool'
    154 class 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'
    158 class default_create_name(aetools.NProperty):
    159     """default create name - the default volume name for a new image """
    160     which = 'PDeN'
    161     want = 'TEXT'
    162 class 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'
    166 class 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'
    170 class eject_after_auto_image(aetools.NProperty):
    171     """eject after auto image - Should auto-imaged disks be ejected afterwards? """
    172     which = 'Pejc'
    173     want = 'bool'
    174 class 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'
    178 class volume_suffix(aetools.NProperty):
    179     """volume suffix - the default volume name suffix """
    180     which = 'PDiE'
    181     want = 'TEXT'
    182 class image_suffix(aetools.NProperty):
    183     """image suffix - the default image name suffix """
    184     which = 'PImE'
    185     want = 'TEXT'
    186 class default_file_system(aetools.NProperty):
    187     """default file system - the default file system type for new blank images """
    188     which = 'Pfsy'
    189     want = 'Fsys'
    190 class default_image_format(aetools.NProperty):
    191     """default image format - the default image file format """
    192     which = 'Pdfm'
    193     want = 'SvAs'
    194 
    195 class disk(aetools.ComponentItem):
    196     """disk - A mounted volume """
    197     want = 'Disk'
    198 
    199 name = name
    200 
    201 comment = comment
    202 class locked(aetools.NProperty):
    203     """locked - Is the disk locked? """
    204     which = 'islk'
    205     want = 'bool'
    206 class creation_date(aetools.NProperty):
    207     """creation date - the creation date of disk """
    208     which = 'ascd'
    209     want = 'ldt '
    210 class modification_date(aetools.NProperty):
    211     """modification date - the modification date of disk """
    212     which = 'asmo'
    213     want = 'ldt '
    214 class crc32_checksum(aetools.NProperty):
    215     """crc32 checksum - the crc-32 checksum of the disk """
    216     which = 'Xcrc'
    217     want = 'TEXT'
    218 class 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'
    222 class block_count(aetools.NProperty):
    223     """block count - the number of blocks on disk """
    224     which = 'Xblk'
    225     want = 'long'
    226 class file_system(aetools.NProperty):
    227     """file system - the file system used on disk """
    228     which = 'Xfsi'
    229     want = 'TEXT'
    230 
    231 class folder(aetools.ComponentItem):
    232     """folder - A folder or directory on a disk """
    233     want = 'Fold'
    234 
    235 name = name
    236 
    237 comment = comment
    238 
    239 creation_date = creation_date
    240 
    241 modification_date = modification_date
    242 
    243 class disk_image(aetools.ComponentItem):
    244     """disk image - A disk image file """
    245     want = 'DImg'
    246 
    247 name = name
    248 
    249 comment = comment
    250 
    251 locked = locked
    252 
    253 creation_date = creation_date
    254 
    255 modification_date = modification_date
    256 class file_format(aetools.NProperty):
    257     """file format - the format of the disk image file """
    258     which = 'Ifmt'
    259     want = 'TEXT'
    260 class signed(aetools.NProperty):
    261     """signed - Does the disk image have a DigiSign signature? """
    262     which = 'Isin'
    263     want = 'bool'
    264 class compressed(aetools.NProperty):
    265     """compressed - Is the disk image compressed? """
    266     which = 'Icom'
    267     want = 'bool'
    268 class segmented(aetools.NProperty):
    269     """segmented - Is the disk image segmented? """
    270     which = 'Iseg'
    271     want = 'bool'
    272 class segments(aetools.NProperty):
    273     """segments - a list of references to other segments that make up a complete image """
    274     which = 'Isg#'
    275     want = 'fss '
    276 class disk_name(aetools.NProperty):
    277     """disk name - the name of the disk this image represents """
    278     which = 'Idnm'
    279     want = 'TEXT'
    280 
    281 crc32_checksum = crc32_checksum
    282 
    283 disk_copy_4_2e_2_checksum = disk_copy_4_2e_2_checksum
    284 
    285 block_count = block_count
    286 
    287 file_system = file_system
    288 class 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'
    292 class 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 
    297 class Save_reply_record(aetools.ComponentItem):
    298     """Save reply record - Result from the save operation """
    299     want = 'cpyR'
    300 class 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 '
    304 class copy_type(aetools.NProperty):
    305     """copy type - the way in which the target object was saved """
    306     which = 'rcpT'
    307     want = 'rcpT'
    308 application._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 }
    336 application._elemdict = {
    337 }
    338 disk._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 }
    349 disk._elemdict = {
    350 }
    351 folder._propdict = {
    352         'name' : name,
    353         'comment' : comment,
    354         'creation_date' : creation_date,
    355         'modification_date' : modification_date,
    356 }
    357 folder._elemdict = {
    358 }
    359 disk_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 }
    378 disk_image._elemdict = {
    379 }
    380 Save_reply_record._propdict = {
    381         'resulting_target_object' : resulting_target_object,
    382         'copy_type' : copy_type,
    383 }
    384 Save_reply_record._elemdict = {
    385 }
    386 _Enum_UIAc = {
    387         'never_interact' : 'eNvr',      # Dont 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 IDs
    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