diff --git a/pymods/irods_utils/irods_utils.py b/pymods/irods_utils/irods_utils.py index 3cdc95ab8d9cad0f53a38d430e578115018810bb..bf11b0555bcb059f6703fd13a76a37bb56c4b274 100644 --- a/pymods/irods_utils/irods_utils.py +++ b/pymods/irods_utils/irods_utils.py @@ -316,10 +316,14 @@ def confirmed_put( irods_sesh, file, new_obj_ipath, metadata_dict=None, datatype # Get the existing objects metadata as a python dict existing_obj_dict = irods_avus_to_pydict( new_obj ) - if metadata_dict[ "SHA512SUMB64" ] != existing_obj_dict[ "SHA512SUMB64" ] : - logging.error( "WEIRD ERROR: iRODS sha226 sum matched but MrData sha512 AVU mismatched." - + ' metadata_dict[ "SHA512SUMB64" ] ' + metadata_dict[ "SHA512SUMB64" ] - + ' existing_obj_dict[ "SHA512SUMB64" ] ' + existing_obj_dict[ "SHA512SUMB64" ] ) + if "SHA512SUMB64" in existing_obj_dict: + if metadata_dict[ "SHA512SUMB64" ] != existing_obj_dict[ "SHA512SUMB64" ] : + logging.error( "WEIRD ERROR: iRODS sha226 sum matched but MrData sha512 AVU mismatched." + + ' metadata_dict[ "SHA512SUMB64" ] ' + metadata_dict[ "SHA512SUMB64" ] + + ' existing_obj_dict[ "SHA512SUMB64" ] ' + existing_obj_dict[ "SHA512SUMB64" ] ) + else: + logging.error( "WEIRD ERROR: iRODS sha226 sum but object has no MrData SHA512SUMB64 AVU." + + ' metadata_dict[ "SHA512SUMB64" ] ' + metadata_dict[ "SHA512SUMB64" ] ) if existing_obj_dict == None: logging.error( "Object exists but fetching avus as py dict failed."