muc: remove get_room_form hack and callbacks
This commit is contained in:
parent
341c770b36
commit
184f354e8d
2 changed files with 8 additions and 25 deletions
|
@ -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)
|
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):
|
def _filter_add_receipt_request(self, stanza):
|
||||||
"""
|
"""
|
||||||
Auto add receipt requests to outgoing messages, if:
|
Auto add receipt requests to outgoing messages, if:
|
||||||
|
|
|
@ -1404,19 +1404,19 @@ class MucTab(ChatTab):
|
||||||
self.core.information("Unknown user: %s" % nick, "Error")
|
self.core.information("Unknown user: %s" % nick, "Error")
|
||||||
|
|
||||||
@command_args_parser.quoted(0)
|
@command_args_parser.quoted(0)
|
||||||
def command_configure(self, ignored: Any) -> None:
|
async def command_configure(self, ignored: Any) -> None:
|
||||||
"""
|
"""
|
||||||
/configure
|
/configure
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def on_form_received(form: Form) -> None:
|
try:
|
||||||
if not form:
|
form = await self.core.xmpp.plugin['xep_0045'].get_room_config(
|
||||||
self.core.information(
|
self.jid.bare
|
||||||
'Could not retrieve the configuration form', 'Error')
|
)
|
||||||
return
|
|
||||||
self.core.open_new_form(form, self.cancel_config, self.send_config)
|
self.core.open_new_form(form, self.cancel_config, self.send_config)
|
||||||
|
except (IqError, IqTimeout, ValueError):
|
||||||
fixes.get_room_form(self.core.xmpp, self.jid.bare, on_form_received)
|
self.core.information(
|
||||||
|
'Could not retrieve the configuration form', 'Error')
|
||||||
|
|
||||||
@command_args_parser.raw
|
@command_args_parser.raw
|
||||||
def command_cycle(self, msg: str) -> None:
|
def command_cycle(self, msg: str) -> None:
|
||||||
|
|
Loading…
Reference in a new issue