Skip to content

Commit cad5873

Browse files
committed
Handle missing FedEx credentials gracefully
1 parent 3924724 commit cad5873

File tree

1 file changed

+27
-14
lines changed

1 file changed

+27
-14
lines changed

bloom_lims/bobjs.py

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -181,13 +181,21 @@ def __init__(
181181

182182

183183
# Move the fedex and zebra stuff outside these objs
184+
self.track_fedex = None
184185
if cfg_fedex:
185-
try:
186-
self.track_fedex = FTD.FedexTrack()
187-
except Exception as e:
188-
self.track_fedex = None
189-
else:
190-
self.track_fedex = None
186+
fedex_key = os.environ.get("FEDEX_API_KEY")
187+
fedex_secret = os.environ.get("FEDEX_SECRET")
188+
if fedex_key and fedex_secret and "FTD" in globals():
189+
try:
190+
self.track_fedex = FTD.FedexTrack()
191+
except Exception as e:
192+
self.logger.warning(
193+
"FedEx tracking disabled; failed to initialize client: %s", e
194+
)
195+
else:
196+
self.logger.info(
197+
"FedEx tracking disabled; missing FEDEX_API_KEY/FEDEX_SECRET"
198+
)
191199

192200
self._bdb = bdb
193201
self.is_deleted = is_deleted
@@ -1341,14 +1349,19 @@ def do_action_create_package_and_first_workflow_step_assay(
13411349
# 1001897582860000245100773464327825
13421350
fx_opsmd = {}
13431351

1344-
try:
1345-
fx_opsmd = self.track_fedex.get_fedex_ops_meta_ds(
1346-
action_ds["captured_data"]["Tracking Number"]
1347-
)
1348-
# Check the transit time is calculated
1349-
tt = fx_opsmd[0]["Transit_Time_sec"]
1350-
except Exception as e:
1351-
self.logger.exception(f"ERROR: {e}")
1352+
if self.track_fedex:
1353+
try:
1354+
fx_opsmd = self.track_fedex.get_fedex_ops_meta_ds(
1355+
action_ds["captured_data"]["Tracking Number"]
1356+
)
1357+
# Check the transit time is calculated
1358+
tt = fx_opsmd[0]["Transit_Time_sec"]
1359+
except Exception as e:
1360+
self.logger.warning(
1361+
"Failed to fetch FedEx tracking data for %s: %s",
1362+
action_ds["captured_data"].get("Tracking Number", ""),
1363+
e,
1364+
)
13521365

13531366
action_ds["captured_data"]["Fedex Tracking Data"] = fx_opsmd
13541367

0 commit comments

Comments
 (0)