26
26
import os
27
27
from hashlib import sha256
28
28
from http import HTTPStatus
29
- from typing import Any , cast , Optional , Union , Literal
29
+ from typing import Any , Literal , Optional , Union , cast
30
30
31
31
import gramps
32
32
import gramps .gen .lib
87
87
def get_person_by_handle (db_handle : DbReadBase , handle : Handle ) -> Union [Person , dict ]:
88
88
"""Safe get person by handle."""
89
89
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
91
94
except HandleError :
92
95
return {}
93
96
94
97
95
98
def get_place_by_handle (db_handle : DbReadBase , handle : Handle ) -> Union [Place , dict ]:
96
99
"""Safe get place by handle."""
97
100
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
99
105
except HandleError :
100
106
return {}
101
107
@@ -106,6 +112,8 @@ def get_family_by_handle(
106
112
"""Get a family and optional extended attributes."""
107
113
try :
108
114
obj = db_handle .get_family_from_handle (handle )
115
+ if obj is None :
116
+ return {}
109
117
except HandleError :
110
118
return {}
111
119
args = args or {}
@@ -271,6 +279,8 @@ def get_event_profile_for_handle(
271
279
"""Get event profile given a handle."""
272
280
try :
273
281
obj = db_handle .get_event_from_handle (handle )
282
+ if obj is None :
283
+ return {}
274
284
except HandleError :
275
285
return {}
276
286
return get_event_profile_for_object (
@@ -496,6 +506,8 @@ def get_person_profile_for_handle(
496
506
"""Get person profile given a handle."""
497
507
try :
498
508
obj = db_handle .get_person_from_handle (handle )
509
+ if obj is None :
510
+ return {}
499
511
except HandleError :
500
512
return {}
501
513
return get_person_profile_for_object (db_handle , obj , args , locale = locale )
@@ -581,6 +593,8 @@ def get_family_profile_for_handle(
581
593
"""Get family profile given a handle."""
582
594
try :
583
595
obj = db_handle .get_family_from_handle (handle )
596
+ if obj is None :
597
+ return {}
584
598
except HandleError :
585
599
return {}
586
600
return get_family_profile_for_object (db_handle , obj , args , locale = locale )
@@ -613,6 +627,8 @@ def get_citation_profile_for_handle(
613
627
"""Get citation profile given a handle."""
614
628
try :
615
629
obj = db_handle .get_citation_from_handle (handle )
630
+ if obj is None :
631
+ return {}
616
632
except HandleError :
617
633
return {}
618
634
return get_citation_profile_for_object (db_handle , obj , args , locale = locale )
@@ -634,6 +650,8 @@ def get_media_profile_for_handle(
634
650
"""Get media profile given a handle."""
635
651
try :
636
652
obj = db_handle .get_media_from_handle (handle )
653
+ if obj is None :
654
+ return {}
637
655
except HandleError :
638
656
return {}
639
657
return get_media_profile_for_object (db_handle , obj , args , locale = locale )
0 commit comments