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
    # open corrsponding gpio file
    try:
        if port_num <= 15:
            gpio_base = self.RST_GPIO_BASE_0_15
        else:
            gpio_base = self.RST_GPIO_BASE_16_31
        gpio_index = gpio_base + (port_num % 16)
        gpio_file_path = self.GPIO_VAL_PATH.format(gpio_index)
        gpio_file = open(gpio_file_path, "w")
    except IOError as e:
        print("Error: unable to open file: %s" % str(e))
        return False
    # set the gpio to take port into reset
    # the gpio pin is ACTIVE_LOW but reversed
    gpio_val = "1"
    # write value to gpio
    gpio_file.seek(0)
    gpio_file.write(gpio_val)
    gpio_file.close()
    # Sleep 1 second to let it settle
    time.sleep(1)
    # open corrsponding gpio file
    try:
        gpio_file = open(gpio_file_path, "w")
    except IOError as e:
        print("Error: unable to open file: %s" % str(e))
        return False
    # set gpio back low to take port out of reset
    # the gpio pin is ACTIVE_LOW but reversed
    gpio_val = "0"
    # write value to gpio
    gpio_file.seek(0)
    gpio_file.write(gpio_val)
    gpio_file.close()
    return True