strike unncessary kwargs to Rpc

This commit is contained in:
holger krekel
2025-11-28 19:10:14 +01:00
parent 8b9f5c7795
commit 7dc717fa62
2 changed files with 9 additions and 14 deletions

View File

@@ -47,7 +47,6 @@ class AttrDict(dict):
def run_client_cli( def run_client_cli(
hooks: Optional[Iterable[Tuple[Callable, Union[type, "EventFilter"]]]] = None, hooks: Optional[Iterable[Tuple[Callable, Union[type, "EventFilter"]]]] = None,
argv: Optional[list] = None, argv: Optional[list] = None,
**kwargs,
) -> None: ) -> None:
"""Run a simple command line app, using the given hooks. """Run a simple command line app, using the given hooks.
@@ -55,13 +54,12 @@ def run_client_cli(
""" """
from .client import Client from .client import Client
_run_cli(Client, hooks, argv, **kwargs) _run_cli(Client, hooks, argv)
def run_bot_cli( def run_bot_cli(
hooks: Optional[Iterable[Tuple[Callable, Union[type, "EventFilter"]]]] = None, hooks: Optional[Iterable[Tuple[Callable, Union[type, "EventFilter"]]]] = None,
argv: Optional[list] = None, argv: Optional[list] = None,
**kwargs,
) -> None: ) -> None:
"""Run a simple bot command line using the given hooks. """Run a simple bot command line using the given hooks.
@@ -69,14 +67,13 @@ def run_bot_cli(
""" """
from .client import Bot from .client import Bot
_run_cli(Bot, hooks, argv, **kwargs) _run_cli(Bot, hooks, argv)
def _run_cli( def _run_cli(
client_type: Type["Client"], client_type: Type["Client"],
hooks: Optional[Iterable[Tuple[Callable, Union[type, "EventFilter"]]]] = None, hooks: Optional[Iterable[Tuple[Callable, Union[type, "EventFilter"]]]] = None,
argv: Optional[list] = None, argv: Optional[list] = None,
**kwargs,
) -> None: ) -> None:
from .deltachat import DeltaChat from .deltachat import DeltaChat
from .rpc import Rpc from .rpc import Rpc
@@ -94,7 +91,7 @@ def _run_cli(
parser.add_argument("--password", action="store", help="password", default=os.getenv("DELTACHAT_PASSWORD")) parser.add_argument("--password", action="store", help="password", default=os.getenv("DELTACHAT_PASSWORD"))
args = parser.parse_args(argv[1:]) args = parser.parse_args(argv[1:])
with Rpc(accounts_dir=args.accounts_dir, **kwargs) as rpc: with Rpc(accounts_dir=args.accounts_dir) as rpc:
deltachat = DeltaChat(rpc) deltachat = DeltaChat(rpc)
core_version = (deltachat.get_system_info()).deltachat_core_version core_version = (deltachat.get_system_info()).deltachat_core_version
accounts = deltachat.get_all_accounts() accounts = deltachat.get_all_accounts()

View File

@@ -54,18 +54,13 @@ class RpcMethod:
class Rpc: class Rpc:
"""RPC client.""" """RPC client."""
def __init__(self, accounts_dir: Optional[str] = None, rpc_server_path="deltachat-rpc-server", **kwargs): def __init__(self, accounts_dir: Optional[str] = None, rpc_server_path="deltachat-rpc-server"):
"""Initialize RPC client. """Initialize RPC client.
The given arguments will be passed to subprocess.Popen(). The given arguments will be passed to subprocess.Popen().
""" """
if accounts_dir: self._accounts_dir = accounts_dir
kwargs["env"] = {
**kwargs.get("env", os.environ),
"DC_ACCOUNTS_PATH": str(accounts_dir),
}
self._kwargs = kwargs
self.rpc_server_path = rpc_server_path self.rpc_server_path = rpc_server_path
self.process: subprocess.Popen self.process: subprocess.Popen
self.id_iterator: Iterator[int] self.id_iterator: Iterator[int]
@@ -102,7 +97,10 @@ class Rpc:
# `process_group` is not supported before Python 3.11. # `process_group` is not supported before Python 3.11.
popen_kwargs["preexec_fn"] = os.setpgrp # noqa: PLW1509 popen_kwargs["preexec_fn"] = os.setpgrp # noqa: PLW1509
popen_kwargs.update(self._kwargs) if self._accounts_dir:
popen_kwargs["env"] = os.environ.copy()
popen_kwargs["env"]["DC_ACCOUNTS_PATH"] = str(self._accounts_dir)
process = subprocess.Popen(self.rpc_server_path, **popen_kwargs) process = subprocess.Popen(self.rpc_server_path, **popen_kwargs)
return process.stdout, process.stdin return process.stdout, process.stdin