#!/usr/bin/env python3
"""
this file is used in tip for getting serial number of attenuators
"""
import sys
import os
import importlib
import time

sys.path.append(os.path.join(os.path.abspath(__file__ + "../../../")))

lfcli_base = importlib.import_module("py-json.LANforge.lfcli_base")
LFCliBase = lfcli_base.LFCliBase
LFRequest = importlib.import_module("py-json.LANforge.LFRequest")
LFUtils = importlib.import_module("py-json.LANforge.LFUtils")

class AttenuatorSerial(LFCliBase):
    def __init__(self, lfclient_host, lfclient_port,  debug_=False):
        super().__init__(lfclient_host, lfclient_port, debug_)
        self.lfclient_host = lfclient_host
        self.COMMANDS = ["show_attenuators", "set_attenuator"]
        self.atten_serno = ""
        self.atten_idx = ""
        self.atten_val = ""
        self.atten_data = {
            "shelf": 1,
            "resource": 1,
            "serno": None,
            "atten_idx": None,
            "val": None,
            "mode": None,
            "pulse_width_us5": None,
            "pulse_interval_ms": None,
            "pulse_count": None,
            "pulse_time_ms": None
        }

    def show(self, debug=False):
        ser_no_list = []
        print("Show Attenuators.........")
        response = self.json_get("/attenuators/")
        time.sleep(0.01)
        if response is None:
            print(response)
            raise ValueError("Cannot find any endpoints")
        else:
            attenuator_resp = response["attenuators"]
            for i in attenuator_resp:
                for key in i:
                    if key == "entity id":
                        print("entity id")
                    # print("%s " % (key))
                    ser_no_list.append(key)

        return ser_no_list
def main():
    obj = AttenuatorSerial(lfclient_host="localhost", lfclient_port=8802)
    x = obj.show()
    print("out",x)


if __name__ == '__main__':
    main()
