xmlstream/client/componentxmpp: Make mypy happy again

borked in the previous commit regarding connect().
This commit is contained in:
mathieui 2025-02-09 15:35:40 +01:00
parent 0707786057
commit 04d5c43853
No known key found for this signature in database
GPG Key ID: C59F84CEEFD616E3
3 changed files with 10 additions and 7 deletions

View File

@ -139,7 +139,7 @@ class ClientXMPP(BaseXMPP):
def connect(self, address: Optional[Tuple[str, int]] = None, # type: ignore def connect(self, address: Optional[Tuple[str, int]] = None, # type: ignore
use_ssl: Optional[bool] = None, force_starttls: Optional[bool] = None, use_ssl: Optional[bool] = None, force_starttls: Optional[bool] = None,
disable_starttls: Optional[bool] = None) -> None: disable_starttls: Optional[bool] = None) -> asyncio.Future:
"""Connect to the XMPP server. """Connect to the XMPP server.
When no address is given, a SRV lookup for the server will When no address is given, a SRV lookup for the server will
@ -166,8 +166,9 @@ class ClientXMPP(BaseXMPP):
host, port = (self.boundjid.host, 5222) host, port = (self.boundjid.host, 5222)
self.dns_service = 'xmpp-client' self.dns_service = 'xmpp-client'
XMLStream.connect(self, host, port, use_ssl=use_ssl, return XMLStream.connect(self, host, port, use_ssl=use_ssl,
force_starttls=force_starttls, disable_starttls=disable_starttls) force_starttls=force_starttls,
disable_starttls=disable_starttls)
def register_feature(self, name: str, handler: Callable, restart: bool = False, order: int = 5000) -> None: def register_feature(self, name: str, handler: Callable, restart: bool = False, order: int = 5000) -> None:
"""Register a stream feature handler. """Register a stream feature handler.

View File

@ -9,6 +9,7 @@
import logging import logging
import hashlib import hashlib
from asyncio import Future
from typing import Optional from typing import Optional
from slixmpp import Message, Iq, Presence from slixmpp import Message, Iq, Presence
@ -97,7 +98,7 @@ class ComponentXMPP(BaseXMPP):
def connect(self, host: Optional[str] = None, port: int = 0, use_ssl: Optional[bool] = None, def connect(self, host: Optional[str] = None, port: int = 0, use_ssl: Optional[bool] = None,
force_starttls: Optional[bool] = None, force_starttls: Optional[bool] = None,
disable_starttls: Optional[bool] = None) -> None: disable_starttls: Optional[bool] = None) -> Future:
"""Connect to the server. """Connect to the server.
@ -118,7 +119,7 @@ class ComponentXMPP(BaseXMPP):
self.server_name = self.boundjid.host self.server_name = self.boundjid.host
log.debug("Connecting to %s:%s", host, port) log.debug("Connecting to %s:%s", host, port)
XMLStream.connect(self, host=self.server_host, port=self.server_port, use_ssl=use_ssl) return XMLStream.connect(self, host=self.server_host, port=self.server_port, use_ssl=use_ssl)
def incoming_filter(self, xml): def incoming_filter(self, xml):
""" """

View File

@ -511,7 +511,7 @@ class XMLStream(asyncio.BaseProtocol):
ssl_context = None ssl_context = None
if self._current_connection_attempt is None: if self._current_connection_attempt is None:
return return None
try: try:
server_hostname = self.default_domain if self.use_ssl else None server_hostname = self.default_domain if self.use_ssl else None
await self.loop.create_connection(lambda: self, await self.loop.create_connection(lambda: self,
@ -528,6 +528,7 @@ class XMLStream(asyncio.BaseProtocol):
log.debug('Connection failed: %s', e) log.debug('Connection failed: %s', e)
self.event("connection_failed", e) self.event("connection_failed", e)
return self.reschedule_connection_attempt() return self.reschedule_connection_attempt()
return None
def process(self, *, forever: bool = True, timeout: Optional[int] = None) -> None: def process(self, *, forever: bool = True, timeout: Optional[int] = None) -> None:
"""Process all the available XMPP events (receiving or sending data on the """Process all the available XMPP events (receiving or sending data on the
@ -672,7 +673,7 @@ class XMLStream(asyncio.BaseProtocol):
""" """
# abort if there is no ongoing connection attempt # abort if there is no ongoing connection attempt
if self._current_connection_attempt is None: if self._current_connection_attempt is None:
return return None
self._connect_loop_wait = min(300, self._connect_loop_wait * 2 + 1) self._connect_loop_wait = min(300, self._connect_loop_wait * 2 + 1)
self._current_connection_attempt = asyncio.ensure_future( self._current_connection_attempt = asyncio.ensure_future(
self._connect_routine(), self._connect_routine(),