summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2021-01-30 12:26:20 +0100
committerLink Mauve <linkmauve@linkmauve.fr>2021-02-03 15:22:09 +0100
commit184f354e8dac7b49243a1069b9f43c54f4bbe26c (patch)
tree395374d8025b3f06397d4b5decfd27c7d5195a86
parent341c770b362e5d5fe070429969de136e7b23c10a (diff)
downloadpoezio-184f354e8dac7b49243a1069b9f43c54f4bbe26c.tar.gz
poezio-184f354e8dac7b49243a1069b9f43c54f4bbe26c.tar.bz2
poezio-184f354e8dac7b49243a1069b9f43c54f4bbe26c.tar.xz
poezio-184f354e8dac7b49243a1069b9f43c54f4bbe26c.zip
muc: remove get_room_form hack and callbacks
-rw-r--r--poezio/fixes.py17
-rw-r--r--poezio/tabs/muctab.py16
2 files changed, 8 insertions, 25 deletions
diff --git a/poezio/fixes.py b/poezio/fixes.py
index a9e15dee..8e6c7921 100644
--- a/poezio/fixes.py
+++ b/poezio/fixes.py
@@ -26,23 +26,6 @@ def has_identity(xmpp, jid, identity, on_true=None, on_false=None):
xmpp.plugin['xep_0030'].get_info(jid=jid, callback=_cb)
-def get_room_form(xmpp: ClientXMPP, room: str, callback: Callable[[Iq], Any]):
- def _cb(result):
- if result["type"] == "error":
- return callback(None)
- xform = result.xml.find(
- '{http://jabber.org/protocol/muc#owner}query/{jabber:x:data}x')
- if xform is None:
- return callback(None)
- form = xmpp.plugin['xep_0004'].build_form(xform)
- return callback(form)
-
- iq = xmpp.make_iq_get(ito=room)
- query = ET.Element('{http://jabber.org/protocol/muc#owner}query')
- iq.append(query)
- iq.send(callback=_cb)
-
-
def _filter_add_receipt_request(self, stanza):
"""
Auto add receipt requests to outgoing messages, if:
diff --git a/poezio/tabs/muctab.py b/poezio/tabs/muctab.py
index 69256cfe..008a72c0 100644
--- a/poezio/tabs/muctab.py
+++ b/poezio/tabs/muctab.py
@@ -1404,19 +1404,19 @@ class MucTab(ChatTab):
self.core.information("Unknown user: %s" % nick, "Error")
@command_args_parser.quoted(0)
- def command_configure(self, ignored: Any) -> None:
+ async def command_configure(self, ignored: Any) -> None:
"""
/configure
"""
- def on_form_received(form: Form) -> None:
- if not form:
- self.core.information(
- 'Could not retrieve the configuration form', 'Error')
- return
+ try:
+ form = await self.core.xmpp.plugin['xep_0045'].get_room_config(
+ self.jid.bare
+ )
self.core.open_new_form(form, self.cancel_config, self.send_config)
-
- fixes.get_room_form(self.core.xmpp, self.jid.bare, on_form_received)
+ except (IqError, IqTimeout, ValueError):
+ self.core.information(
+ 'Could not retrieve the configuration form', 'Error')
@command_args_parser.raw
def command_cycle(self, msg: str) -> None: