From 82c53ef9ac97d28934821e65dd1c28ce93a4b6fc Mon Sep 17 00:00:00 2001 From: Blake Fitch <blake.fitch@tuebingen.mpg.de> Date: Sat, 28 May 2022 15:14:50 +0200 Subject: [PATCH] check before examining old SHA512SUMB64 key because they aren't always there --- pymods/irods_utils/irods_utils.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pymods/irods_utils/irods_utils.py b/pymods/irods_utils/irods_utils.py index 3cdc95a..bf11b05 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." -- GitLab