@@ -1113,20 +1113,24 @@ def process_result(self, result: IPReport):
11131113 self .asic .create_client (
11141114 miner_type = miner_type , ip = result .src_ip , alt_pwd = alt_pwd
11151115 )
1116- if self .asic .client_error ():
1117- return self .iprStatusBar .showMessage (
1118- f"Status :: Failed to create client to { result .src_ip } : { str (self .asic .client_error ())} " ,
1119- 5000 ,
1120- )
11211116 miner_data = self .asic .get_miner_data ()
11221117 miner_data ["recv_at" ] = int (result .updated_at )
11231118 miner_data ["ip" ] = result .src_ip
1124- miner_data ["mac" ] = miner_data ["mac" ].lower ()
1119+ miner_data ["mac" ] = (
1120+ miner_data ["mac" ].lower () if miner_data ["mac" ] != "N/A" else result .src_mac
1121+ )
11251122 # update serial if IPReport has
11261123 if result .miner_sn :
11271124 miner_data ["serial" ] = result .miner_sn
11281125 # append IPReport data
11291126 miner_data ["ip_report" ] = result .model_dump ()
1127+ # let user know that we got an error and may not have complete data
1128+ if self .asic .client_error ():
1129+ self .iprStatusBar .showMessage (
1130+ f"Status :: Failed to get complete miner data { result .src_ip } : { str (self .asic .client_error ())} " ,
1131+ 5000 ,
1132+ )
1133+ return self .show_confirmation (miner_data )
11301134
11311135 self .asic .close_client ()
11321136
@@ -1148,6 +1152,7 @@ def show_confirmation(self, result: dict[str, Any]):
11481152 type_str = type .capitalize ()
11491153 if type != "unknown" :
11501154 type_str = f"{ type .capitalize ()} ({ fw_type } )"
1155+
11511156 recv_timestamp = QDateTime .fromSecsSinceEpoch (recv_at ).toString ()
11521157 if self .menu_bar .actionAlwaysOpenIPInBrowser .isChecked ():
11531158 self .open_dashboard (ip )
0 commit comments