from .etcd_wrapper import EtcdEntry


class SpecificEtcdEntryBase:
    def __init__(self, e: EtcdEntry):
        self.key = e.key

        for k in e.value.keys():
            self.__setattr__(k, e.value[k])

    def original_keys(self):
        r = dict(self.__dict__)
        if "key" in r:
            del r["key"]
        return r

    @property
    def value(self):
        return self.original_keys()

    @value.setter
    def value(self, v):
        self.__dict__ = v

    def __repr__(self):
        return str(dict(self.__dict__))