diff options
author | Todd Leonhardt <todd.leonhardt@gmail.com> | 2020-04-15 19:18:30 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-15 19:18:30 -0400 |
commit | 85bb29b7edfc6485556f398ddb192c16d1509856 (patch) | |
tree | bc4beaf99dcb0c49c9d836135ae2954ebd48dd15 /cmd2/utils.py | |
parent | c4fbd8fa618b5c48cc38ac5c262d3c1ec53ce9af (diff) | |
parent | b29a2bde32b5f59c29df52809d306df06aadfa9e (diff) | |
download | cmd2-git-85bb29b7edfc6485556f398ddb192c16d1509856.tar.gz |
Merge pull request #919 from python-cmd2/exception_handling
Exception handling
Diffstat (limited to 'cmd2/utils.py')
-rw-r--r-- | cmd2/utils.py | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/cmd2/utils.py b/cmd2/utils.py index 03ede2a3..cd0c7d54 100644 --- a/cmd2/utils.py +++ b/cmd2/utils.py @@ -665,20 +665,26 @@ class ContextFlag: class RedirectionSavedState: - """Created by each command to store information about their redirection.""" - + """Created by each command to store information required to restore state after redirection""" def __init__(self, self_stdout: Union[StdSim, TextIO], sys_stdout: Union[StdSim, TextIO], - pipe_proc_reader: Optional[ProcReader]) -> None: - # Used to restore values after the command ends + pipe_proc_reader: Optional[ProcReader], saved_redirecting: bool) -> None: + """ + RedirectionSavedState initializer + :param self_stdout: saved value of Cmd.stdout + :param sys_stdout: saved value of sys.stdout + :param pipe_proc_reader: saved value of Cmd._cur_pipe_proc_reader + :param saved_redirecting: saved value of Cmd._redirecting + """ + # Tells if command is redirecting + self.redirecting = False + + # Used to restore values after redirection ends self.saved_self_stdout = self_stdout self.saved_sys_stdout = sys_stdout - self.saved_pipe_proc_reader = pipe_proc_reader - - # Tells if the command is redirecting - self.redirecting = False - # If the command created a process to pipe to, then then is its reader - self.pipe_proc_reader = None + # Used to restore values after command ends regardless of whether the command redirected + self.saved_pipe_proc_reader = pipe_proc_reader + self.saved_redirecting = saved_redirecting # noinspection PyUnusedLocal |