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: