2626import os
2727from hashlib import sha256
2828from http import HTTPStatus
29- from typing import Any , cast , Optional , Union , Literal
29+ from typing import Any , Literal , Optional , Union , cast
3030
3131import gramps
3232import gramps .gen .lib
8787def get_person_by_handle (db_handle : DbReadBase , handle : Handle ) -> Union [Person , dict ]:
8888 """Safe get person by handle."""
8989 try :
90- return db_handle .get_person_from_handle (handle )
90+ person = db_handle .get_person_from_handle (handle )
91+ if person is None :
92+ return {}
93+ return person
9194 except HandleError :
9295 return {}
9396
9497
9598def get_place_by_handle (db_handle : DbReadBase , handle : Handle ) -> Union [Place , dict ]:
9699 """Safe get place by handle."""
97100 try :
98- return db_handle .get_place_from_handle (handle )
101+ place = db_handle .get_place_from_handle (handle )
102+ if place is None :
103+ return {}
104+ return place
99105 except HandleError :
100106 return {}
101107
@@ -106,6 +112,8 @@ def get_family_by_handle(
106112 """Get a family and optional extended attributes."""
107113 try :
108114 obj = db_handle .get_family_from_handle (handle )
115+ if obj is None :
116+ return {}
109117 except HandleError :
110118 return {}
111119 args = args or {}
@@ -271,6 +279,8 @@ def get_event_profile_for_handle(
271279 """Get event profile given a handle."""
272280 try :
273281 obj = db_handle .get_event_from_handle (handle )
282+ if obj is None :
283+ return {}
274284 except HandleError :
275285 return {}
276286 return get_event_profile_for_object (
@@ -496,6 +506,8 @@ def get_person_profile_for_handle(
496506 """Get person profile given a handle."""
497507 try :
498508 obj = db_handle .get_person_from_handle (handle )
509+ if obj is None :
510+ return {}
499511 except HandleError :
500512 return {}
501513 return get_person_profile_for_object (db_handle , obj , args , locale = locale )
@@ -581,6 +593,8 @@ def get_family_profile_for_handle(
581593 """Get family profile given a handle."""
582594 try :
583595 obj = db_handle .get_family_from_handle (handle )
596+ if obj is None :
597+ return {}
584598 except HandleError :
585599 return {}
586600 return get_family_profile_for_object (db_handle , obj , args , locale = locale )
@@ -613,6 +627,8 @@ def get_citation_profile_for_handle(
613627 """Get citation profile given a handle."""
614628 try :
615629 obj = db_handle .get_citation_from_handle (handle )
630+ if obj is None :
631+ return {}
616632 except HandleError :
617633 return {}
618634 return get_citation_profile_for_object (db_handle , obj , args , locale = locale )
@@ -634,6 +650,8 @@ def get_media_profile_for_handle(
634650 """Get media profile given a handle."""
635651 try :
636652 obj = db_handle .get_media_from_handle (handle )
653+ if obj is None :
654+ return {}
637655 except HandleError :
638656 return {}
639657 return get_media_profile_for_object (db_handle , obj , args , locale = locale )
0 commit comments