#!/usr/bin/env python3

import array
import socket
import threading

class DummyOutput:
    name = "Dummy"

    def set_values(self, values):
        v = {c.address[1]: v for c, v in values.items()}
        with self._lock:
            self.s.sendall(array.array('B', ((0 if i not in v else v[i]) for i in range(64))).tobytes())

    @property
    def ok(self):
        return True

    @property 
    def status(self):
        return "Everything's good"

    def __init__(self):
        self._lock = threading.RLock()
        self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.s.connect(("", 6969))