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.
This commit is contained in:
Goffi 2023-04-08 13:54:42 +02:00
commit 6a6f15707a

View file

@ -53,18 +53,18 @@ class XEP_0163(object):
self.host = host
self.pep_events = set()
self.pep_out_cb = {}
host.trigger.add("PubSub Disco Info", self.disoInfoTrigger)
host.bridge.addMethod(
"PEPSend",
host.trigger.add("PubSub Disco Info", self.diso_info_trigger)
host.bridge.add_method(
"pep_send",
".plugin",
in_sign="sa{ss}s",
out_sign="",
method=self.PEPSend,
method=self.pep_send,
async_=True,
) # args: type(MOOD, TUNE, etc), data, profile_key;
self.addPEPEvent("MOOD", NS_USER_MOOD, self.userMoodCB, self.sendMood)
self.add_pep_event("MOOD", NS_USER_MOOD, self.user_mood_cb, self.send_mood)
def disoInfoTrigger(self, disco_info, profile):
def diso_info_trigger(self, disco_info, profile):
"""Add info from managed PEP
@param disco_info: list of disco feature as returned by PubSub,
@ -74,7 +74,7 @@ class XEP_0163(object):
disco_info.extend(list(map(disco.DiscoFeature, self.pep_events)))
return True
def addPEPEvent(
def add_pep_event(
self,
event_type: Optional[str],
node: str,
@ -93,7 +93,7 @@ class XEP_0163(object):
the callable will be called with (itemsEvent, profile) as arguments
@param out_callback: method to call when we want to publish this
event (must return a deferred)
the callable will be called when sendPEPEvent is called
the callable will be called when send_pep_event is called
@param notify: add autosubscribe (+notify) if True
"""
if event_type and out_callback:
@ -107,7 +107,7 @@ class XEP_0163(object):
if notify:
self.pep_events.add(node + "+notify")
def filterPEPEvent(client, itemsEvent):
def filter_pep_event(client, itemsEvent):
"""Ignore messages which are not coming from PEP (i.e. a bare jid)
@param itemsEvent(pubsub.ItemsEvent): pubsub event
@ -121,20 +121,20 @@ class XEP_0163(object):
return
in_callback(itemsEvent, client.profile)
self.host.plugins["XEP-0060"].addManagedNode(node, items_cb=filterPEPEvent)
self.host.plugins["XEP-0060"].add_managed_node(node, items_cb=filter_pep_event)
def sendPEPEvent(self, node, data, profile):
def send_pep_event(self, node, data, profile):
"""Publish the event data
@param node(unicode): node namespace
@param data: domish.Element to use as payload
@param profile: profile which send the data
"""
client = self.host.getClient(profile)
client = self.host.get_client(profile)
item = pubsub.Item(payload=data)
return self.host.plugins["XEP-0060"].publish(client, None, node, [item])
def PEPSend(self, event_type, data, profile_key=C.PROF_KEY_NONE):
def pep_send(self, event_type, data, profile_key=C.PROF_KEY_NONE):
"""Send personal event after checking the data is alright
@param event_type: type of event (eg: MOOD, TUNE),
@ -142,7 +142,7 @@ class XEP_0163(object):
@param data: dict of {string:string} of event_type dependant data
@param profile_key: profile who send the event
"""
profile = self.host.memory.getProfileName(profile_key)
profile = self.host.memory.get_profile_name(profile_key)
if not profile:
log.error(
_("Trying to send personal event with an unknown profile key [%s]")
@ -154,7 +154,7 @@ class XEP_0163(object):
raise exceptions.DataError("Type unknown")
return self.pep_out_cb[event_type](data, profile)
def userMoodCB(self, itemsEvent, profile):
def user_mood_cb(self, itemsEvent, profile):
if not itemsEvent.items:
log.debug(_("No item found"))
return
@ -169,7 +169,7 @@ class XEP_0163(object):
if not mood:
log.debug(_("No mood found"))
return
self.host.bridge.psEvent(
self.host.bridge.ps_event(
C.PS_PEP,
itemsEvent.sender.full(),
itemsEvent.nodeIdentifier,
@ -178,7 +178,7 @@ class XEP_0163(object):
profile,
)
def sendMood(self, data, profile):
def send_mood(self, data, profile):
"""Send XEP-0107's User Mood
@param data: must include mood and text
@ -189,7 +189,7 @@ class XEP_0163(object):
except KeyError:
raise exceptions.DataError("Mood data must contain at least 'mood' key")
mood = UserMood(value, text)
return self.sendPEPEvent(NS_USER_MOOD, mood, profile)
return self.send_pep_event(NS_USER_MOOD, mood, profile)
class UserMood(Mood, domish.Element):