diff --git a/src/plugins/plugin_misc_extra_pep.py b/src/plugins/plugin_misc_extra_pep.py
index 9c570f99..294c850f 100644
--- a/src/plugins/plugin_misc_extra_pep.py
+++ b/src/plugins/plugin_misc_extra_pep.py
@@ -17,7 +17,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from sat.core.i18n import _
+from sat.core.i18n import _, D_
from sat.core.log import getLogger
log = getLogger(__name__)
@@ -28,22 +28,40 @@ PLUGIN_INFO = {
"type": "MISC",
"protocols": [],
"dependencies": [],
- "recommendations": ['XEP-0277'],
+ "recommendations": [],
"main": "ExtraPEP",
"handler": "no",
"description": _(u"""Display messages from extra PEP services""")
}
-CONFIG_SECTION = "plugin extra pep"
-
-default_conf = {"get_items_from_list": ["salut-a-toi@libervia.org"], }
-
+PARAM_KEY = u"Misc"
+PARAM_NAME = u"Blog authors following list"
+PARAM_DEFAULT = ["salut-a-toi@libervia.org"]
class ExtraPEP(object):
+ params = """
+
+
+
+
+ %(jids)s
+
+
+
+
+ """ % {
+ 'category_name': PARAM_KEY,
+ 'category_label': D_(PARAM_KEY),
+ 'param_name': PARAM_NAME,
+ 'param_label': D_(PARAM_NAME),
+ 'jids': "".join(["%s" % jid for jid in PARAM_DEFAULT])
+ }
+
def __init__(self, host):
log.info(_(u"Plugin Extra PEP initialization"))
self.host = host
+ host.memory.updateParams(self.params)
- def getConfig(self, name):
- return self.host.memory.getConfig(CONFIG_SECTION, name, default_conf[name])
+ def getFollowedEntities(self, profile_key):
+ return self.host.memory.getParamA(PARAM_NAME, PARAM_KEY, profile_key=profile_key)
diff --git a/src/plugins/plugin_xep_0277.py b/src/plugins/plugin_xep_0277.py
index 5f6d2f97..36bc8c1c 100755
--- a/src/plugins/plugin_xep_0277.py
+++ b/src/plugins/plugin_xep_0277.py
@@ -654,12 +654,13 @@ class XEP_0277(object):
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")
+ services = self.host.plugins["EXTRA-PEP"].getFollowedEntities(profile_key)
except KeyError:
- pass
+ pass # plugin is not loaded
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])
+ if services:
+ log.debug("Extra PEP followed entities: %s" % ", ".join([unicode(service) for service in services]))
+ jids_set.update(services)
node_data = []
for jid_ in jids_set: