def METHOD_NAME(self, port_num):
    # Check for invalid port_num
    if port_num < self._port_start or port_num > self._port_end:
        return False
    if not self.get_presence(port_num):
        return False
    device = "PORT" + "%d" % (port_num+1)
    output = pddf_obj.get_attr_name_output(device, 'xcvr_lpmode')
    if not output:
        if port_num not in self.qsfp_ports:
            return False  # Read from eeprom only for QSFP ports
        try:
            eeprom = None
            eeprom = open(self.port_to_eeprom_mapping[port_num], "rb")
            # check for valid connector type
            eeprom.seek(2)
            ctype = eeprom.read(1)
            if ctype in ['21', '23']:
                return False
            eeprom.seek(93)
            lpmode = ord(eeprom.read(1))
            if ((lpmode & 0x3) == 0x3):
                return True  # Low Power Mode if "Power override" bit is 1 and "Power set" bit is 1
            else:
                # High Power Mode if one of the following conditions is matched:
                # 1. "Power override" bit is 0
                # 2. "Power override" bit is 1 and "Power set" bit is 0
                return False
        except IOError as e:
            print("Error: unable to open file: %s" % str(e))
            return False
        finally:
            if eeprom is not None:
                eeprom.close()
                time.sleep(0.01)
    else:
        #mode = output['mode']
        status = int(output['status'].rstrip())
        if status == 1:
            return True
        else:
            return False