import os.path import sys sys.path.append('/usr/share/sonic/platform/plugins') import pddfparse import json class SYSStatusUtil(): """Platform-specific SYSStatus class""" def __init__(self): global pddf_obj global plugin_data with open(os.path.join(os.path.dirname(os.path.realpath(__file__)) + '/../pddf/pd-plugin.json')) as pd: plugin_data = json.load(pd) pddf_obj = pddfparse.PddfParse() def get_board_info(self): device = "SYSSTATUS" node = pddf_obj.get_path(device, "board_info") if node is None: return False try: with open(node, 'r') as f: status = f.read() print("board_info : %s" % status) except IOError: return False def get_cpld_versio(self): device = "SYSSTATUS" node = pddf_obj.get_path(device, "cpld1_version") if node is None: return False try: with open(node, 'r') as f: status = f.read() print("cpld1_version : %s" % status) except IOError: return False def get_power_module_status(self): device = "SYSSTATUS" node = pddf_obj.get_path(device, "power_module_status") if node is None: return False try: with open(node, 'r') as f: status = f.read() print("power_module_status : %s" % status) except IOError: return False def get_system_reset_status(self): device = "SYSSTATUS" for i in range(1, 8): node = pddf_obj.get_path(device, "system_reset"+str(i)) if node is None: return False try: with open(node, 'r') as f: status = f.read() print("system_reset%s : %s" % (i, status)) except IOError: print("system_reset%s not supported" % i) def get_misc_status(self): device = "SYSSTATUS" for i in range(1, 3): node = pddf_obj.get_path(device, "misc"+str(i)) if node is None: return False try: with open(node, 'r') as f: status = f.read() print("misc%s : %s" % (i, status)) except IOError: print("system_reset%s not supported" % i) def dump_sysfs(self): return pddf_obj.cli_dump_dsysfs('sys-status')