XEP-0172: Fix return values and typing

This commit is contained in:
mathieui 2021-02-03 22:24:24 +01:00
parent 64299d6a54
commit e6e57f6e8c
2 changed files with 21 additions and 33 deletions

View File

@ -1,10 +1,7 @@
""" # Slixmpp: The Slick XMPP Library
Slixmpp: The Slick XMPP Library # Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout # This file is part of Slixmpp.
This file is part of Slixmpp. # See the file LICENSE for copying permission.
See the file LICENSE for copying permission.
"""
from slixmpp.xmlstream import ElementBase, ET from slixmpp.xmlstream import ElementBase, ET

View File

@ -1,13 +1,11 @@
""" # Slixmpp: The Slick XMPP Library
Slixmpp: The Slick XMPP Library # Copyright (C) 2011 Nathanael C. Fritz, Lance J.T. Stout
Copyright (C) 2011 Nathanael C. Fritz, Lance J.T. Stout # This file is part of Slixmpp.
This file is part of Slixmpp. # See the file LICENSE for copying permission.
See the file LICENSE for copying permission.
"""
import logging import logging
from asyncio import Future
from typing import Optional, Callable from typing import Optional, Callable
from slixmpp import JID from slixmpp import JID
from slixmpp.stanza.message import Message from slixmpp.stanza.message import Message
@ -45,34 +43,27 @@ class XEP_0172(BasePlugin):
def session_bind(self, jid): def session_bind(self, jid):
self.xmpp['xep_0163'].register_pep('user_nick', UserNick) self.xmpp['xep_0163'].register_pep('user_nick', UserNick)
def publish_nick(self, nick: Optional[str] = None, def publish_nick(self, nick: Optional[str] = None, **pubsubkwargs) -> Future:
options: Optional[Form] = None,
ifrom: Optional[JID] = None,
timeout_callback: Optional[Callable] = None,
callback: Optional[Callable] = None,
timeout: Optional[int] = None):
""" """
Publish the user's current nick. Publish the user's current nick.
:param nick: The user nickname to publish. :param nick: The user nickname to publish.
:param options: Optional form of publish options.
""" """
nickname = UserNick() nickname = UserNick()
nickname['nick'] = nick nickname['nick'] = nick
self.xmpp['xep_0163'].publish(nickname, node=UserNick.namespace, return self.xmpp['xep_0163'].publish(
options=options, ifrom=ifrom, nickname,
callback=callback, timeout=timeout, node=UserNick.namespace,
timeout_callback=timeout_callback) **pubsubkwargs
)
def stop(self, ifrom: Optional[JID] = None, def stop(self, **pubsubkwargs) -> Future:
timeout_callback: Optional[Callable] = None,
callback: Optional[Callable] = None,
timeout: Optional[int] = None):
""" """
Clear existing user nick information to stop notifications. Clear existing user nick information to stop notifications.
""" """
nick = UserNick() nick = UserNick()
return self.xmpp['xep_0163'].publish(nick, node=UserNick.namespace, return self.xmpp['xep_0163'].publish(
ifrom=ifrom, callback=callback, nick,
timeout=timeout, node=UserNick.namespace,
timeout_callback=timeout_callback) **pubsubkwargs
)