from .Framework import SocketService


class POP3Socket(SocketService):
    def __init__(self, port=None, tls=False):
        SocketService.__init__(self)
        if port:
            self.port = port
        elif tls:
            self.port = 995
        else:
            self.port = 110

        self.request = 'QUIT\r\n'.encode()
        self.tls = tls

    def _get_data(self):
        # For our Zabbix Triggers, 0 is good, 1 is bad.
        data = self._get_raw_data()
        if data and '+OK' in data and '-ERR' not in data:
            return 1
        return 0

    def check(self):
        data = self.get_data()
        return bool(data)
