Commit 18c9fd5a authored by lovetox's avatar lovetox
Browse files

DiscoInfo: Add timestamp attribute

parent 0c33075e
Loading
Loading
Loading
Loading
+7 −2
Changes for nbxmpp/modules/discovery.py: 7 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -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):
+3 −3
Changes for nbxmpp/structs.py: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -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: