diff options
-rw-r--r-- | nbxmpp/modules/discovery.py | 9 | ||||
-rw-r--r-- | nbxmpp/structs.py | 8 |
2 files changed, 11 insertions, 6 deletions
diff --git a/nbxmpp/modules/discovery.py b/nbxmpp/modules/discovery.py index 47510b6..c849afd 100644 --- a/nbxmpp/modules/discovery.py +++ b/nbxmpp/modules/discovery.py @@ -15,6 +15,7 @@ # You should have received a copy of the GNU General Public License # along with this program; If not, see <http://www.gnu.org/licenses/>. +import time import logging from nbxmpp.protocol import Iq @@ -63,11 +64,14 @@ class Discovery: return parse_disco_items(stanza) -def parse_disco_info(stanza): +def parse_disco_info(stanza, timestamp=None): idenities = [] features = [] dataforms = [] + if timestamp is None: + timestamp = time.time() + query = stanza.getQuery() for node in query.getTags('identity'): attrs = node.getAttrs() @@ -92,7 +96,8 @@ def parse_disco_info(stanza): return DiscoInfo(stanza=stanza, identities=idenities, features=features, - dataforms=dataforms) + dataforms=dataforms, + timestamp=timestamp) def parse_disco_items(stanza): diff --git a/nbxmpp/structs.py b/nbxmpp/structs.py index e5168f0..5f9b1a8 100644 --- a/nbxmpp/structs.py +++ b/nbxmpp/structs.py @@ -119,13 +119,13 @@ DiscoItem = namedtuple('DiscoItem', 'jid name node') DiscoItem.__new__.__defaults__ = (None, None) -class DiscoInfo(namedtuple('DiscoInfo', 'stanza identities features dataforms')): +class DiscoInfo(namedtuple('DiscoInfo', 'stanza identities features dataforms timestamp')): __slots__ = [] - def __new__(cls, stanza, identities, features, dataforms): + def __new__(cls, stanza, identities, features, dataforms, timestamp=None): return super(DiscoInfo, cls).__new__(cls, stanza, identities, - features, dataforms) + features, dataforms, timestamp) def get_caps_hash(self): try: @@ -203,7 +203,7 @@ class DiscoInfo(namedtuple('DiscoInfo', 'stanza identities features dataforms')) @property def muc_room_name(self): - return self._get_form_value(NS_MUC_INFO, 'muc#roomconfig_roomname') + return self._get_form_value(NS_MUC_INFO, 'muc#roomconfig_roomname') @property def muc_description(self): |