summaryrefslogtreecommitdiff
path: root/slixmpp/plugins/xep_0059/rsm.py
diff options
context:
space:
mode:
Diffstat (limited to 'slixmpp/plugins/xep_0059/rsm.py')
-rw-r--r--slixmpp/plugins/xep_0059/rsm.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/slixmpp/plugins/xep_0059/rsm.py b/slixmpp/plugins/xep_0059/rsm.py
index a8eeea60..a7aaa7ce 100644
--- a/slixmpp/plugins/xep_0059/rsm.py
+++ b/slixmpp/plugins/xep_0059/rsm.py
@@ -79,7 +79,8 @@ class ResultIterator:
"""
if self._stop:
raise StopAsyncIteration
- self.query[self.interface]['rsm']['before'] = self.reverse
+ if self.query[self.interface]['rsm']['before'] is None:
+ self.query[self.interface]['rsm']['before'] = self.reverse
self.query['id'] = self.query.stream.new_id()
self.query[self.interface]['rsm']['max'] = str(self.amount)
@@ -141,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',
+ 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.
@@ -169,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,
+ return ResultIterator(stanza, interface, results, amount, reverse=reverse,
recv_interface=recv_interface, pre_cb=pre_cb,
post_cb=post_cb)