@@ -404,7 +404,9 @@ def save_annotation(
404404 if response .status_code not in (200 , 409 ):
405405 raise _save_annotation_error (response )
406406 if response .status_code == 409 :
407- if "already annotated" in responsejson .get ("error" , {}).get ("message" ):
407+ err_obj = responsejson .get ("error" , {})
408+ err_message = err_obj .get ("message" , "" ) if isinstance (err_obj , dict ) else str (err_obj )
409+ if "already annotated" in err_message :
408410 return {"warn" : "already annotated" }
409411 else :
410412 raise _save_annotation_error (response )
@@ -472,9 +474,9 @@ def _save_annotation_error(response):
472474
473475 if responsejson .get ("error" ):
474476 err_msg = responsejson ["error" ]
475- if err_msg . get ( "message" ):
476- err_msg = err_msg [ "message" ]
477- return AnnotationSaveError (err_msg , status_code = response .status_code )
477+ if isinstance ( err_msg , dict ):
478+ err_msg = err_msg . get ( "message" , str ( err_msg ))
479+ return AnnotationSaveError (str ( err_msg ) , status_code = response .status_code )
478480
479481 return AnnotationSaveError (str (responsejson ), status_code = response .status_code )
480482
0 commit comments