From: Christian Heimes Date: Thu, 2 Dec 2021 09:17:37 +0000 (+0200) Subject: bpo-40280: Emscripten has no support for subprocesses (GH-29872) X-Git-Tag: v3.11.0a3~71 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cb2b3c8d3566ae46b3b8d0718019e1c98484589e;p=thirdparty%2FPython%2Fcpython.git bpo-40280: Emscripten has no support for subprocesses (GH-29872) Fixes ``platform`` and ``help()`` on emscripten. Signed-off-by: Christian Heimes Automerge-Triggered-By: GH:tiran --- diff --git a/Lib/platform.py b/Lib/platform.py index 9e9b42238fb7..3f3f25a2c92d 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -607,7 +607,10 @@ def _syscmd_file(target, default=''): # XXX Others too ? return default - import subprocess + try: + import subprocess + except ImportError: + return default target = _follow_symlinks(target) # "file" output is locale dependent: force the usage of the C locale # to get deterministic behavior. @@ -746,7 +749,10 @@ class _Processor: """ Fall back to `uname -p` """ - import subprocess + try: + import subprocess + except ImportError: + return None try: return subprocess.check_output( ['uname', '-p'], diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 3a2ff218f831..7d52359c9a0c 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -1556,6 +1556,8 @@ def getpager(): return plainpager if not sys.stdin.isatty() or not sys.stdout.isatty(): return plainpager + if sys.platform == "emscripten": + return plainpager use_pager = os.environ.get('MANPAGER') or os.environ.get('PAGER') if use_pager: if sys.platform == 'win32': # pipes completely broken in Windows