Mercurial > libervia-backend
diff sat/plugins/plugin_xep_0231.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 | be6d91572633 |
children |
line wrap: on
line diff
--- a/sat/plugins/plugin_xep_0231.py Fri Apr 07 15:18:39 2023 +0200 +++ b/sat/plugins/plugin_xep_0231.py Sat Apr 08 13:54:42 2023 +0200 @@ -58,18 +58,18 @@ def __init__(self, host): log.info(_("plugin Bits of Binary initialization")) self.host = host - host.registerNamespace("bob", NS_BOB) - host.trigger.add("xhtml_post_treat", self.XHTMLTrigger) - host.bridge.addMethod( - "bobGetFile", + host.register_namespace("bob", NS_BOB) + host.trigger.add("xhtml_post_treat", self.xhtml_trigger) + host.bridge.add_method( + "bob_get_file", ".plugin", in_sign="sss", out_sign="s", - method=self._getFile, + method=self._get_file, async_=True, ) - def dumpData(self, cache, data_elt, cid): + def dump_data(self, cache, data_elt, cid): """save file encoded in data_elt to cache @param cache(memory.cache.Cache): cache to use to store the data @@ -87,7 +87,7 @@ log.warning("invalid max-age found") max_age = None - with cache.cacheData( + with cache.cache_data( PLUGIN_INFO[C.PI_IMPORT_NAME], cid, data_elt.getAttribute("type"), max_age ) as f: @@ -96,13 +96,13 @@ return file_path - def getHandler(self, client): + def get_handler(self, client): return XEP_0231_handler(self) - def _requestCb(self, iq_elt, cache, cid): + def _request_cb(self, iq_elt, cache, cid): for data_elt in iq_elt.elements(NS_BOB, "data"): if data_elt.getAttribute("cid") == cid: - file_path = self.dumpData(cache, data_elt, cid) + file_path = self.dump_data(cache, data_elt, cid) return file_path log.warning( @@ -112,12 +112,12 @@ ) raise failure.Failure(exceptions.DataError("missing data")) - def _requestEb(self, failure_): + def _request_eb(self, failure_): """Log the error and continue errback chain""" log.warning("Can't get requested data:\n{reason}".format(reason=failure_)) return failure_ - def requestData(self, client, to_jid, cid, cache=None): + def request_data(self, client, to_jid, cid, cache=None): """Request data if we don't have it in cache @param to_jid(jid.JID): jid to request the data to @@ -133,19 +133,19 @@ data_elt = iq_elt.addElement((NS_BOB, "data")) data_elt["cid"] = cid d = iq_elt.send() - d.addCallback(self._requestCb, cache, cid) - d.addErrback(self._requestEb) + d.addCallback(self._request_cb, cache, cid) + d.addErrback(self._request_eb) return d - def _setImgEltSrc(self, path, img_elt): + def _set_img_elt_src(self, path, img_elt): img_elt["src"] = "file://{}".format(path) - def XHTMLTrigger(self, client, message_elt, body_elt, lang, treat_d): - for img_elt in xml_tools.findAll(body_elt, C.NS_XHTML, "img"): + def xhtml_trigger(self, client, message_elt, body_elt, lang, treat_d): + for img_elt in xml_tools.find_all(body_elt, C.NS_XHTML, "img"): source = img_elt.getAttribute("src", "") if source.startswith("cid:"): cid = source[4:] - file_path = client.cache.getFilePath(cid) + file_path = client.cache.get_file_path(cid) if file_path is not None: # image is in cache, we change the url img_elt["src"] = "file://{}".format(file_path) @@ -154,17 +154,17 @@ # image is not in cache, is it given locally? for data_elt in message_elt.elements(NS_BOB, "data"): if data_elt.getAttribute("cid") == cid: - file_path = self.dumpData(client.cache, data_elt, cid) + file_path = self.dump_data(client.cache, data_elt, cid) img_elt["src"] = "file://{}".format(file_path) break else: # cid not found locally, we need to request it # so we use the deferred - d = self.requestData(client, jid.JID(message_elt["from"]), cid) - d.addCallback(partial(self._setImgEltSrc, img_elt=img_elt)) + d = self.request_data(client, jid.JID(message_elt["from"]), cid) + d.addCallback(partial(self._set_img_elt_src, img_elt=img_elt)) treat_d.addCallback(lambda __: d) - def onComponentRequest(self, iq_elt, client): + def on_component_request(self, iq_elt, client): """cache data is retrieve from common cache for components""" # FIXME: this is a security/privacy issue as no access check is done # but this is mitigated by the fact that the cid must be known. @@ -179,7 +179,7 @@ client.send(error_elt) return - metadata = self.host.common_cache.getMetadata(cid) + metadata = self.host.common_cache.get_metadata(cid) if metadata is None: error_elt = jabber_error.StanzaError("item-not-found").toResponse(iq_elt) client.send(error_elt) @@ -196,15 +196,15 @@ data_elt["max-age"] = str(int(max(0, metadata["eol"] - time.time()))) client.send(result_elt) - def _getFile(self, peer_jid_s, cid, profile): + def _get_file(self, peer_jid_s, cid, profile): peer_jid = jid.JID(peer_jid_s) assert cid - client = self.host.getClient(profile) - d = self.getFile(client, peer_jid, cid) + client = self.host.get_client(profile) + d = self.get_file(client, peer_jid, cid) d.addCallback(lambda path: str(path)) return d - def getFile(self, client, peer_jid, cid, parent_elt=None): + def get_file(self, client, peer_jid, cid, parent_elt=None): """Retrieve a file from it's content-id @param peer_jid(jid.JID): jid of the entity offering the data @@ -214,7 +214,7 @@ None to ignore @return D(Path): path to cached data """ - file_path = client.cache.getFilePath(cid) + file_path = client.cache.get_file_path(cid) if file_path is not None: # file is in cache return defer.succeed(file_path) @@ -223,11 +223,11 @@ if parent_elt is not None: for data_elt in parent_elt.elements(NS_BOB, "data"): if data_elt.getAttribute("cid") == cid: - return defer.succeed(self.dumpData(client.cache, data_elt, cid)) + return defer.succeed(self.dump_data(client.cache, data_elt, cid)) # cid not found locally, we need to request it # so we use the deferred - return self.requestData(client, peer_jid, cid) + return self.request_data(client, peer_jid, cid) @implementer(iwokkel.IDisco) @@ -240,7 +240,7 @@ def connectionInitialized(self): if self.parent.is_component: self.xmlstream.addObserver( - IQ_BOB_REQUEST, self.plugin_parent.onComponentRequest, client=self.parent + IQ_BOB_REQUEST, self.plugin_parent.on_component_request, client=self.parent ) def getDiscoInfo(self, requestor, target, nodeIdentifier=""):