diff sat_frontends/jp/cmd_pubsub.py @ 4037:524856bd7b19

massive refactoring to switch from camelCase to snake_case: historically, Libervia (SàT before) was using camelCase as allowed by PEP8 when using a pre-PEP8 code, to use the same coding style as in Twisted. However, snake_case is more readable and it's better to follow PEP8 best practices, so it has been decided to move on full snake_case. Because Libervia has a huge codebase, this ended with a ugly mix of camelCase and snake_case. To fix that, this patch does a big refactoring by renaming every function and method (including bridge) that are not coming from Twisted or Wokkel, to use fully snake_case. This is a massive change, and may result in some bugs.
author Goffi <goffi@goffi.org>
date Sat, 08 Apr 2023 13:54:42 +0200
parents 570254d5a798
children 4b842c1fb686
line wrap: on
line diff
--- a/sat_frontends/jp/cmd_pubsub.py	Fri Apr 07 15:18:39 2023 +0200
+++ b/sat_frontends/jp/cmd_pubsub.py	Sat Apr 08 13:54:42 2023 +0200
@@ -70,15 +70,15 @@
             help=_("data key to filter"),
         )
 
-    def removePrefix(self, key):
+    def remove_prefix(self, key):
         return key[7:] if key.startswith("pubsub#") else key
 
-    def filterKey(self, key):
+    def filter_key(self, key):
         return any((key == k or key == "pubsub#" + k) for k in self.args.keys)
 
     async def start(self):
         try:
-            config_dict = await self.host.bridge.psNodeConfigurationGet(
+            config_dict = await self.host.bridge.ps_node_configuration_get(
                 self.args.service,
                 self.args.node,
                 self.profile,
@@ -97,9 +97,9 @@
             self.disp(f"Internal error: {e}", error=True)
             self.host.quit(C.EXIT_INTERNAL_ERROR)
         else:
-            key_filter = (lambda k: True) if not self.args.keys else self.filterKey
+            key_filter = (lambda k: True) if not self.args.keys else self.filter_key
             config_dict = {
-                self.removePrefix(k): v for k, v in config_dict.items() if key_filter(k)
+                self.remove_prefix(k): v for k, v in config_dict.items() if key_filter(k)
             }
             await self.output(config_dict)
             self.host.quit()
@@ -150,7 +150,7 @@
     async def start(self):
         options = self.get_config_options(self.args)
         try:
-            node_id = await self.host.bridge.psNodeCreate(
+            node_id = await self.host.bridge.ps_node_create(
                 self.args.service,
                 self.args.node,
                 options,
@@ -198,10 +198,10 @@
                     "Are you sure to delete node [{node}] on service "
                     "[{service}]? This will delete ALL items from it!"
                 ).format(node=self.args.node, service=self.args.service)
-            await self.host.confirmOrQuit(message, _("node purge cancelled"))
+            await self.host.confirm_or_quit(message, _("node purge cancelled"))
 
         try:
-            await self.host.bridge.psNodePurge(
+            await self.host.bridge.ps_node_purge(
                 self.args.service,
                 self.args.node,
                 self.profile,
@@ -243,10 +243,10 @@
                 message = _(
                     "Are you sure to delete node [{node}] on " "service [{service}]?"
                 ).format(node=self.args.node, service=self.args.service)
-            await self.host.confirmOrQuit(message, _("node deletion cancelled"))
+            await self.host.confirm_or_quit(message, _("node deletion cancelled"))
 
         try:
-            await self.host.bridge.psNodeDelete(
+            await self.host.bridge.ps_node_delete(
                 self.args.service,
                 self.args.node,
                 self.profile,
@@ -290,7 +290,7 @@
             help=_('don\'t prepend "pubsub#" prefix to field names'),
         )
 
-    def getKeyName(self, k):
+    def get_key_name(self, k):
         if self.args.full_prefix or k.startswith("pubsub#"):
             return k
         else:
@@ -298,10 +298,10 @@
 
     async def start(self):
         try:
-            await self.host.bridge.psNodeConfigurationSet(
+            await self.host.bridge.ps_node_configuration_set(
                 self.args.service,
                 self.args.node,
-                {self.getKeyName(k): v for k, v in self.args.fields},
+                {self.get_key_name(k): v for k, v in self.args.fields},
                 self.profile,
             )
         except Exception as e:
@@ -339,7 +339,7 @@
 
     async def start(self):
         try:
-            element, etree = xml_tools.etreeParse(
+            element, etree = xml_tools.etree_parse(
                 self, self.args.import_file, reraise=True
             )
         except Exception as e:
@@ -350,7 +350,7 @@
                 # so we wrap them here and try again
                 self.args.import_file.seek(0)
                 xml_buf = "<import>" + self.args.import_file.read() + "</import>"
-                element, etree = xml_tools.etreeParse(self, xml_buf)
+                element, etree = xml_tools.etree_parse(self, xml_buf)
 
                 # we reverse element as we expect to have most recently published element first
                 # TODO: make this more explicit and add an option
@@ -366,7 +366,7 @@
 
         items = [etree.tostring(i, encoding="unicode") for i in element]
         if self.args.admin:
-            method = self.host.bridge.psAdminItemsSend
+            method = self.host.bridge.ps_admin_items_send
         else:
             self.disp(
                 _(
@@ -374,7 +374,7 @@
                     "be changed"
                 )
             )
-            method = self.host.bridge.psItemsSend
+            method = self.host.bridge.ps_items_send
 
         try:
             items_ids = await method(
@@ -416,7 +416,7 @@
 
     async def start(self):
         try:
-            affiliations = await self.host.bridge.psNodeAffiliationsGet(
+            affiliations = await self.host.bridge.ps_node_affiliations_get(
                 self.args.service,
                 self.args.node,
                 self.profile,
@@ -458,7 +458,7 @@
     async def start(self):
         affiliations = dict(self.args.affiliations)
         try:
-            await self.host.bridge.psNodeAffiliationsSet(
+            await self.host.bridge.ps_node_affiliations_set(
                 self.args.service,
                 self.args.node,
                 affiliations,
@@ -505,9 +505,9 @@
 
     async def start(self):
         if self.args.public:
-            method = self.host.bridge.psPublicNodeSubscriptionsGet
+            method = self.host.bridge.ps_public_node_subscriptions_get
         else:
-            method = self.host.bridge.psNodeSubscriptionsGet
+            method = self.host.bridge.ps_node_subscriptions_get
         try:
             subscriptions = await method(
                 self.args.service,
@@ -575,7 +575,7 @@
 
     async def start(self):
         try:
-            self.host.bridge.psNodeSubscriptionsSet(
+            self.host.bridge.ps_node_subscriptions_set(
                 self.args.service,
                 self.args.node,
                 self.args.subscriptions,
@@ -618,7 +618,7 @@
 
     async def start(self):
         try:
-            await self.host.bridge.psSchemaSet(
+            await self.host.bridge.ps_schema_set(
                 self.args.service,
                 self.args.node,
                 self.args.schema,
@@ -653,7 +653,7 @@
 
     async def publish(self, schema):
         try:
-            await self.host.bridge.psSchemaSet(
+            await self.host.bridge.ps_schema_set(
                 self.args.service,
                 self.args.node,
                 schema,
@@ -666,7 +666,7 @@
             self.disp(_("schema has been set"), 1)
             self.host.quit()
 
-    async def psSchemaGetCb(self, schema):
+    async def ps_schema_get_cb(self, schema):
         try:
             from lxml import etree
         except ImportError:
@@ -676,7 +676,7 @@
                 error=True,
             )
             self.host.quit(1)
-        content_file_obj, content_file_path = self.getTmpFile()
+        content_file_obj, content_file_path = self.get_tmp_file()
         schema = schema.strip()
         if schema:
             parser = etree.XMLParser(remove_blank_text=True)
@@ -685,13 +685,13 @@
                 etree.tostring(schema_elt, encoding="utf-8", pretty_print=True)
             )
             content_file_obj.seek(0)
-        await self.runEditor(
+        await self.run_editor(
             "pubsub_schema_editor_args", content_file_path, content_file_obj
         )
 
     async def start(self):
         try:
-            schema = await self.host.bridge.psSchemaGet(
+            schema = await self.host.bridge.ps_schema_get(
                 self.args.service,
                 self.args.node,
                 self.profile,
@@ -703,7 +703,7 @@
                 self.disp(f"can't edit schema: {e}", error=True)
                 self.host.quit(C.EXIT_BRIDGE_ERRBACK)
 
-        await self.psSchemaGetCb(schema)
+        await self.ps_schema_get_cb(schema)
 
 
 class NodeSchemaGet(base.CommandBase):
@@ -724,7 +724,7 @@
 
     async def start(self):
         try:
-            schema = await self.host.bridge.psSchemaGet(
+            schema = await self.host.bridge.ps_schema_get(
                 self.args.service,
                 self.args.node,
                 self.profile,
@@ -794,13 +794,13 @@
     async def start(self):
         try:
             ps_result = data_format.deserialise(
-                await self.host.bridge.psCacheGet(
+                await self.host.bridge.ps_cache_get(
                     self.args.service,
                     self.args.node,
                     self.args.max,
                     self.args.items,
                     self.args.sub_id,
-                    self.getPubsubExtra(),
+                    self.get_pubsub_extra(),
                     self.profile,
                 )
             )
@@ -839,7 +839,7 @@
 
     async def start(self):
         try:
-            await self.host.bridge.psCacheSync(
+            await self.host.bridge.ps_cache_sync(
                 self.args.service,
                 self.args.node,
                 self.profile,
@@ -910,7 +910,7 @@
 
     async def start(self):
         if not self.args.force:
-            await self.host.confirmOrQuit(
+            await self.host.confirm_or_quit(
                 _(
                     "Are you sure to purge items from cache? You'll have to bypass cache "
                     "or resynchronise nodes to access deleted items again."
@@ -926,7 +926,7 @@
             if value is not None:
                 purge_data[key] = value
         try:
-            await self.host.bridge.psCachePurge(
+            await self.host.bridge.ps_cache_purge(
                 data_format.serialise(
                     purge_data
                 )
@@ -956,7 +956,7 @@
 
     async def start(self):
         if not self.args.force:
-            await self.host.confirmOrQuit(
+            await self.host.confirm_or_quit(
                 _(
                     "Are you sure to reset cache? All nodes and items will be removed "
                     "from it, then it will be progressively refilled as if it were new. "
@@ -965,7 +965,7 @@
                 _("Pubsub cache reset has been cancelled.")
             )
         try:
-            await self.host.bridge.psCacheReset()
+            await self.host.bridge.ps_cache_reset()
         except Exception as e:
             self.disp(f"Internal error: {e}", error=True)
             self.host.quit(C.EXIT_INTERNAL_ERROR)
@@ -1147,7 +1147,7 @@
                 self.args.keys.append("item_payload")
         try:
             found_items = data_format.deserialise(
-                await self.host.bridge.psCacheSearch(
+                await self.host.bridge.ps_cache_search(
                     data_format.serialise(query)
                 ),
                 type_check=list,
@@ -1249,8 +1249,8 @@
         )
 
     async def start(self):
-        element, etree = xml_tools.etreeParse(self, sys.stdin)
-        element = xml_tools.getPayload(self, element)
+        element, etree = xml_tools.etree_parse(self, sys.stdin)
+        element = xml_tools.get_payload(self, element)
         payload = etree.tostring(element, encoding="unicode")
         extra = {}
         if self.args.encrypt:
@@ -1264,7 +1264,7 @@
             extra["publish_options"] = publish_options
 
         try:
-            published_id = await self.host.bridge.psItemSend(
+            published_id = await self.host.bridge.ps_item_send(
                 self.args.service,
                 self.args.node,
                 payload,
@@ -1318,13 +1318,13 @@
             extra["decrypt"] = False
         try:
             ps_result = data_format.deserialise(
-                await self.host.bridge.psItemsGet(
+                await self.host.bridge.ps_items_get(
                     self.args.service,
                     self.args.node,
                     self.args.max,
                     self.args.items,
                     self.args.sub_id,
-                    self.getPubsubExtra(extra),
+                    self.get_pubsub_extra(extra),
                     self.profile,
                 )
             )
@@ -1373,9 +1373,9 @@
             message = _("Are you sure to delete item {item_id} ?").format(
                 item_id=self.args.item
             )
-            await self.host.confirmOrQuit(message, _("item deletion cancelled"))
+            await self.host.confirm_or_quit(message, _("item deletion cancelled"))
         try:
-            await self.host.bridge.psItemRetract(
+            await self.host.bridge.ps_item_retract(
                 self.args.service,
                 self.args.node,
                 self.args.item,
@@ -1432,7 +1432,7 @@
             extra["encrypted_for"] = {"targets": self.args.encrypt_for}
         if self.args.sign:
             extra["signed"] = True
-        published_id = await self.host.bridge.psItemSend(
+        published_id = await self.host.bridge.ps_item_send(
             self.pubsub_service,
             self.pubsub_node,
             content,
@@ -1445,7 +1445,7 @@
         else:
             self.disp("Item published")
 
-    async def getItemData(self, service, node, item):
+    async def get_item_data(self, service, node, item):
         try:
             from lxml import etree
         except ImportError:
@@ -1457,7 +1457,7 @@
             self.host.quit(1)
         items = [item] if item else []
         ps_result = data_format.deserialise(
-            await self.host.bridge.psItemsGet(
+            await self.host.bridge.ps_items_get(
                 service, node, 1, items, "", data_format.serialise({}), self.profile
             )
         )
@@ -1479,8 +1479,8 @@
             self.pubsub_item,
             content_file_path,
             content_file_obj,
-        ) = await self.getItemPath()
-        await self.runEditor("pubsub_editor_args", content_file_path, content_file_obj)
+        ) = await self.get_item_path()
+        await self.run_editor("pubsub_editor_args", content_file_path, content_file_obj)
         self.host.quit()
 
 
@@ -1500,7 +1500,7 @@
 
     async def start(self):
         try:
-            await self.host.bridge.psItemRename(
+            await self.host.bridge.ps_item_rename(
                 self.args.service,
                 self.args.node,
                 self.args.item,
@@ -1537,7 +1537,7 @@
     async def start(self):
         options = {}
         if self.args.public:
-            namespaces = await self.host.bridge.namespacesGet()
+            namespaces = await self.host.bridge.namespaces_get()
             try:
                 ns_pps = namespaces["pps"]
             except KeyError:
@@ -1549,7 +1549,7 @@
             else:
                 options[f"{{{ns_pps}}}public"] = True
         try:
-            sub_id = await self.host.bridge.psSubscribe(
+            sub_id = await self.host.bridge.ps_subscribe(
                 self.args.service,
                 self.args.node,
                 data_format.serialise(options),
@@ -1584,7 +1584,7 @@
 
     async def start(self):
         try:
-            await self.host.bridge.psUnsubscribe(
+            await self.host.bridge.ps_unsubscribe(
                 self.args.service,
                 self.args.node,
                 self.profile,
@@ -1617,9 +1617,9 @@
 
     async def start(self):
         if self.args.public:
-            method = self.host.bridge.psPublicSubscriptionsGet
+            method = self.host.bridge.ps_public_subscriptions_get
         else:
-            method = self.host.bridge.psSubscriptionsGet
+            method = self.host.bridge.ps_subscriptions_get
         try:
             subscriptions = data_format.deserialise(
                 await method(
@@ -1653,7 +1653,7 @@
 
     async def start(self):
         try:
-            affiliations = await self.host.bridge.psAffiliationsGet(
+            affiliations = await self.host.bridge.ps_affiliations_get(
                 self.args.service,
                 self.args.node,
                 self.profile,
@@ -1692,14 +1692,14 @@
     async def start(self):
         service = self.args.service or await self.host.get_profile_jid()
         if self.args.item:
-            anchor = uri.buildXMPPUri(
+            anchor = uri.build_xmpp_uri(
                 "pubsub", path=service, node=self.args.node, item=self.args.item
             )
         else:
-            anchor = uri.buildXMPPUri("pubsub", path=service, node=self.args.node)
+            anchor = uri.build_xmpp_uri("pubsub", path=service, node=self.args.node)
 
         try:
-            await self.host.bridge.referenceSend(
+            await self.host.bridge.reference_send(
                 self.args.recipient,
                 anchor,
                 self.args.type,
@@ -1899,17 +1899,17 @@
         )
         self.parser.add_argument("command", nargs=argparse.REMAINDER)
 
-    async def getItems(self, depth, service, node, items):
+    async def get_items(self, depth, service, node, items):
         self.to_get += 1
         try:
             ps_result = data_format.deserialise(
-                await self.host.bridge.psItemsGet(
+                await self.host.bridge.ps_items_get(
                     service,
                     node,
                     self.args.node_max,
                     items,
                     "",
-                    self.getPubsubExtra(),
+                    self.get_pubsub_extra(),
                     self.profile,
                 )
             )
@@ -1922,7 +1922,7 @@
         else:
             await self.search(ps_result, depth)
 
-    def _checkPubsubURL(self, match, found_nodes):
+    def _check_pubsub_url(self, match, found_nodes):
         """check that the matched URL is an xmpp: one
 
         @param found_nodes(list[unicode]): found_nodes
@@ -1931,7 +1931,7 @@
         url = match.group(0)
         if url.startswith("xmpp"):
             try:
-                url_data = uri.parseXMPPUri(url)
+                url_data = uri.parse_xmpp_uri(url)
             except ValueError:
                 return
             if url_data["type"] == "pubsub":
@@ -1940,13 +1940,13 @@
                     found_node["item"] = url_data["item"]
                 found_nodes.append(found_node)
 
-    async def getSubNodes(self, item, depth):
-        """look for pubsub URIs in item, and getItems on the linked nodes"""
+    async def get_sub_nodes(self, item, depth):
+        """look for pubsub URIs in item, and get_items on the linked nodes"""
         found_nodes = []
-        checkURI = partial(self._checkPubsubURL, found_nodes=found_nodes)
+        checkURI = partial(self._check_pubsub_url, found_nodes=found_nodes)
         strings.RE_URL.sub(checkURI, item)
         for data in found_nodes:
-            await self.getItems(
+            await self.get_items(
                 depth + 1,
                 data["service"],
                 data["node"],
@@ -2061,7 +2061,7 @@
 
         return True, item
 
-    async def doItemAction(self, item, metadata):
+    async def do_item_action(self, item, metadata):
         """called when item has been kepts and the action need to be done
 
         @param item(unicode): accepted item
@@ -2114,23 +2114,23 @@
                 )
 
     async def search(self, ps_result, depth):
-        """callback of getItems
+        """callback of get_items
 
         this method filters items, get sub nodes if needed,
         do the requested action, and exit the command when everything is done
-        @param items_data(tuple): result of getItems
+        @param items_data(tuple): result of get_items
         @param depth(int): current depth level
             0 for first node, 1 for first children, and so on
         """
         for item in ps_result["items"]:
             if depth < self.args.max_depth:
-                await self.getSubNodes(item, depth)
+                await self.get_sub_nodes(item, depth)
             keep, item = self.filter(item)
             if not keep:
                 continue
-            await self.doItemAction(item, ps_result)
+            await self.do_item_action(item, ps_result)
 
-            #  we check if we got all getItems results
+            #  we check if we got all get_items results
         self.to_get -= 1
         if self.to_get == 0:
             # yes, we can quit
@@ -2160,7 +2160,7 @@
         self.args.namespace = dict(
             self.args.namespace + [("pubsub", "http://jabber.org/protocol/pubsub")]
         )
-        await self.getItems(0, self.args.service, self.args.node, self.args.items)
+        await self.get_items(0, self.args.service, self.args.node, self.args.items)
 
 
 class Transform(base.CommandBase):
@@ -2208,7 +2208,7 @@
             ),
         )
 
-    async def psItemsSendCb(self, item_ids, metadata):
+    async def ps_items_send_cb(self, item_ids, metadata):
         if item_ids:
             self.disp(
                 _("items published with ids {item_ids}").format(
@@ -2218,15 +2218,15 @@
         else:
             self.disp(_("items published"))
         if self.args.all:
-            return await self.handleNextPage(metadata)
+            return await self.handle_next_page(metadata)
         else:
             self.host.quit()
 
-    async def handleNextPage(self, metadata):
+    async def handle_next_page(self, metadata):
         """Retrieve new page through RSM or quit if we're in the last page
 
         use to handle --all option
-        @param metadata(dict): metadata as returned by psItemsGet
+        @param metadata(dict): metadata as returned by ps_items_get
         """
         try:
             last = metadata["rsm"]["last"]
@@ -2255,11 +2255,11 @@
             )
         )
 
-        extra = self.getPubsubExtra()
+        extra = self.get_pubsub_extra()
         extra["rsm_after"] = last
         try:
             ps_result = await data_format.deserialise(
-                self.host.bridge.psItemsGet(
+                self.host.bridge.ps_items_get(
                     self.args.service,
                     self.args.node,
                     self.args.rsm_max,
@@ -2273,9 +2273,9 @@
             self.disp(f"can't retrieve items: {e}", error=True)
             self.host.quit(C.EXIT_BRIDGE_ERRBACK)
         else:
-            await self.psItemsGetCb(ps_result)
+            await self.ps_items_get_cb(ps_result)
 
-    async def psItemsGetCb(self, ps_result):
+    async def ps_items_get_cb(self, ps_result):
         encoding = "utf-8"
         new_items = []
 
@@ -2283,7 +2283,7 @@
             if self.check_duplicates:
                 # this is used when we are not ordering by creation
                 # to avoid infinite loop
-                item_elt, __ = xml_tools.etreeParse(self, item)
+                item_elt, __ = xml_tools.etree_parse(self, item)
                 item_id = item_elt.get("id")
                 if item_id in self.items_ids:
                     self.disp(
@@ -2322,12 +2322,12 @@
                 self.disp(cmd_std_err, error=True)
             cmd_std_out = cmd_std_out.decode(encoding).strip()
             if cmd_std_out == "DELETE":
-                item_elt, __ = xml_tools.etreeParse(self, item)
+                item_elt, __ = xml_tools.etree_parse(self, item)
                 item_id = item_elt.get("id")
                 self.disp(_("Deleting item {item_id}").format(item_id=item_id))
                 if self.args.apply:
                     try:
-                        await self.host.bridge.psItemRetract(
+                        await self.host.bridge.ps_item_retract(
                             self.args.service,
                             self.args.node,
                             item_id,
@@ -2339,11 +2339,11 @@
                         self.host.quit(C.EXIT_BRIDGE_ERRBACK)
                 continue
             elif cmd_std_out == "SKIP":
-                item_elt, __ = xml_tools.etreeParse(self, item)
+                item_elt, __ = xml_tools.etree_parse(self, item)
                 item_id = item_elt.get("id")
                 self.disp(_("Skipping item {item_id}").format(item_id=item_id))
                 continue
-            element, etree = xml_tools.etreeParse(self, cmd_std_out)
+            element, etree = xml_tools.etree_parse(self, cmd_std_out)
 
             # at this point command has been run and we have a etree.Element object
             if element.tag not in ("item", "{http://jabber.org/protocol/pubsub}item"):
@@ -2367,13 +2367,13 @@
         if not self.args.apply:
             # on dry run we have nothing to wait for, we can quit
             if self.args.all:
-                return await self.handleNextPage(ps_result)
+                return await self.handle_next_page(ps_result)
             self.host.quit()
         else:
             if self.args.admin:
-                bridge_method = self.host.bridge.psAdminItemsSend
+                bridge_method = self.host.bridge.ps_admin_items_send
             else:
-                bridge_method = self.host.bridge.psItemsSend
+                bridge_method = self.host.bridge.ps_items_send
 
             try:
                 ps_items_send_result = await bridge_method(
@@ -2387,7 +2387,7 @@
                 self.disp(f"can't send item: {e}", error=True)
                 self.host.quit(C.EXIT_BRIDGE_ERRBACK)
             else:
-                await self.psItemsSendCb(ps_items_send_result, metadata=ps_result)
+                await self.ps_items_send_cb(ps_items_send_result, metadata=ps_result)
 
     async def start(self):
         if self.args.all and self.args.order_by != C.ORDER_BY_CREATION:
@@ -2409,13 +2409,13 @@
 
         try:
             ps_result = data_format.deserialise(
-                await self.host.bridge.psItemsGet(
+                await self.host.bridge.ps_items_get(
                     self.args.service,
                     self.args.node,
                     self.args.max,
                     self.args.items,
                     "",
-                    self.getPubsubExtra(),
+                    self.get_pubsub_extra(),
                     self.profile,
                 )
             )
@@ -2423,7 +2423,7 @@
             self.disp(f"can't retrieve items: {e}", error=True)
             self.host.quit(C.EXIT_BRIDGE_ERRBACK)
         else:
-            await self.psItemsGetCb(ps_result)
+            await self.ps_items_get_cb(ps_result)
 
 
 class Uri(base.CommandBase):
@@ -2457,13 +2457,13 @@
                 key = "path"
             if value:
                 uri_args[key] = value
-        self.disp(uri.buildXMPPUri("pubsub", **uri_args))
+        self.disp(uri.build_xmpp_uri("pubsub", **uri_args))
         self.host.quit()
 
     async def start(self):
         if not self.args.service:
             try:
-                jid_ = await self.host.bridge.asyncGetParamA(
+                jid_ = await self.host.bridge.param_get_a_async(
                     "JabberID", "Connection", profile_key=self.args.profile
                 )
             except Exception as e:
@@ -2500,7 +2500,7 @@
 
     async def start(self):
         try:
-            attached_data, __ = await self.host.bridge.psAttachmentsGet(
+            attached_data, __ = await self.host.bridge.ps_attachments_get(
                 self.args.service,
                 self.args.node,
                 self.args.item,
@@ -2587,7 +2587,7 @@
             self.parser.error(_("At leat one attachment must be specified."))
 
         try:
-            await self.host.bridge.psAttachmentsSet(
+            await self.host.bridge.ps_attachments_set(
                 data_format.serialise(attachments_data),
                 self.profile,
             )
@@ -2635,7 +2635,7 @@
             }
         }
         try:
-            await self.host.bridge.psAttachmentsSet(
+            await self.host.bridge.ps_attachments_set(
                 data_format.serialise(attachments_data),
                 self.profile,
             )
@@ -2667,7 +2667,7 @@
 
     async def start(self):
         try:
-            ret_s = await self.host.bridge.psSignatureCheck(
+            ret_s = await self.host.bridge.ps_signature_check(
                 self.args.service,
                 self.args.node,
                 self.args.item,
@@ -2718,7 +2718,7 @@
 
     async def start(self):
         try:
-            await self.host.bridge.psSecretShare(
+            await self.host.bridge.ps_secret_share(
                 self.args.recipient,
                 self.args.service,
                 self.args.node,
@@ -2757,7 +2757,7 @@
 
     async def start(self):
         try:
-            await self.host.bridge.psSecretRevoke(
+            await self.host.bridge.ps_secret_revoke(
                 self.args.service,
                 self.args.node,
                 self.args.secret_id,
@@ -2793,7 +2793,7 @@
 
     async def start(self):
         try:
-            await self.host.bridge.psSecretRotate(
+            await self.host.bridge.ps_secret_rotate(
                 self.args.service,
                 self.args.node,
                 self.args.recipients,
@@ -2824,7 +2824,7 @@
 
     async def start(self):
         try:
-            secrets = data_format.deserialise(await self.host.bridge.psSecretsList(
+            secrets = data_format.deserialise(await self.host.bridge.ps_secrets_list(
                 self.args.service,
                 self.args.node,
                 self.profile,
@@ -2885,7 +2885,7 @@
         )
 
     @staticmethod
-    def checkArgs(self):
+    def check_args(self):
         if self.args.type == "python_file":
             self.args.hook_arg = os.path.abspath(self.args.hook_arg)
             if not os.path.isfile(self.args.hook_arg):
@@ -2894,9 +2894,9 @@
                 )
 
     async def start(self):
-        self.checkArgs(self)
+        self.check_args(self)
         try:
-            await self.host.bridge.psHookAdd(
+            await self.host.bridge.ps_hook_add(
                 self.args.service,
                 self.args.node,
                 self.args.type,
@@ -2941,9 +2941,9 @@
         )
 
     async def start(self):
-        HookCreate.checkArgs(self)
+        HookCreate.check_args(self)
         try:
-            nb_deleted = await self.host.bridge.psHookRemove(
+            nb_deleted = await self.host.bridge.ps_hook_remove(
                 self.args.service,
                 self.args.node,
                 self.args.type,
@@ -2975,7 +2975,7 @@
 
     async def start(self):
         try:
-            data = await self.host.bridge.psHookList(
+            data = await self.host.bridge.ps_hook_list(
                 self.profile,
             )
         except Exception as e: