Mercurial > libervia-backend
changeset 1741:cc31dd72526d
plugin misc_extra_pep: use a user parameter (jids_list) instead of a general configuration value
author | souliane <souliane@mailoo.org> |
---|---|
date | Fri, 11 Dec 2015 09:12:11 +0100 |
parents | 681fe91abcc0 |
children | 244a605623d6 |
files | src/plugins/plugin_misc_extra_pep.py src/plugins/plugin_xep_0277.py |
diffstat | 2 files changed, 31 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/plugin_misc_extra_pep.py Tue Dec 15 14:12:19 2015 +0100 +++ b/src/plugins/plugin_misc_extra_pep.py Fri Dec 11 09:12:11 2015 +0100 @@ -17,7 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -from sat.core.i18n import _ +from sat.core.i18n import _, D_ from sat.core.log import getLogger log = getLogger(__name__) @@ -28,22 +28,40 @@ "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 = """ + <params> + <individual> + <category name="%(category_name)s" label="%(category_label)s"> + <param name="%(param_name)s" label="%(param_label)s" type="jids_list" security="0"> + %(jids)s + </param> + </category> + </individual> + </params> + """ % { + 'category_name': PARAM_KEY, + 'category_label': D_(PARAM_KEY), + 'param_name': PARAM_NAME, + 'param_label': D_(PARAM_NAME), + 'jids': "".join(["<jid>%s</jid>" % 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)
--- a/src/plugins/plugin_xep_0277.py Tue Dec 15 14:12:19 2015 +0100 +++ b/src/plugins/plugin_xep_0277.py Fri Dec 11 09:12:11 2015 +0100 @@ -654,12 +654,13 @@ 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: