diff src/plugins/plugin_xep_0277.py @ 1728:0eaa1a409dfb

plugin XEP-0277, EXTRA-PEP: get massive blogs from all the roster also retrieve items from a special JIDs list defined in EXTRA-PEP
author souliane <souliane@mailoo.org>
date Tue, 08 Dec 2015 17:41:34 +0100
parents 96b722a5e263
children cf11cfc87ef9
line wrap: on
line diff
--- a/src/plugins/plugin_xep_0277.py	Tue Dec 08 16:55:54 2015 +0100
+++ b/src/plugins/plugin_xep_0277.py	Tue Dec 08 17:41:34 2015 +0100
@@ -54,7 +54,7 @@
     "type": "XEP",
     "protocols": ["XEP-0277"],
     "dependencies": ["XEP-0163", "XEP-0060", "TEXT-SYNTAXES"],
-    "recommendations": ["XEP-0059"],
+    "recommendations": ["XEP-0059", "EXTRA-PEP"],
     "main": "XEP_0277",
     "handler": "no",
     "description": _("""Implementation of microblogging Protocol""")
@@ -647,6 +647,14 @@
             jids_set = set(publishers)
         else:
             jids_set = client.roster.getJidsSet(publishers_type, publishers)
+            if publishers_type == C.ALL:
+                try:  # display messages from salut-a-toi@libervia.org or other PEP services
+                    services = self.host.plugins["EXTRA-PEP"].getConfig("get_items_from_list")
+                except KeyError:
+                    pass
+                else:
+                    log.debug("Items from the following extra PEP services will be requested as well: %s" % ", ".join(services))
+                    jids_set.update([jid.JID(service) for service in services])
 
         node_data = []
         for jid_ in jids_set: