[FL-1862] Scripts, ob.py: improved return of error codes #720
This commit is contained in:
		
							parent
							
								
									b3becb9d63
								
							
						
					
					
						commit
						0ff677b174
					
				| @ -44,7 +44,13 @@ class Main: | |||||||
|         self.logger.addHandler(self.handler) |         self.logger.addHandler(self.handler) | ||||||
|         # execute requested function |         # execute requested function | ||||||
|         self.loadOB() |         self.loadOB() | ||||||
|         self.args.func() | 
 | ||||||
|  |         return_code = self.args.func() | ||||||
|  |         if isinstance(return_code, int): | ||||||
|  |             return return_code | ||||||
|  |         else: | ||||||
|  |             self.logger.error(f"Forgotten return code") | ||||||
|  |             return 255 | ||||||
| 
 | 
 | ||||||
|     def loadOB(self): |     def loadOB(self): | ||||||
|         self.logger.info(f"Loading Option Bytes data") |         self.logger.info(f"Loading Option Bytes data") | ||||||
| @ -70,13 +76,11 @@ class Main: | |||||||
|         except subprocess.CalledProcessError as e: |         except subprocess.CalledProcessError as e: | ||||||
|             self.logger.error(e.output.decode()) |             self.logger.error(e.output.decode()) | ||||||
|             self.logger.error(f"Failed to call STM32_Programmer_CLI") |             self.logger.error(f"Failed to call STM32_Programmer_CLI") | ||||||
|             exit(127) |             return 127 | ||||||
|             return |  | ||||||
|         except Exception as e: |         except Exception as e: | ||||||
|             self.logger.error(f"Failed to call STM32_Programmer_CLI") |             self.logger.error(f"Failed to call STM32_Programmer_CLI") | ||||||
|             self.logger.exception(e) |             self.logger.exception(e) | ||||||
|             exit(126) |             return 126 | ||||||
|             return |  | ||||||
|         ob_correct = True |         ob_correct = True | ||||||
|         for line in output.decode().split("\n"): |         for line in output.decode().split("\n"): | ||||||
|             line = line.strip() |             line = line.strip() | ||||||
| @ -100,10 +104,10 @@ class Main: | |||||||
|                 ob_correct = False |                 ob_correct = False | ||||||
|         if ob_correct: |         if ob_correct: | ||||||
|             self.logger.info(f"OB Check OK") |             self.logger.info(f"OB Check OK") | ||||||
|             exit(0) |             return 0 | ||||||
|         else: |         else: | ||||||
|             self.logger.error(f"OB Check FAIL") |             self.logger.error(f"OB Check FAIL") | ||||||
|             exit(255) |             return 255 | ||||||
| 
 | 
 | ||||||
|     def set(self): |     def set(self): | ||||||
|         self.logger.info(f"Setting Option Bytes") |         self.logger.info(f"Setting Option Bytes") | ||||||
| @ -127,15 +131,14 @@ class Main: | |||||||
|         except subprocess.CalledProcessError as e: |         except subprocess.CalledProcessError as e: | ||||||
|             self.logger.error(e.output.decode()) |             self.logger.error(e.output.decode()) | ||||||
|             self.logger.error(f"Failed to call STM32_Programmer_CLI") |             self.logger.error(f"Failed to call STM32_Programmer_CLI") | ||||||
|             exit(125) |             return 125 | ||||||
|             return |  | ||||||
|         except Exception as e: |         except Exception as e: | ||||||
|             self.logger.error(f"Failed to call STM32_Programmer_CLI") |             self.logger.error(f"Failed to call STM32_Programmer_CLI") | ||||||
|             self.logger.exception(e) |             self.logger.exception(e) | ||||||
|             exit(124) |             return 124 | ||||||
|             return |         return 0 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||||
|     Main()() |     return_code = Main()() | ||||||
|     exit(0) |     exit(return_code) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 SG
						SG