diff --git a/slixmpp/plugins/xep_0059/rsm.py b/slixmpp/plugins/xep_0059/rsm.py index 2bc68138..a7aaa7ce 100644 --- a/slixmpp/plugins/xep_0059/rsm.py +++ b/slixmpp/plugins/xep_0059/rsm.py @@ -142,7 +142,7 @@ class XEP_0059(BasePlugin): def session_bind(self, jid): self.xmpp['xep_0030'].add_feature(Set.namespace) - def iterate(self, stanza, interface, results='substanzas',reverse=False, + def iterate(self, stanza, interface, results='substanzas', amount=10, reverse=False, recv_interface=None, pre_cb=None, post_cb=None): """ Create a new result set iterator for a given stanza query. @@ -170,6 +170,6 @@ class XEP_0059(BasePlugin): results -- The name of the interface containing the query results (typically just 'substanzas'). """ - return ResultIterator(stanza, interface, results, reverse=reverse, + return ResultIterator(stanza, interface, results, amount, reverse=reverse, recv_interface=recv_interface, pre_cb=pre_cb, post_cb=post_cb) diff --git a/slixmpp/plugins/xep_0313/mam.py b/slixmpp/plugins/xep_0313/mam.py index f78b62fa..e3268e9b 100644 --- a/slixmpp/plugins/xep_0313/mam.py +++ b/slixmpp/plugins/xep_0313/mam.py @@ -53,9 +53,12 @@ class XEP_0313(BasePlugin): iq['mam']['start'] = start iq['mam']['end'] = end iq['mam']['with'] = with_jid + amount = 10 if rsm: for key, value in rsm.items(): iq['mam']['rsm'][key] = str(value) + if key is 'max': + amount = value cb_data = {} def pre_cb(query): @@ -72,8 +75,8 @@ class XEP_0313(BasePlugin): result['mam']['results'] = results if iterator: - return self.xmpp['xep_0059'].iterate(iq, 'mam', 'results', reverse=reverse, - recv_interface='mam_fin', + return self.xmpp['xep_0059'].iterate(iq, 'mam', 'results', amount=amount, + reverse=reverse, recv_interface='mam_fin', pre_cb=pre_cb, post_cb=post_cb) collector = Collector(