Add caching support to xep_0030.
New plugin configuration options:
use_cache - Enable caching disco info results. Defaults to True
wrap_results - Always return disco results in an Iq stanza. Defaults
to False
Node handler changes:
Handlers now take four arguments: jid, node, ifrom, data
Most older style handlers will still work, depending on if they
raise a TypeError for incorrect number of arguments. Handlers that
used *args may not work.
New get_info options:
cached - Passing cached=True to get_info() will attempt to load
results from the cache. If nothing is found, a query
will be sent as normal. If set to False, the cache
will be skipped, even if it contains results.
New method:
supports() - Given a JID/node pair and a feature, return True
if the feature is supported, False if not, and
None if there was a timeout. By default, the search
will use the cache.
This commit is contained in:
@@ -122,7 +122,7 @@ class TestStreamDisco(SleekTest):
|
||||
self.stream_start(mode='client',
|
||||
plugins=['xep_0030'])
|
||||
|
||||
def dynamic_jid(jid, node, iq):
|
||||
def dynamic_jid(jid, node, ifrom, iq):
|
||||
result = self.xmpp['xep_0030'].stanza.DiscoInfo()
|
||||
result['node'] = node
|
||||
result.add_identity('client', 'console', name='Dynamic Info')
|
||||
@@ -158,7 +158,7 @@ class TestStreamDisco(SleekTest):
|
||||
jid='tester.localhost',
|
||||
plugins=['xep_0030'])
|
||||
|
||||
def dynamic_global(jid, node, iq):
|
||||
def dynamic_global(jid, node, ifrom, iq):
|
||||
result = self.xmpp['xep_0030'].stanza.DiscoInfo()
|
||||
result['node'] = node
|
||||
result.add_identity('component', 'generic', name='Dynamic Info')
|
||||
@@ -194,7 +194,7 @@ class TestStreamDisco(SleekTest):
|
||||
self.stream_start(mode='client',
|
||||
plugins=['xep_0030'])
|
||||
|
||||
def dynamic_jid(jid, node, iq):
|
||||
def dynamic_jid(jid, node, ifrom, iq):
|
||||
result = self.xmpp['xep_0030'].stanza.DiscoInfo()
|
||||
result['node'] = node
|
||||
result.add_identity('client', 'console', name='Dynamic Info')
|
||||
@@ -236,7 +236,7 @@ class TestStreamDisco(SleekTest):
|
||||
jid='tester.localhost',
|
||||
plugins=['xep_0030'])
|
||||
|
||||
def dynamic_global(jid, node, iq):
|
||||
def dynamic_global(jid, node, ifrom, iq):
|
||||
result = self.xmpp['xep_0030'].stanza.DiscoInfo()
|
||||
result['node'] = node
|
||||
result.add_identity('component', 'generic', name='Dynamic Info')
|
||||
@@ -325,7 +325,7 @@ class TestStreamDisco(SleekTest):
|
||||
self.stream_start(mode='client',
|
||||
plugins=['xep_0030'])
|
||||
|
||||
def dynamic_jid(jid, node, iq):
|
||||
def dynamic_jid(jid, node, ifrom, iq):
|
||||
result = self.xmpp['xep_0030'].stanza.DiscoItems()
|
||||
result['node'] = node
|
||||
result.add_item('tester@localhost', node='foo', name='JID')
|
||||
@@ -359,7 +359,7 @@ class TestStreamDisco(SleekTest):
|
||||
jid='tester.localhost',
|
||||
plugins=['xep_0030'])
|
||||
|
||||
def dynamic_global(jid, node, iq):
|
||||
def dynamic_global(jid, node, ifrom, iq):
|
||||
result = self.xmpp['xep_0030'].stanza.DiscoItems()
|
||||
result['node'] = node
|
||||
result.add_item('tester@localhost', node='foo', name='Global')
|
||||
@@ -393,7 +393,7 @@ class TestStreamDisco(SleekTest):
|
||||
self.stream_start(mode='client',
|
||||
plugins=['xep_0030'])
|
||||
|
||||
def dynamic_jid(jid, node, iq):
|
||||
def dynamic_jid(jid, node, ifrom, iq):
|
||||
result = self.xmpp['xep_0030'].stanza.DiscoItems()
|
||||
result['node'] = node
|
||||
result.add_item('tester@localhost', node='foo', name='Global')
|
||||
@@ -435,7 +435,7 @@ class TestStreamDisco(SleekTest):
|
||||
jid='tester.localhost',
|
||||
plugins=['xep_0030'])
|
||||
|
||||
def dynamic_global(jid, node, iq):
|
||||
def dynamic_global(jid, node, ifrom, iq):
|
||||
result = self.xmpp['xep_0030'].stanza.DiscoItems()
|
||||
result['node'] = node
|
||||
result.add_item('tester.localhost', node='foo', name='Global')
|
||||
|
||||
Reference in New Issue
Block a user