@@ -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