| #!/usr/bin/env python | 
 |  | 
 | r""" | 
 | PEL functions. | 
 | """ | 
 |  | 
 | import func_args as fa | 
 | import bmc_ssh_utils as bsu | 
 | import json | 
 |  | 
 |  | 
 | def peltool(option_string, **bsu_options): | 
 |     r""" | 
 |     Run peltool on the BMC with the caller's option string and return the result. | 
 |  | 
 |     Example: | 
 |  | 
 |     ${pel_results}=  Peltool  -l | 
 |     Rprint Vars  pel_results | 
 |  | 
 |     pel_results: | 
 |       [0x50000031]: | 
 |         [CompID]:                       0x1000 | 
 |         [PLID]:                         0x50000031 | 
 |         [Subsystem]:                    BMC Firmware | 
 |         [Message]:                      An application had an internal failure | 
 |         [SRC]:                          BD8D1002 | 
 |         [Commit Time]:                  02/25/2020  04:51:31 | 
 |         [Sev]:                          Unrecoverable Error | 
 |         [CreatorID]:                    BMC | 
 |  | 
 |     Description of argument(s): | 
 |     option_string           A string of options which are to be processed by the peltool command. | 
 |     bsu_options             Options to be passed directly to bmc_execute_command. See its prolog for | 
 |                             details. | 
 |     """ | 
 |  | 
 |     bsu_options = fa.args_to_objects(bsu_options) | 
 |     out_buf, stderr, rc = bsu.bmc_execute_command('peltool ' + option_string, **bsu_options) | 
 |     out_buf = json.loads(out_buf) | 
 |     return out_buf |