Coverage for src/pycse/sandbox.py: 0.00%
19 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-23 16:23 -0400
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-23 16:23 -0400
1#!/usr/bin/env python
2"""Module that runs as a script to redirect stderr to stdout.
4Output is designed for org-mode.
5"""
7from io import StringIO
8import sys
10content = sys.stdin.read()
12old_stdout = sys.stdout
13old_stderr = sys.stderr
14redirected_output = sys.stdout = StringIO()
15redirected_error = sys.stderr = StringIO()
17out, err, exc = None, None, None
19# execute the code
20exec(content)
22out = redirected_output.getvalue()
23err = redirected_error.getvalue()
25sys.stdout = old_stdout
26sys.stderr = old_stderr
29s = """{0}""".format(out)
31if err:
32 s += """
33#+STDERR:
34{0}
35""".format(err)
37if exc:
38 s += """
39#+EXCEPTIONS:
40{0}
41""".format(exc)
43# print final result to stdout
44print(s)