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: