diff options
Diffstat (limited to 'nbxmpp/structs.py')
-rw-r--r-- | nbxmpp/structs.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/nbxmpp/structs.py b/nbxmpp/structs.py index 252ef3f..63ad950 100644 --- a/nbxmpp/structs.py +++ b/nbxmpp/structs.py @@ -27,6 +27,7 @@ from nbxmpp.protocol import NS_MUC from nbxmpp.protocol import NS_MUC_INFO from nbxmpp.protocol import NS_CLIENT from nbxmpp.protocol import NS_XHTML +from nbxmpp.protocol import NS_HTTPUPLOAD_0 from nbxmpp.protocol import Protocol from nbxmpp.const import MessageType from nbxmpp.const import AvatarState @@ -225,6 +226,10 @@ class DiscoInfo(namedtuple('DiscoInfo', 'stanza identities features dataforms ti return self.has_mam_1 or self.has_mam_2 @property + def has_httpupload(self): + return NS_HTTPUPLOAD_0 in self.features + + @property def is_muc(self): for identity in self.identities: if identity.category == 'conference': @@ -332,6 +337,14 @@ class DiscoInfo(namedtuple('DiscoInfo', 'stanza identities features dataforms ti def muc_is_unsecured(self): return 'muc_unsecured' in self.features + @property + def httpupload_max_file_size(self): + size = self.get_field_value(NS_HTTPUPLOAD_0, 'max-file-size') + try: + return float(size) + except Exception: + return None + class DiscoIdentity(namedtuple('DiscoIdentity', 'category type name lang')): |