Mercurial > libervia-backend
diff libervia/backend/plugins/plugin_exp_list_of_interest.py @ 4270:0d7bb4df2343
Reformatted code base using black.
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 19 Jun 2024 18:44:57 +0200 |
parents | 4b842c1fb686 |
children |
line wrap: on
line diff
--- a/libervia/backend/plugins/plugin_exp_list_of_interest.py Tue Jun 18 12:06:45 2024 +0200 +++ b/libervia/backend/plugins/plugin_exp_list_of_interest.py Wed Jun 19 18:44:57 2024 +0200 @@ -99,8 +99,18 @@ if e.condition == "conflict": log.debug(_("requested node already exists")) - async def register_pubsub(self, client, namespace, service, node, item_id=None, - creator=False, name=None, element=None, extra=None): + async def register_pubsub( + self, + client, + namespace, + service, + node, + item_id=None, + creator=False, + name=None, + element=None, + extra=None, + ): """Register an interesting element in personal list @param namespace(unicode): namespace of the interest @@ -123,10 +133,10 @@ interest_elt = domish.Element((NS_LIST_INTEREST, "interest")) interest_elt["namespace"] = namespace if name is not None: - interest_elt['name'] = name - thumb_url = extra.get('thumb_url') + interest_elt["name"] = name + thumb_url = extra.get("thumb_url") if thumb_url: - interest_elt['thumb_url'] = thumb_url + interest_elt["thumb_url"] = thumb_url pubsub_elt = interest_elt.addElement("pubsub") pubsub_elt["service"] = service.full() pubsub_elt["node"] = node @@ -136,12 +146,9 @@ pubsub_elt["creator"] = C.BOOL_TRUE if element is not None: pubsub_elt.addChild(element) - uri_kwargs = { - "path": service.full(), - "node": node - } + uri_kwargs = {"path": service.full(), "node": node} if item_id: - uri_kwargs['id'] = item_id + uri_kwargs["id"] = item_id interest_uri = uri.build_xmpp_uri("pubsub", **uri_kwargs) # we use URI of the interest as item id to avoid duplicates item_elt = pubsub.Item(interest_uri, payload=interest_elt) @@ -150,16 +157,22 @@ ) def _register_file_sharing( - self, service, repos_type, namespace, path, name, extra_raw, - profile + self, service, repos_type, namespace, path, name, extra_raw, profile ): client = self.host.get_client(profile) extra = data_format.deserialise(extra_raw) - return defer.ensureDeferred(self.register_file_sharing( - client, jid.JID(service), repos_type or None, namespace or None, path or None, - name or None, extra - )) + return defer.ensureDeferred( + self.register_file_sharing( + client, + jid.JID(service), + repos_type or None, + namespace or None, + path or None, + name or None, + extra, + ) + ) def normalise_file_sharing_service(self, client, service): # FIXME: Q&D fix as the bare file sharing service JID will lead to user own @@ -167,14 +180,21 @@ # By specifying the user part, we for the use of the host repository. # A cleaner way should be implemented if service.user is None: - service.user = self.host.plugins['XEP-0106'].escape(client.jid.user) + service.user = self.host.plugins["XEP-0106"].escape(client.jid.user) def get_file_sharing_id(self, service, namespace, path): return f"{service}_{namespace or ''}_{path or ''}" async def register_file_sharing( - self, client, service, repos_type=None, namespace=None, path=None, name=None, - extra=None): + self, + client, + service, + repos_type=None, + namespace=None, + path=None, + name=None, + extra=None, + ): """Register an interesting file repository in personal list @param service(jid.JID): service of the file repository @@ -192,10 +212,10 @@ interest_elt = domish.Element((NS_LIST_INTEREST, "interest")) interest_elt["namespace"] = self.host.get_namespace("fis") if name is not None: - interest_elt['name'] = name - thumb_url = extra.get('thumb_url') + interest_elt["name"] = name + thumb_url = extra.get("thumb_url") if thumb_url: - interest_elt['thumb_url'] = thumb_url + interest_elt["thumb_url"] = thumb_url file_sharing_elt = interest_elt.addElement("file_sharing") file_sharing_elt["service"] = service.full() @@ -213,36 +233,41 @@ def _list_interests_serialise(self, interests_data): interests = [] for item_elt in interests_data[0]: - interest_data = {"id": item_elt['id']} + interest_data = {"id": item_elt["id"]} interest_elt = item_elt.interest - if interest_elt.hasAttribute('namespace'): - interest_data['namespace'] = interest_elt.getAttribute('namespace') - if interest_elt.hasAttribute('name'): - interest_data['name'] = interest_elt.getAttribute('name') - if interest_elt.hasAttribute('thumb_url'): - interest_data['thumb_url'] = interest_elt.getAttribute('thumb_url') + if interest_elt.hasAttribute("namespace"): + interest_data["namespace"] = interest_elt.getAttribute("namespace") + if interest_elt.hasAttribute("name"): + interest_data["name"] = interest_elt.getAttribute("name") + if interest_elt.hasAttribute("thumb_url"): + interest_data["thumb_url"] = interest_elt.getAttribute("thumb_url") elt = interest_elt.firstChildElement() if elt.uri != NS_LIST_INTEREST: - log.warning("unexpected child element, ignoring: {xml}".format( - xml = elt.toXml())) + log.warning( + "unexpected child element, ignoring: {xml}".format(xml=elt.toXml()) + ) continue - if elt.name == 'pubsub': - interest_data.update({ - "type": "pubsub", - "service": elt['service'], - "node": elt['node'], - }) - for attr in ('item', 'creator'): + if elt.name == "pubsub": + interest_data.update( + { + "type": "pubsub", + "service": elt["service"], + "node": elt["node"], + } + ) + for attr in ("item", "creator"): if elt.hasAttribute(attr): interest_data[attr] = elt[attr] - elif elt.name == 'file_sharing': - interest_data.update({ - "type": "file_sharing", - "service": elt['service'], - }) - if elt.hasAttribute('type'): - interest_data['subtype'] = elt['type'] - for attr in ('files_namespace', 'path'): + elif elt.name == "file_sharing": + interest_data.update( + { + "type": "file_sharing", + "service": elt["service"], + } + ) + if elt.hasAttribute("type"): + interest_data["subtype"] = elt["type"] + for attr in ("files_namespace", "path"): if elt.hasAttribute(attr): interest_data[attr] = elt[attr] else: @@ -282,8 +307,9 @@ try: interest_elt = next(item.elements(NS_LIST_INTEREST, "interest")) except StopIteration: - log.warning(_("Missing interest element: {xml}").format( - xml=item.toXml())) + log.warning( + _("Missing interest element: {xml}").format(xml=item.toXml()) + ) continue if interest_elt.getAttribute("namespace") == namespace: filtered_items.append(item) @@ -292,14 +318,15 @@ return (items, metadata) def _interest_retract(self, service_s, item_id, profile_key): - d = self._p._retract_item( - service_s, NS_LIST_INTEREST, item_id, True, profile_key) + d = self._p._retract_item(service_s, NS_LIST_INTEREST, item_id, True, profile_key) d.addCallback(lambda __: None) return d async def get(self, client: SatXMPPEntity, item_id: str) -> dict: """Retrieve a specific interest in profile's list""" - items_data = await self._p.get_items(client, None, NS_LIST_INTEREST, item_ids=[item_id]) + items_data = await self._p.get_items( + client, None, NS_LIST_INTEREST, item_ids=[item_id] + ) try: return self._list_interests_serialise(items_data)[0] except IndexError: