def __eq__(self, other):
        attributes = [attr for attr in dir(self)
                      if not callable(getattr(self, attr)) and
                      not attr.startswith("__")]
        for attr in attributes:
            try:
                if self.__getattribute__(attr) == other.__getattribute__(attr):
                    continue
                else:
                    return False
            except __HOLE__:
                return False
        else:
            return True

# OpenFlow #
dataset/ETHPy150Open dave-tucker/hp-sdn-client/hpsdnclient/datatypes.py/JsonObject.__eq__