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

@ -110,13 +110,13 @@ class XEP_0166:
XEP_0166.TRANSPORT_STREAMING: [],
}
def profileConnected(self, client):
def profile_connected(self, client):
client.jingle_sessions = {} # key = sid, value = session_data
def getHandler(self, client):
def get_handler(self, client):
return XEP_0166_handler(self)
def _delSession(self, client, sid):
def _del_session(self, client, sid):
try:
del client.jingle_sessions[sid]
except KeyError:
@ -128,7 +128,7 @@ class XEP_0166:
## helpers methods to build stanzas ##
def _buildJingleElt(self, client, session, action):
def _build_jingle_elt(self, client, session, action):
iq_elt = client.IQ("set")
iq_elt["from"] = session['local_jid'].full()
iq_elt["to"] = session["peer_jid"].full()
@ -149,7 +149,7 @@ class XEP_0166:
if jingle_condition is not None:
iq_elt.error.addElement((NS_JINGLE_ERROR, jingle_condition))
if error.STANZA_CONDITIONS[error_condition]["type"] == "cancel" and sid:
self._delSession(client, sid)
self._del_session(client, sid)
log.warning(
"Error while managing jingle session, cancelling: {condition}".format(
condition=error_condition
@ -157,7 +157,7 @@ class XEP_0166:
)
return client.send(iq_elt)
def _terminateEb(self, failure_):
def _terminate_eb(self, failure_):
log.warning(_("Error while terminating session: {msg}").format(msg=failure_))
def terminate(self, client, reason, session, text=None):
@ -168,7 +168,7 @@ class XEP_0166:
if a list of element, add them as children of the <reason/> element
@param session(dict): data of the session
"""
iq_elt, jingle_elt = self._buildJingleElt(
iq_elt, jingle_elt = self._build_jingle_elt(
client, session, XEP_0166.A_SESSION_TERMINATE
)
reason_elt = jingle_elt.addElement("reason")
@ -179,14 +179,14 @@ class XEP_0166:
reason_elt.addChild(elt)
if text is not None:
reason_elt.addElement("text", content=text)
self._delSession(client, session["id"])
self._del_session(client, session["id"])
d = iq_elt.send()
d.addErrback(self._terminateEb)
d.addErrback(self._terminate_eb)
return d
## errors which doesn't imply a stanza sending ##
def _iqError(self, failure_, sid, client):
def _iq_error(self, failure_, sid, client):
"""Called when we got an <iq/> error
@param failure_(failure.Failure): the exceptions raised
@ -197,9 +197,9 @@ class XEP_0166:
failure_=failure_.value
)
)
self._delSession(client, sid)
self._del_session(client, sid)
def _jingleErrorCb(self, failure_, session, request, client):
def _jingle_error_cb(self, failure_, session, request, client):
"""Called when something is going wrong while parsing jingle request
The error condition depend of the exceptions raised:
@ -224,7 +224,7 @@ class XEP_0166:
## methods used by other plugins ##
def registerApplication(self, namespace, handler):
def register_application(self, namespace, handler):
"""Register an application plugin
@param namespace(unicode): application namespace managed by the plugin
@ -235,10 +235,10 @@ class XEP_0166:
- if it return True the session is accepted, else rejected.
A Deferred can be returned
- if not present, a generic accept dialog will be used
- jingleSessionInit(client, self, session, content_name[, *args, **kwargs]): must return the domish.Element used for initial content
- jingleHandler(client, self, action, session, content_name, transport_elt):
- jingle_session_init(client, self, session, content_name[, *args, **kwargs]): must return the domish.Element used for initial content
- jingle_handler(client, self, action, session, content_name, transport_elt):
called on several action to negociate the application or transport
- jingleTerminate: called on session terminate, with reason_elt
- jingle_terminate: called on session terminate, with reason_elt
May be used to clean session
"""
if namespace in self._applications:
@ -250,15 +250,15 @@ class XEP_0166:
)
log.debug("new jingle application registered")
def registerTransport(self, namespace, transport_type, handler, priority=0):
def register_transport(self, namespace, transport_type, handler, priority=0):
"""Register a transport plugin
@param namespace(unicode): the XML namespace used for this transport
@param transport_type(unicode): type of transport to use (see XEP-0166 §8)
@param handler(object): instance of a class which manage the application.
Must have the following methods:
- jingleSessionInit(client, self, session, content_name[, *args, **kwargs]): must return the domish.Element used for initial content
- jingleHandler(client, self, action, session, content_name, transport_elt):
- jingle_session_init(client, self, session, content_name[, *args, **kwargs]): must return the domish.Element used for initial content
- jingle_handler(client, self, action, session, content_name, transport_elt):
called on several action to negociate the application or transport
@param priority(int): priority of this transport
"""
@ -281,7 +281,7 @@ class XEP_0166:
log.debug("new jingle transport registered")
@defer.inlineCallbacks
def transportReplace(self, client, transport_ns, session, content_name):
def transport_replace(self, client, transport_ns, session, content_name):
"""Replace a transport
@param transport_ns(unicode): namespace of the new transport to use
@ -297,35 +297,35 @@ class XEP_0166:
transport = self._transports[transport_ns]
except KeyError:
raise exceptions.InternalError("Unkown transport")
yield content_data["transport"].handler.jingleHandler(
yield content_data["transport"].handler.jingle_handler(
client, XEP_0166.A_DESTROY, session, content_name, None
)
content_data["transport"] = transport
transport_data.clear()
iq_elt, jingle_elt = self._buildJingleElt(
iq_elt, jingle_elt = self._build_jingle_elt(
client, session, XEP_0166.A_TRANSPORT_REPLACE
)
content_elt = jingle_elt.addElement("content")
content_elt["name"] = content_name
content_elt["creator"] = content_data["creator"]
transport_elt = transport.handler.jingleSessionInit(client, session, content_name)
transport_elt = transport.handler.jingle_session_init(client, session, content_name)
content_elt.addChild(transport_elt)
iq_elt.send()
def buildAction(self, client, action, session, content_name):
def build_action(self, client, action, session, content_name):
"""Build an element according to requested action
@param action(unicode): a jingle action (see XEP-0166 §7.2),
session-* actions are not managed here
transport-replace is managed in the dedicated [transportReplace] method
transport-replace is managed in the dedicated [transport_replace] method
@param session(dict): jingle session data
@param content_name(unicode): name of the content
@return (tuple[domish.Element, domish.Element]): parent <iq> element, <transport> or <description> element, according to action
"""
# we first build iq, jingle and content element which are the same in every cases
iq_elt, jingle_elt = self._buildJingleElt(client, session, action)
iq_elt, jingle_elt = self._build_jingle_elt(client, session, action)
# FIXME: XEP-0260 § 2.3 Ex 5 has an initiator attribute, but it should not according to XEP-0166 §7.1 table 1, must be checked
content_data = session["contents"][content_name]
content_elt = jingle_elt.addElement("content")
@ -342,13 +342,13 @@ class XEP_0166:
return iq_elt, context_elt
def buildSessionInfo(self, client, session):
def build_session_info(self, client, session):
"""Build a session-info action
@param session(dict): jingle session data
@return (tuple[domish.Element, domish.Element]): parent <iq> element, <jingle> element
"""
return self._buildJingleElt(client, session, XEP_0166.A_SESSION_INFO)
return self._build_jingle_elt(client, session, XEP_0166.A_SESSION_INFO)
def getApplication(self, namespace: str) -> object:
"""Retreive application corresponding to a namespace
@ -362,7 +362,7 @@ class XEP_0166:
f"No application registered for {namespace}"
)
def getContentData(self, content: dict) -> Tuple[object, list, dict, str]:
def get_content_data(self, content: dict) -> Tuple[object, list, dict, str]:
""""Retrieve application and its argument from content"""
app_ns = content["app_ns"]
try:
@ -414,13 +414,13 @@ class XEP_0166:
"contents": {},
}
if not await self.host.trigger.asyncPoint(
if not await self.host.trigger.async_point(
"XEP-0166_initiate",
client, session, contents
):
return
iq_elt, jingle_elt = self._buildJingleElt(
iq_elt, jingle_elt = self._build_jingle_elt(
client, session, XEP_0166.A_SESSION_INITIATE
)
jingle_elt["initiator"] = initiator.full()
@ -429,7 +429,7 @@ class XEP_0166:
for content in contents:
# we get the application plugin
application, app_args, app_kwargs, content_name = self.getContentData(content)
application, app_args, app_kwargs, content_name = self.get_content_data(content)
# and the transport plugin
transport_type = content.get("transport_type", XEP_0166.TRANSPORT_STREAMING)
@ -465,20 +465,20 @@ class XEP_0166:
pass
# then the description element
desc_elt = await utils.asDeferred(
application.handler.jingleSessionInit,
desc_elt = await utils.as_deferred(
application.handler.jingle_session_init,
client, session, content_name, *app_args, **app_kwargs
)
content_elt.addChild(desc_elt)
# and the transport one
transport_elt = await utils.asDeferred(
transport.handler.jingleSessionInit,
transport_elt = await utils.as_deferred(
transport.handler.jingle_session_init,
client, session, content_name
)
content_elt.addChild(transport_elt)
if not await self.host.trigger.asyncPoint(
if not await self.host.trigger.async_point(
"XEP-0166_initiate_elt_built",
client, session, iq_elt, jingle_elt
):
@ -494,17 +494,17 @@ class XEP_0166:
await iq_elt.send()
except Exception as e:
failure_ = failure.Failure(e)
self._iqError(failure_, sid, client)
self._iq_error(failure_, sid, client)
raise failure_
def delayedContentTerminate(self, *args, **kwargs):
"""Put contentTerminate in queue but don't execute immediately
def delayed_content_terminate(self, *args, **kwargs):
"""Put content_terminate in queue but don't execute immediately
This is used to terminate a content inside a handler, to avoid modifying contents
"""
reactor.callLater(0, self.contentTerminate, *args, **kwargs)
reactor.callLater(0, self.content_terminate, *args, **kwargs)
def contentTerminate(self, client, session, content_name, reason=REASON_SUCCESS):
def content_terminate(self, client, session, content_name, reason=REASON_SUCCESS):
"""Terminate and remove a content
if there is no more content, then session is terminated
@ -519,12 +519,12 @@ class XEP_0166:
## defaults methods called when plugin doesn't have them ##
def jingleRequestConfirmationDefault(
def jingle_request_confirmation_default(
self, client, action, session, content_name, desc_elt
):
"""This method request confirmation for a jingle session"""
log.debug("Using generic jingle confirmation method")
return xml_tools.deferConfirm(
return xml_tools.defer_confirm(
self.host,
_(CONFIRM_TXT).format(entity=session["peer_jid"].full()),
_("Confirm Jingle session"),
@ -620,27 +620,27 @@ class XEP_0166:
raise exceptions.InternalError
if action == XEP_0166.A_SESSION_INITIATE:
await self.onSessionInitiate(client, request, jingle_elt, session)
await self.on_session_initiate(client, request, jingle_elt, session)
elif action == XEP_0166.A_SESSION_TERMINATE:
self.onSessionTerminate(client, request, jingle_elt, session)
self.on_session_terminate(client, request, jingle_elt, session)
elif action == XEP_0166.A_SESSION_ACCEPT:
self.onSessionAccept(client, request, jingle_elt, session)
self.on_session_accept(client, request, jingle_elt, session)
elif action == XEP_0166.A_SESSION_INFO:
self.onSessionInfo(client, request, jingle_elt, session)
self.on_session_info(client, request, jingle_elt, session)
elif action == XEP_0166.A_TRANSPORT_INFO:
self.onTransportInfo(client, request, jingle_elt, session)
self.on_transport_info(client, request, jingle_elt, session)
elif action == XEP_0166.A_TRANSPORT_REPLACE:
self.onTransportReplace(client, request, jingle_elt, session)
self.on_transport_replace(client, request, jingle_elt, session)
elif action == XEP_0166.A_TRANSPORT_ACCEPT:
self.onTransportAccept(client, request, jingle_elt, session)
self.on_transport_accept(client, request, jingle_elt, session)
elif action == XEP_0166.A_TRANSPORT_REJECT:
self.onTransportReject(client, request, jingle_elt, session)
self.on_transport_reject(client, request, jingle_elt, session)
else:
raise exceptions.InternalError("Unknown action {}".format(action))
## Actions callbacks ##
def _parseElements(
def _parse_elements(
self,
jingle_elt,
session,
@ -759,14 +759,14 @@ class XEP_0166:
content_data["transport_elt"] = transport_elt
def _ignore(self, client, action, session, content_name, elt):
"""Dummy method used when not exception must be raised if a method is not implemented in _callPlugins
"""Dummy method used when not exception must be raised if a method is not implemented in _call_plugins
must be used as app_default_cb and/or transp_default_cb
"""
return elt
def _callPlugins(self, client, action, session, app_method_name="jingleHandler",
transp_method_name="jingleHandler", app_default_cb=None,
def _call_plugins(self, client, action, session, app_method_name="jingle_handler",
transp_method_name="jingle_handler", app_default_cb=None,
transp_default_cb=None, delete=True, elements=True,
force_element=None):
"""Call application and transport plugin methods for all contents
@ -784,7 +784,7 @@ class XEP_0166:
@param delete(bool): if True, remove desc_elt and transport_elt from session
ignored if elements is False
@param elements(bool): True if elements(desc_elt and tranport_elt) must be managed
must be True if _callPlugins is used in a request, and False if it used after a request
must be True if _call_plugins is used in a request, and False if it used after a request
(i.e. on <iq> result or error)
@param force_element(None, domish.Element, object): if elements is False, it is used as element parameter
else it is ignored
@ -815,14 +815,14 @@ class XEP_0166:
elt = content_data.pop(elt_name) if delete else content_data[elt_name]
else:
elt = force_element
d = utils.asDeferred(
d = utils.as_deferred(
method, client, action, session, content_name, elt
)
defers_list.append(d)
return defers_list
async def onSessionInitiate(
async def on_session_initiate(
self,
client: SatXMPPEntity,
request: domish.Element,
@ -831,8 +831,8 @@ class XEP_0166:
) -> None:
"""Called on session-initiate action
The "jingleRequestConfirmation" method of each application will be called
(or self.jingleRequestConfirmationDefault if the former doesn't exist).
The "jingle_request_confirmation" method of each application will be called
(or self.jingle_request_confirmation_default if the former doesn't exist).
The session is only accepted if all application are confirmed.
The application must manage itself multiple contents scenari (e.g. audio/video).
@param client: %(doc_client)s
@ -847,7 +847,7 @@ class XEP_0166:
session["contents"] = contents_dict = {}
try:
self._parseElements(
self._parse_elements(
jingle_elt, session, request, client, True, XEP_0166.ROLE_INITIATOR
)
except exceptions.CancelError:
@ -862,7 +862,7 @@ class XEP_0166:
client.send(xmlstream.toResponse(request, "result"))
if not await self.host.trigger.asyncPoint(
if not await self.host.trigger.async_point(
"XEP-0166_on_session_initiate",
client, session, request, jingle_elt
):
@ -870,21 +870,21 @@ class XEP_0166:
# we now request each application plugin confirmation
# and if all are accepted, we can accept the session
confirm_defers = self._callPlugins(
confirm_defers = self._call_plugins(
client,
XEP_0166.A_SESSION_INITIATE,
session,
"jingleRequestConfirmation",
"jingle_request_confirmation",
None,
self.jingleRequestConfirmationDefault,
self.jingle_request_confirmation_default,
delete=False,
)
confirm_dlist = defer.gatherResults(confirm_defers)
confirm_dlist.addCallback(self._confirmationCb, session, jingle_elt, client)
confirm_dlist.addErrback(self._jingleErrorCb, session, request, client)
confirm_dlist.addCallback(self._confirmation_cb, session, jingle_elt, client)
confirm_dlist.addErrback(self._jingle_error_cb, session, request, client)
def _confirmationCb(self, confirm_results, session, jingle_elt, client):
def _confirmation_cb(self, confirm_results, session, jingle_elt, client):
"""Method called when confirmation from user has been received
This method is only called for the responder
@ -897,7 +897,7 @@ class XEP_0166:
if not confirmed:
return self.terminate(client, XEP_0166.REASON_DECLINE, session)
iq_elt, jingle_elt = self._buildJingleElt(
iq_elt, jingle_elt = self._build_jingle_elt(
client, session, XEP_0166.A_SESSION_ACCEPT
)
jingle_elt["responder"] = session['local_jid'].full()
@ -915,9 +915,9 @@ class XEP_0166:
content_elt["name"] = content_name
application = content_data["application"]
app_session_accept_cb = application.handler.jingleHandler
app_session_accept_cb = application.handler.jingle_handler
app_d = utils.asDeferred(
app_d = utils.as_deferred(
app_session_accept_cb,
client,
XEP_0166.A_SESSION_INITIATE,
@ -929,9 +929,9 @@ class XEP_0166:
defers_list.append(app_d)
transport = content_data["transport"]
transport_session_accept_cb = transport.handler.jingleHandler
transport_session_accept_cb = transport.handler.jingle_handler
transport_d = utils.asDeferred(
transport_d = utils.as_deferred(
transport_session_accept_cb,
client,
XEP_0166.A_SESSION_INITIATE,
@ -944,7 +944,7 @@ class XEP_0166:
d_list = defer.DeferredList(defers_list)
d_list.addCallback(
lambda __: self._callPlugins(
lambda __: self._call_plugins(
client,
XEP_0166.A_PREPARE_RESPONDER,
session,
@ -954,19 +954,19 @@ class XEP_0166:
)
d_list.addCallback(lambda __: iq_elt.send())
def changeState(__, session):
def change_state(__, session):
session["state"] = STATE_ACTIVE
d_list.addCallback(changeState, session)
d_list.addCallback(change_state, session)
d_list.addCallback(
lambda __: self._callPlugins(
lambda __: self._call_plugins(
client, XEP_0166.A_ACCEPTED_ACK, session, elements=False
)
)
d_list.addErrback(self._iqError, session["id"], client)
d_list.addErrback(self._iq_error, session["id"], client)
return d_list
def onSessionTerminate(self, client, request, jingle_elt, session):
def on_session_terminate(self, client, request, jingle_elt, session):
# TODO: check reason, display a message to user if needed
log.debug("Jingle Session {} terminated".format(session["id"]))
try:
@ -975,12 +975,12 @@ class XEP_0166:
log.warning("No reason given for session termination")
reason_elt = jingle_elt.addElement("reason")
terminate_defers = self._callPlugins(
terminate_defers = self._call_plugins(
client,
XEP_0166.A_SESSION_TERMINATE,
session,
"jingleTerminate",
"jingleTerminate",
"jingle_terminate",
"jingle_terminate",
self._ignore,
self._ignore,
elements=False,
@ -988,10 +988,10 @@ class XEP_0166:
)
terminate_dlist = defer.DeferredList(terminate_defers)
terminate_dlist.addCallback(lambda __: self._delSession(client, session["id"]))
terminate_dlist.addCallback(lambda __: self._del_session(client, session["id"]))
client.send(xmlstream.toResponse(request, "result"))
def onSessionAccept(self, client, request, jingle_elt, session):
def on_session_accept(self, client, request, jingle_elt, session):
"""Method called once session is accepted
This method is only called for initiator
@ -1003,7 +1003,7 @@ class XEP_0166:
log.debug("Jingle session {} has been accepted".format(session["id"]))
try:
self._parseElements(jingle_elt, session, request, client)
self._parse_elements(jingle_elt, session, request, client)
except exceptions.CancelError:
return
@ -1013,28 +1013,28 @@ class XEP_0166:
session["state"] = STATE_ACTIVE
negociate_defers = []
negociate_defers = self._callPlugins(client, XEP_0166.A_SESSION_ACCEPT, session)
negociate_defers = self._call_plugins(client, XEP_0166.A_SESSION_ACCEPT, session)
negociate_dlist = defer.gatherResults(negociate_defers)
# after negociations we start the transfer
negociate_dlist.addCallback(
lambda __: self._callPlugins(
lambda __: self._call_plugins(
client, XEP_0166.A_START, session, app_method_name=None, elements=False
)
)
def _onSessionCb(self, result, client, request, jingle_elt, session):
def _on_session_cb(self, result, client, request, jingle_elt, session):
client.send(xmlstream.toResponse(request, "result"))
def _onSessionEb(self, failure_, client, request, jingle_elt, session):
log.error("Error while handling onSessionInfo: {}".format(failure_.value))
def _on_session_eb(self, failure_, client, request, jingle_elt, session):
log.error("Error while handling on_session_info: {}".format(failure_.value))
# XXX: only error managed so far, maybe some applications/transports need more
self.sendError(
client, "feature-not-implemented", None, request, "unsupported-info"
)
def onSessionInfo(self, client, request, jingle_elt, session):
def on_session_info(self, client, request, jingle_elt, session):
"""Method called when a session-info action is received from other peer
This method is only called for initiator
@ -1051,28 +1051,28 @@ class XEP_0166:
try:
# XXX: session-info is most likely only used for application, so we don't call transport plugins
# if a future transport use it, this behaviour must be adapted
defers = self._callPlugins(
defers = self._call_plugins(
client,
XEP_0166.A_SESSION_INFO,
session,
"jingleSessionInfo",
"jingle_session_info",
None,
elements=False,
force_element=jingle_elt,
)
except exceptions.NotFound as e:
self._onSessionEb(failure.Failure(e), client, request, jingle_elt, session)
self._on_session_eb(failure.Failure(e), client, request, jingle_elt, session)
return
dlist = defer.DeferredList(defers, fireOnOneErrback=True)
dlist.addCallback(self._onSessionCb, client, request, jingle_elt, session)
dlist.addErrback(self._onSessionCb, client, request, jingle_elt, session)
dlist.addCallback(self._on_session_cb, client, request, jingle_elt, session)
dlist.addErrback(self._on_session_cb, client, request, jingle_elt, session)
@defer.inlineCallbacks
def onTransportReplace(self, client, request, jingle_elt, session):
def on_transport_replace(self, client, request, jingle_elt, session):
"""A transport change is requested
The request is parsed, and jingleHandler is called on concerned transport plugin(s)
The request is parsed, and jingle_handler is called on concerned transport plugin(s)
@param client: %(doc_client)s
@param request(domish.Element): full <iq> request
@param jingle_elt(domish.Element): the <jingle> element
@ -1080,7 +1080,7 @@ class XEP_0166:
"""
log.debug("Other peer wants to replace the transport")
try:
self._parseElements(
self._parse_elements(
jingle_elt, session, request, client, with_application=False
)
except exceptions.CancelError:
@ -1111,7 +1111,7 @@ class XEP_0166:
if content_name is None:
# wa can't accept the replacement
iq_elt, reject_jingle_elt = self._buildJingleElt(
iq_elt, reject_jingle_elt = self._build_jingle_elt(
client, session, XEP_0166.A_TRANSPORT_REJECT
)
for child in jingle_elt.children:
@ -1122,12 +1122,12 @@ class XEP_0166:
# at this point, everything is alright and we can replace the transport(s)
# this is similar to an session-accept action, but for transports only
iq_elt, accept_jingle_elt = self._buildJingleElt(
iq_elt, accept_jingle_elt = self._build_jingle_elt(
client, session, XEP_0166.A_TRANSPORT_ACCEPT
)
for content_name, content_data, transport, transport_elt in to_replace:
# we can now actually replace the transport
yield content_data["transport"].handler.jingleHandler(
yield content_data["transport"].handler.jingle_handler(
client, XEP_0166.A_DESTROY, session, content_name, None
)
content_data["transport"] = transport
@ -1137,18 +1137,18 @@ class XEP_0166:
content_elt["name"] = content_name
content_elt["creator"] = content_data["creator"]
# we notify the transport and insert its <transport/> in the answer
accept_transport_elt = yield transport.handler.jingleHandler(
accept_transport_elt = yield transport.handler.jingle_handler(
client, XEP_0166.A_TRANSPORT_REPLACE, session, content_name, transport_elt
)
content_elt.addChild(accept_transport_elt)
# there is no confirmation needed here, so we can directly prepare it
yield transport.handler.jingleHandler(
yield transport.handler.jingle_handler(
client, XEP_0166.A_PREPARE_RESPONDER, session, content_name, None
)
iq_elt.send()
def onTransportAccept(self, client, request, jingle_elt, session):
def on_transport_accept(self, client, request, jingle_elt, session):
"""Method called once transport replacement is accepted
@param client: %(doc_client)s
@ -1159,7 +1159,7 @@ class XEP_0166:
log.debug("new transport has been accepted")
try:
self._parseElements(
self._parse_elements(
jingle_elt, session, request, client, with_application=False
)
except exceptions.CancelError:
@ -1169,7 +1169,7 @@ class XEP_0166:
client.send(xmlstream.toResponse(request, "result"))
negociate_defers = []
negociate_defers = self._callPlugins(
negociate_defers = self._call_plugins(
client, XEP_0166.A_TRANSPORT_ACCEPT, session, app_method_name=None
)
@ -1177,12 +1177,12 @@ class XEP_0166:
# after negociations we start the transfer
negociate_dlist.addCallback(
lambda __: self._callPlugins(
lambda __: self._call_plugins(
client, XEP_0166.A_START, session, app_method_name=None, elements=False
)
)
def onTransportReject(self, client, request, jingle_elt, session):
def on_transport_reject(self, client, request, jingle_elt, session):
"""Method called when a transport replacement is refused
@param client: %(doc_client)s
@ -1194,10 +1194,10 @@ class XEP_0166:
# this behaviour may change in the future
self.terminate(client, "failed-transport", session)
def onTransportInfo(self, client, request, jingle_elt, session):
def on_transport_info(self, client, request, jingle_elt, session):
"""Method called when a transport-info action is received from other peer
The request is parsed, and jingleHandler is called on concerned transport plugin(s)
The request is parsed, and jingle_handler is called on concerned transport plugin(s)
@param client: %(doc_client)s
@param request(domish.Element): full <iq> request
@param jingle_elt(domish.Element): the <jingle> element
@ -1206,7 +1206,7 @@ class XEP_0166:
log.debug("Jingle session {} has been accepted".format(session["id"]))
try:
self._parseElements(
self._parse_elements(
jingle_elt, session, request, client, with_application=False
)
except exceptions.CancelError:
@ -1221,7 +1221,7 @@ class XEP_0166:
except KeyError:
continue
else:
content_data["transport"].handler.jingleHandler(
content_data["transport"].handler.jingle_handler(
client,
XEP_0166.A_TRANSPORT_INFO,
session,