def METHOD_NAME(self):
    post_data = json.dumps({"method": "auth.login", "params": [self.password], "id": 1})
    try:
        self.response = self.session.post(self.url, data=post_data, verify=settings.TORRENT_VERIFY_CERT)
    except Exception as error:
        logger.info(error)
        return None
    self.auth = self.response.json()["result"]
    post_data = json.dumps({"method": "web.connected", "params": [], "id": 10})
    try:
        self.response = self.session.post(self.url, data=post_data, verify=settings.TORRENT_VERIFY_CERT)
    except Exception:
        return None
    connected = self.response.json()["result"]
    if not connected:
        post_data = json.dumps({"method": "web.get_hosts", "params": [], "id": 11})
        try:
            self.response = self.session.post(self.url, data=post_data, verify=settings.TORRENT_VERIFY_CERT)
        except Exception:
            return None
        hosts = self.response.json()["result"]
        if not hosts:
            logger.exception(self.name + ": WebUI does not contain daemons")
            return None
        post_data = json.dumps({"method": "web.connect", "params": [hosts[0][0]], "id": 11})
        try:
            self.response = self.session.post(self.url, data=post_data, verify=settings.TORRENT_VERIFY_CERT)
        except Exception:
            return None
        post_data = json.dumps({"method": "web.connected", "params": [], "id": 10})
        try:
            self.response = self.session.post(self.url, data=post_data, verify=settings.TORRENT_VERIFY_CERT)
        except Exception:
            return None
        connected = self.response.json()["result"]
        if not connected:
            logger.exception(self.name + ": WebUI could not connect to daemon")
            return None
    return self.auth