summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2019-08-23 10:53:36 +0200
committerCarlton Gibson <carlton.gibson@noumenal.es>2019-08-23 10:53:36 +0200
commit9386586f31b8a0bccf59a1bff647cd829d4e79aa (patch)
treef28bf4c9b8b0a1431c1b6722f9d5bb613d78040f /django
parent7bd963332017eace00be8caf7dc1b7b304da613a (diff)
Replaced subprocess commands by run() wherever possible.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/bin/compress.py2
-rw-r--r--django/core/management/utils.py9
-rw-r--r--django/db/backends/mysql/client.py2
-rw-r--r--django/db/backends/oracle/client.py2
-rw-r--r--django/db/backends/sqlite3/client.py2
-rw-r--r--django/utils/autoreload.py6
-rw-r--r--django/utils/version.py4
7 files changed, 13 insertions, 14 deletions
diff --git a/django/contrib/admin/bin/compress.py b/django/contrib/admin/bin/compress.py
index d8d840f2b2..1cadc71ed7 100644
--- a/django/contrib/admin/bin/compress.py
+++ b/django/contrib/admin/bin/compress.py
@@ -54,7 +54,7 @@ Compiler library and Java version 6 or later."""
)
if options.verbose:
sys.stdout.write("Running: %s\n" % cmd)
- subprocess.call(cmd.split())
+ subprocess.run(cmd.split())
else:
sys.stdout.write("File %s not found. Sure it exists?\n" % to_compress)
diff --git a/django/core/management/utils.py b/django/core/management/utils.py
index c201684c9c..43addf8bdd 100644
--- a/django/core/management/utils.py
+++ b/django/core/management/utils.py
@@ -1,7 +1,7 @@
import fnmatch
import os
from pathlib import Path
-from subprocess import PIPE, Popen
+from subprocess import PIPE, run
from django.apps import apps as installed_apps
from django.utils.crypto import get_random_string
@@ -17,13 +17,12 @@ def popen_wrapper(args, stdout_encoding='utf-8'):
Return stdout output, stderr output, and OS status code.
"""
try:
- p = Popen(args, shell=False, stdout=PIPE, stderr=PIPE, close_fds=os.name != 'nt')
+ p = run(args, stdout=PIPE, stderr=PIPE, close_fds=os.name != 'nt')
except OSError as err:
raise CommandError('Error executing %s' % args[0]) from err
- output, errors = p.communicate()
return (
- output.decode(stdout_encoding),
- errors.decode(DEFAULT_LOCALE_ENCODING, errors='replace'),
+ p.stdout.decode(stdout_encoding),
+ p.stderr.decode(DEFAULT_LOCALE_ENCODING, errors='replace'),
p.returncode
)
diff --git a/django/db/backends/mysql/client.py b/django/db/backends/mysql/client.py
index 224bfc3dc6..a596a650b3 100644
--- a/django/db/backends/mysql/client.py
+++ b/django/db/backends/mysql/client.py
@@ -45,4 +45,4 @@ class DatabaseClient(BaseDatabaseClient):
def runshell(self):
args = DatabaseClient.settings_to_cmd_args(self.connection.settings_dict)
- subprocess.check_call(args)
+ subprocess.run(args, check=True)
diff --git a/django/db/backends/oracle/client.py b/django/db/backends/oracle/client.py
index 4c5070a207..243c018d03 100644
--- a/django/db/backends/oracle/client.py
+++ b/django/db/backends/oracle/client.py
@@ -14,4 +14,4 @@ class DatabaseClient(BaseDatabaseClient):
wrapper_path = shutil.which(self.wrapper_name)
if wrapper_path:
args = [wrapper_path, *args]
- subprocess.check_call(args)
+ subprocess.run(args, check=True)
diff --git a/django/db/backends/sqlite3/client.py b/django/db/backends/sqlite3/client.py
index 0c490ea587..485d540188 100644
--- a/django/db/backends/sqlite3/client.py
+++ b/django/db/backends/sqlite3/client.py
@@ -9,4 +9,4 @@ class DatabaseClient(BaseDatabaseClient):
def runshell(self):
args = [self.executable_name,
self.connection.settings_dict['NAME']]
- subprocess.check_call(args)
+ subprocess.run(args, check=True)
diff --git a/django/utils/autoreload.py b/django/utils/autoreload.py
index f6215d4edf..d5445e5f3f 100644
--- a/django/utils/autoreload.py
+++ b/django/utils/autoreload.py
@@ -227,9 +227,9 @@ def restart_with_reloader():
new_environ = {**os.environ, DJANGO_AUTORELOAD_ENV: 'true'}
args = get_child_arguments()
while True:
- exit_code = subprocess.call(args, env=new_environ, close_fds=False)
- if exit_code != 3:
- return exit_code
+ p = subprocess.run(args, env=new_environ, close_fds=False)
+ if p.returncode != 3:
+ return p.returncode
class BaseReloader:
diff --git a/django/utils/version.py b/django/utils/version.py
index 7d17da318f..a6f667d2b1 100644
--- a/django/utils/version.py
+++ b/django/utils/version.py
@@ -77,12 +77,12 @@ def get_git_changeset():
so it's sufficient for generating the development version numbers.
"""
repo_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
- git_log = subprocess.Popen(
+ git_log = subprocess.run(
'git log --pretty=format:%ct --quiet -1 HEAD',
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
shell=True, cwd=repo_dir, universal_newlines=True,
)
- timestamp = git_log.communicate()[0]
+ timestamp = git_log.stdout
try:
timestamp = datetime.datetime.utcfromtimestamp(int(timestamp))
except ValueError: