diff --git a/davtelepot/__init__.py b/davtelepot/__init__.py index f1e2b45..3cb3f1c 100644 --- a/davtelepot/__init__.py +++ b/davtelepot/__init__.py @@ -11,7 +11,7 @@ __author__ = "Davide Testa" __email__ = "davide@davte.it" __credits__ = ["Marco Origlia", "Nick Lee @Nickoala"] __license__ = "GNU General Public License v3.0" -__version__ = "2.9.4" +__version__ = "2.9.5" __maintainer__ = "Davide Testa" __contact__ = "t.me/davte" diff --git a/davtelepot/utilities.py b/davtelepot/utilities.py index ad5773e..f2a9605 100644 --- a/davtelepot/utilities.py +++ b/davtelepot/utilities.py @@ -1713,16 +1713,21 @@ def recursive_dictionary_update(one: dict, other: dict) -> dict: return one -async def aio_subprocess_shell(command: str) -> Tuple[str, str]: +async def aio_subprocess_shell(command: str, + stdout=None, + stderr=None) -> Tuple[str, str]: """Run `command` in a subprocess shell. Await for the subprocess to end and return standard error and output. On error, log errors. + If `stdout` and/or `stderr` are given, use them as output and/or error pipes. + Example of non-null standard output/error pipe: asyncio.subprocess.PIPE """ - stdout, stderr = None, None try: _subprocess = await asyncio.create_subprocess_shell( - command + command, + stdout=stdout, + stderr=stderr ) stdout, stderr = await _subprocess.communicate() if stdout: