diff options
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2018-05-30 21:04:02 +0200 |
---|---|---|
committer | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2018-05-30 21:04:02 +0200 |
commit | efc9489f332cf529e8fb6a24a21a97f08f812f1d (patch) | |
tree | 14fc9e04badce8dbfa80676a690b6dfe7fdfd2e2 /plugins | |
parent | 25df5ef410e66d96bfd6dac081a073b20e57f4e2 (diff) | |
download | poezio-efc9489f332cf529e8fb6a24a21a97f08f812f1d.tar.gz poezio-efc9489f332cf529e8fb6a24a21a97f08f812f1d.tar.bz2 poezio-efc9489f332cf529e8fb6a24a21a97f08f812f1d.tar.xz poezio-efc9489f332cf529e8fb6a24a21a97f08f812f1d.zip |
disco plugin: Allow any dataform to be displayed.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/disco.py | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/plugins/disco.py b/plugins/disco.py index 53da67a8..e2cdd0b0 100644 --- a/plugins/disco.py +++ b/plugins/disco.py @@ -31,23 +31,19 @@ class Plugin(BasePlugin): self.api.information('\n'.join(identities), 'Identities') features = sorted(str(feature) for feature in info['features']) self.api.information('\n'.join(features), 'Features') - for field in info['form']['fields']: - if field['type'] == 'hidden' and field['var'] == 'FORM_TYPE': - value = field['value'] - if 'http://jabber.org/network/serverinfo' not in value: - self.api.information('Unknown form type ā%sā' % value, 'Error') - return - break + title = 'Server Info' server_info = [] for field in info['form']: var = field['var'] if field['type'] == 'hidden' and var == 'FORM_TYPE': + title = field['value'][0] continue sep = '\n ' + len(var) * ' ' - value = sep.join(field.get_value(convert=False)) + field_value = field.get_value(convert=False) + value = sep.join(field_value) if isinstance(field_value, list) else field_value server_info.append('%s: %s' % (var, value)) if server_info: - self.api.information('\n'.join(server_info), 'Server Info') + self.api.information('\n'.join(server_info), title) def command_disco(self, jid): try: |