summaryrefslogtreecommitdiffstats
path: root/Mac/Demo/applescript/Disk_Copy/Special_Events.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Demo/applescript/Disk_Copy/Special_Events.py')
-rw-r--r--Mac/Demo/applescript/Disk_Copy/Special_Events.py424
1 files changed, 424 insertions, 0 deletions
diff --git a/Mac/Demo/applescript/Disk_Copy/Special_Events.py b/Mac/Demo/applescript/Disk_Copy/Special_Events.py
new file mode 100644
index 0000000..17aefc1
--- /dev/null
+++ b/Mac/Demo/applescript/Disk_Copy/Special_Events.py
@@ -0,0 +1,424 @@
+"""Suite Special Events: Commands for mounting Disk Copy images
+Level 1, version 1
+
+Generated from Macintosh HD:Hulpprogramma's:Disk Copy
+AETE/AEUT resource version 1/0, language 0, script 0
+"""
+
+import aetools
+import MacOS
+
+_code = 'ddsk'
+
+class Special_Events_Events:
+
+ _argmap_mount = {
+ 'access_mode' : 'Acss',
+ 'checksum_verification' : 'VChk',
+ 'signature_verification' : 'VSig',
+ 'RAM_caching' : 'Cach',
+ }
+
+ def mount(self, _object, _attributes={}, **_arguments):
+ """mount: Mounts a Disk Copy image as a disk volume
+ Required argument: a reference to the disk image to be mounted
+ Keyword argument access_mode: the access mode for mounted volume (default is "any", i.e. best possible)
+ Keyword argument checksum_verification: Verify the checksum before mounting?
+ Keyword argument signature_verification: Verify the DigiSignŽ signature before mounting?
+ Keyword argument RAM_caching: Cache the disk image in RAM? (if omitted, don't cache)
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ Returns: a reference to mounted disk
+ """
+ _code = 'ddsk'
+ _subcode = 'Moun'
+
+ aetools.keysubst(_arguments, self._argmap_mount)
+ _arguments['----'] = _object
+
+ aetools.enumsubst(_arguments, 'Acss', _Enum_Acss)
+ aetools.enumsubst(_arguments, 'VChk', _Enum_bool)
+ aetools.enumsubst(_arguments, 'VSig', _Enum_bool)
+ aetools.enumsubst(_arguments, 'Cach', _Enum_bool)
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+ _argmap_execute_DiskScript = {
+ 'checksum_verification' : 'VChk',
+ 'signature_verification' : 'VSig',
+ }
+
+ def execute_DiskScript(self, _object, _attributes={}, **_arguments):
+ """execute DiskScript: Executes a Disk Copy-specific DiskScript
+ Required argument: a reference to the DiskScript to execute
+ Keyword argument checksum_verification: Should checksums be verified when mounting images referenced in the DiskScript?
+ Keyword argument signature_verification: Should the DigiSignŽ signature of the DiskScript and the images it references be verified?
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ """
+ _code = 'ddsk'
+ _subcode = 'XEQd'
+
+ aetools.keysubst(_arguments, self._argmap_execute_DiskScript)
+ _arguments['----'] = _object
+
+ aetools.enumsubst(_arguments, 'VChk', _Enum_bool)
+ aetools.enumsubst(_arguments, 'VSig', _Enum_bool)
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+ def unmount(self, _object, _attributes={}, **_arguments):
+ """unmount: Unmount and eject (if necessary) a volume
+ Required argument: a reference to disk to be unmounted (and ejected)
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ """
+ _code = 'ddsk'
+ _subcode = 'Umnt'
+
+ if _arguments: raise TypeError, 'No optional args expected'
+ _arguments['----'] = _object
+
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+ _argmap_create = {
+ 'saving_as' : 'SvAs',
+ 'logical_blocks' : 'Blks',
+ 'zeroing' : 'Zero',
+ 'leave_image_mounted' : 'Moun',
+ 'filesystem' : 'Fsys',
+ }
+
+ def create(self, _object, _attributes={}, **_arguments):
+ """create: Create a new Disk Copy document
+ Required argument: the name of the volume to create
+ Keyword argument saving_as: the disk image to be created
+ Keyword argument logical_blocks: the number of logical blocks
+ Keyword argument zeroing: Should all blocks on the disk be set to zero?
+ Keyword argument leave_image_mounted: Should the image be mounted after it is created?
+ Keyword argument filesystem: file system to use (Mac OS Standard/compatible, Mac OS Enhanced)
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ Returns: a reference to newly created disk image (or newly mounted disk)
+ """
+ _code = 'ddsk'
+ _subcode = 'Crea'
+
+ aetools.keysubst(_arguments, self._argmap_create)
+ _arguments['----'] = _object
+
+ aetools.enumsubst(_arguments, 'SvAs', _Enum_fss_)
+ aetools.enumsubst(_arguments, 'Blks', _Enum_long)
+ aetools.enumsubst(_arguments, 'Zero', _Enum_bool)
+ aetools.enumsubst(_arguments, 'Moun', _Enum_bool)
+ aetools.enumsubst(_arguments, 'Fsys', _Enum_Fsys)
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+ def verify_checksum(self, _object, _attributes={}, **_arguments):
+ """verify checksum: Verify the checksum of a Disk Copy 4.2 or a Disk Copy 6.0 read-only document
+ Required argument: the disk image to be verified
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ Returns: the result of the checksum verification
+ """
+ _code = 'ddsk'
+ _subcode = 'Vcrc'
+
+ if _arguments: raise TypeError, 'No optional args expected'
+ _arguments['----'] = _object
+
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+ def verify_signature(self, _object, _attributes={}, **_arguments):
+ """verify signature: Verify the DigiSignŽ signature for a Disk Copy document
+ Required argument: the disk image to be verified
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ Returns: Is the DigiSignŽ signature valid?
+ """
+ _code = 'ddsk'
+ _subcode = 'Vsig'
+
+ if _arguments: raise TypeError, 'No optional args expected'
+ _arguments['----'] = _object
+
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+ _argmap_sign_image = {
+ 'using_signer' : 'Sinr',
+ }
+
+ def sign_image(self, _object, _attributes={}, **_arguments):
+ """sign image: Add a DigiSignŽ signature to a Disk Copy document
+ Required argument: the disk image to be signed
+ Keyword argument using_signer: a reference to signer file to use
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ """
+ _code = 'ddsk'
+ _subcode = 'Asig'
+
+ aetools.keysubst(_arguments, self._argmap_sign_image)
+ _arguments['----'] = _object
+
+ aetools.enumsubst(_arguments, 'Sinr', _Enum_alis)
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+ _argmap_create_a_floppy_from = {
+ 'signature_verification' : 'VSig',
+ 'erase_confirmation' : 'Cfrm',
+ 'make_multiple_floppies' : 'Mult',
+ }
+
+ def create_a_floppy_from(self, _object, _attributes={}, **_arguments):
+ """create a floppy from: create a floppy disk from a Disk Copy document
+ Required argument: the disk image to make a floppy from
+ Keyword argument signature_verification: Should the DigiSignŽ signature be verified before creating a floppy disk?
+ Keyword argument erase_confirmation: Should the user be asked to confirm the erasure of the previous contents of floppy disks?
+ Keyword argument make_multiple_floppies: Should the user be prompted to create multiple floppy disks?
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ """
+ _code = 'ddsk'
+ _subcode = 'Bfpy'
+
+ aetools.keysubst(_arguments, self._argmap_create_a_floppy_from)
+ _arguments['----'] = _object
+
+ aetools.enumsubst(_arguments, 'VSig', _Enum_bool)
+ aetools.enumsubst(_arguments, 'Cfrm', _Enum_bool)
+ aetools.enumsubst(_arguments, 'Mult', _Enum_bool)
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+ _argmap_check_image = {
+ 'details' : 'ChDe',
+ }
+
+ def check_image(self, _object, _attributes={}, **_arguments):
+ """check image: Check the disk imageÕs internal data structures for any inconsistencies. Works on NDIF, Disk Copy 4.2, DARTŽ, or DiskSet images.
+ Required argument: the disk image to be verified
+ Keyword argument details: Should the disk image details be displayed?
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ Returns: a record containing a boolean (true/false) value if the image passes consistency tests, and the numbers of warnings and errors
+ """
+ _code = 'ddsk'
+ _subcode = 'Chek'
+
+ aetools.keysubst(_arguments, self._argmap_check_image)
+ _arguments['----'] = _object
+
+ aetools.enumsubst(_arguments, 'ChDe', _Enum_bool)
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+ _argmap_segment_image = {
+ 'segment_count' : 'SGCT',
+ 'segment_size' : 'SGSZ',
+ 'segment_name' : 'SGNM',
+ 'image_ID' : 'SGID',
+ }
+
+ def segment_image(self, _object, _attributes={}, **_arguments):
+ """segment image: Segment a NDIF R/W or R/O image into smaller pieces
+ Required argument: the disk image to be segmented
+ Keyword argument segment_count: the number of image segments to create
+ Keyword argument segment_size: the size of image segments (in blocks) to create
+ Keyword argument segment_name: the root name for each image segment file
+ Keyword argument image_ID: string used to generate a unique image ID to group the segments
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ Returns: a list of references to the image segments created
+ """
+ _code = 'ddsk'
+ _subcode = 'SGMT'
+
+ aetools.keysubst(_arguments, self._argmap_segment_image)
+ _arguments['----'] = _object
+
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+ _argmap_create_SMI = {
+ 'source_images' : 'SMI1',
+ 'launching_application' : 'SMI2',
+ 'launching_document' : 'SMI3',
+ 'version_string' : 'SMI4',
+ 'checksum_verification' : 'VChk',
+ 'signature_verification' : 'VSig',
+ 'image_signing' : 'SImg',
+ }
+
+ def create_SMI(self, _object, _attributes={}, **_arguments):
+ """create SMI: Creates a self-mounting image (SMI) from a list of NDIF disk images
+ Required argument: the self-mounting image to create
+ Keyword argument source_images: a list of references to sources images
+ Keyword argument launching_application: the path to an application to launch
+ Keyword argument launching_document: the path to a document to open
+ Keyword argument version_string: sets the 'vers' 1 resource of the self-mounting image
+ Keyword argument checksum_verification: Should the checksum of the source images be verified before creating the SMI?
+ Keyword argument signature_verification: Should the DigiSignŽ signature of the source images be verified before creating the SMI?
+ Keyword argument image_signing: Should the SMI be given a digital signature when it is created?
+ Keyword argument _attributes: AppleEvent attribute dictionary
+ Returns: a reference to the self-mounting image created
+ """
+ _code = 'ddsk'
+ _subcode = 'MSMI'
+
+ aetools.keysubst(_arguments, self._argmap_create_SMI)
+ _arguments['----'] = _object
+
+ aetools.enumsubst(_arguments, 'VChk', _Enum_bool)
+ aetools.enumsubst(_arguments, 'VSig', _Enum_bool)
+ aetools.enumsubst(_arguments, 'SImg', _Enum_bool)
+
+ _reply, _arguments, _attributes = self.send(_code, _subcode,
+ _arguments, _attributes)
+ if _arguments.has_key('errn'):
+ raise aetools.Error, aetools.decodeerror(_arguments)
+ # XXXX Optionally decode result
+ if _arguments.has_key('----'):
+ return _arguments['----']
+
+
+class Verify_Checksum_reply_record(aetools.ComponentItem):
+ """Verify Checksum reply record - """
+ want = 'Rcrc'
+class validity(aetools.NProperty):
+ """validity - true if checksum is valid """
+ which = 'Vlid'
+ want = 'bool'
+class expected_checksum(aetools.NProperty):
+ """expected checksum - checksum value stored in the image header (in hexadecimal) """
+ which = 'crcE'
+ want = 'TEXT'
+class calculated_checksum(aetools.NProperty):
+ """calculated checksum - checksum value actually calculated (in hexadecimal) """
+ which = 'crcA'
+ want = 'TEXT'
+
+class Check_Image_reply_record(aetools.ComponentItem):
+ """Check Image reply record - """
+ want = 'Rchk'
+class consistency(aetools.NProperty):
+ """consistency - Does the image pass consistency checks? """
+ which = 'Rch1'
+ want = 'bool'
+class error_count(aetools.NProperty):
+ """error count - the number of errors recorded """
+ which = 'Rch2'
+ want = 'long'
+class warning_count(aetools.NProperty):
+ """warning count - the number of warnings recorded """
+ which = 'Rch3'
+ want = 'long'
+Verify_Checksum_reply_record._propdict = {
+ 'validity' : validity,
+ 'expected_checksum' : expected_checksum,
+ 'calculated_checksum' : calculated_checksum,
+}
+Verify_Checksum_reply_record._elemdict = {
+}
+Check_Image_reply_record._propdict = {
+ 'consistency' : consistency,
+ 'error_count' : error_count,
+ 'warning_count' : warning_count,
+}
+Check_Image_reply_record._elemdict = {
+}
+_Enum_Acss = {
+ 'read_and_write' : 'RdWr', # read/write access
+ 'read_only' : 'Rdxx', # read-only access
+ 'any' : 'Anyx', # best possible access
+}
+
+_Enum_Fsys = {
+ 'Mac_OS_Standard' : 'Fhfs', # classic HFS file system
+ 'compatible_Mac_OS_Extended' : 'Fhf+', # new HFS+ file system
+}
+
+_Enum_alis = None # XXXX enum alis not found!!
+_Enum_fss_ = None # XXXX enum fss not found!!
+_Enum_long = None # XXXX enum long not found!!
+_Enum_bool = None # XXXX enum bool not found!!
+
+#
+# Indices of types declared in this module
+#
+_classdeclarations = {
+ 'Rchk' : Check_Image_reply_record,
+ 'Rcrc' : Verify_Checksum_reply_record,
+}
+
+_propdeclarations = {
+ 'crcE' : expected_checksum,
+ 'Rch2' : error_count,
+ 'crcA' : calculated_checksum,
+ 'Rch3' : warning_count,
+ 'Vlid' : validity,
+ 'Rch1' : consistency,
+}
+
+_compdeclarations = {
+}
+
+_enumdeclarations = {
+ 'Acss' : _Enum_Acss,
+ 'Fsys' : _Enum_Fsys,
+}