'override to allow setting zmq.[UN]SUBSCRIBE even though we have a subscribe method'

def __setattr__(self, key, value):

    _key = key.lower()
    if (_key in ('subscribe', 'unsubscribe')):
        if isinstance(value, unicode):
            value = value.encode('utf8')
        if (_key == 'subscribe'):
            self.set(zmq.SUBSCRIBE, value)
        else:
            self.set(zmq.UNSUBSCRIBE, value)
        return
    super(Socket, self).__setattr__(key, value)
