Mercurial > libervia-backend
diff libervia/cli/cmd_call.py @ 4233:d01b8d002619
cli (call, file), frontends: implement webRTC data channel transfer:
- file send/receive commands now supports webRTC transfer. In `send` command, the
`--webrtc` flags is currenty used to activate it.
- WebRTC related code have been factorized and moved to `libervia.frontends.tools.webrtc*`
modules.
rel 442
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 06 Apr 2024 13:43:09 +0200 |
parents | 9218d4331bb2 |
children | 79c8a70e1813 |
line wrap: on
line diff
--- a/libervia/cli/cmd_call.py Sat Apr 06 12:59:50 2024 +0200 +++ b/libervia/cli/cmd_call.py Sat Apr 06 13:43:09 2024 +0200 @@ -21,15 +21,16 @@ from functools import partial import importlib import logging +from typing import Any from libervia.backend.core.i18n import _ from libervia.backend.tools.common import data_format from libervia.cli.constants import Const as C from libervia.frontends.tools import jid +from libervia.frontends.tools.webrtc_models import CallData from . import base -from .call_webrtc import CallData, WebRTCCall __commands__ = ["Call"] @@ -58,6 +59,19 @@ self.parser.add_argument( "--no-ui", action="store_true", help=_("disable user interface") ) + sources_group = self.parser.add_mutually_exclusive_group() + sources_group.add_argument( + "-s", "--sources", choices=['auto', 'test'], default='auto', + help='Well-known sources to use (default: "auto").' + ) + + def get_call_data_kw(self) -> dict[str, Any]: + """Get relevant keyword arguments for CallData""" + kwargs: dict[str, Any] = {} + if self.args.sources == "test": + kwargs["sources"] = "test" + return kwargs + async def start(self): root_logger = logging.getLogger() @@ -120,6 +134,7 @@ await super().start() await super().output(CallData( callee=jid.JID(self.args.entity), + kwargs=self.get_call_data_kw() )) @@ -178,7 +193,8 @@ await super().output(CallData( callee=peer_jid, sid=action_data["session_id"], - action_id=action_id + action_id=action_id, + kwargs=self.get_call_data_kw() )) async def start(self):