#!/usr/bin/env python import os import subprocess HOST_CHK_CMD = "docker > /dev/null 2>&1" EMPTY_STRING = "" class APIHelper(): def __init__(self): pass def is_host(self): return os.system(HOST_CHK_CMD) == 0 def read_txt_file(self, file_path): try: with open(file_path, 'r') as fd: data = fd.read() return data.strip() except IOError: pass return None def ipmi_raw(self, netfn, cmd): status = True result = "" try: cmd = "ipmitool raw {} {}".format(str(netfn), str(cmd)) p = subprocess.Popen( cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) raw_data, err = p.communicate() if err == '': result = raw_data.strip() except: status = False return status, result def ipmi_fru_id(self, id, key=None): status = True result = "" try: cmd = "ipmitool fru print {}".format(str( id)) if not key else "ipmitool fru print {0} | grep '{1}' ".format(str(id), str(key)) p = subprocess.Popen( cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) raw_data, err = p.communicate() if err == '': result = raw_data.strip() except: status = False return status, result