Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

grass.script: Do not print stderr when not captured #2246

Merged
merged 3 commits into from
Mar 9, 2022

Commits on Mar 3, 2022

  1. grass.script: Do not print stderr when not captured

    Even when the global _capture_stderr is set, the functions allow users to not capture stderr (e.g., by using devnull). In these cases, sys.stderr.write fails because stderr is None. An example is grass.script.db.db_connection where db.connect regularly fails during grass.script.setup.finish when there is no database connection. With this fix, the function no longer fails and correctly handles the error state with except CalledModuleError.
    
    The issue with the original code is visible in the code itself: _capture_stderr is used in a condition to set stderr=PIPE, but that's conditional on values in kwargs. However, this second condition is not considered when output stderr value is used later on.
    wenzeslaus committed Mar 3, 2022
    Configuration menu
    Copy the full SHA
    55b0e20 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    419d52b View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2022

  1. Comment on subprocesses

    wenzeslaus committed Mar 4, 2022
    Configuration menu
    Copy the full SHA
    f3f858c View commit details
    Browse the repository at this point in the history