'Retrieve a single AsusWrtResult through a Telnet connection.
Connect to the Telnet server if not currently connected, otherwise
use the existing connection.'

def get_result(self):

    try:
        if (not self.connected):
            self.connect()
        self._telnet.write('{}\n'.format(_IP_NEIGH_CMD).encode('ascii'))
        neighbors = self._telnet.read_until(self._prompt_string).split('\n')[1:(-1)]
        if self._ap:
            self._telnet.write('{}\n'.format(_WL_CMD).encode('ascii'))
            leases_result = self._telnet.read_until(self._prompt_string).split('\n')[1:(-1)]
        else:
            self._telnet.write('{}\n'.format(_LEASES_CMD).encode('ascii'))
            leases_result = self._telnet.read_until(self._prompt_string).split('\n')[1:(-1)]
        return AsusWrtResult(neighbors, leases_result)
    except EOFError:
        _LOGGER.error('Unexpected    response    from    router')
        self.disconnect()
        return None
    except ConnectionRefusedError:
        _LOGGER.error('Connection    refused    by    router.    Telnet    enabled?')
        self.disconnect()
        return None
    except socket.gaierror as exc:
        _LOGGER.error('Socket    exception:    %s', exc)
        self.disconnect()
        return None
    except OSError as exc:
        _LOGGER.error('OSError:    %s', exc)
        self.disconnect()
        return None
