Use recommended python3.6 APIs and document 3.7 upgrades (#4134)
- Remove remaining %-string substitutions (`absl.logging` excluded).
- Replace all `subprocess.check_*` calls with the recommended `subprocess.run(check=True,...)`.
- Add TODO(#4131) for the following:
- `python>=3.7: Use postponed type annotations.`
- `python>=3.7: Consider using a dataclass.`
- `python>=3.7: Use capture_output=True.`
- `python>=3.7: Replace 'universal_newlines' with 'text'.`
- `python>=3.7: Remove redundant OrderedDict.`
diff --git a/scripts/utils.py b/scripts/utils.py
index 870044b..313dd65 100644
--- a/scripts/utils.py
+++ b/scripts/utils.py
@@ -33,10 +33,13 @@
print(f'Running: `{" ".join(command)}`')
if dry_run:
return None, None
- process = subprocess.run(command,
- stderr=subprocess.PIPE,
- stdout=subprocess.PIPE,
- universal_newlines=True)
+ process = subprocess.run(
+ command,
+ # TODO(#4131) python>=3.7: Use capture_output=True.
+ stderr=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+ # TODO(#4131) python>=3.7: Replace 'universal_newlines' with 'text'.
+ universal_newlines=True)
if log_stderr:
for line in process.stderr.splitlines():