diff options
Diffstat (limited to 'django/core/management/utils.py')
| -rw-r--r-- | django/core/management/utils.py | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/django/core/management/utils.py b/django/core/management/utils.py index c6901aa3d5..c12d90f6ae 100644 --- a/django/core/management/utils.py +++ b/django/core/management/utils.py @@ -10,20 +10,20 @@ from django.utils.encoding import DEFAULT_LOCALE_ENCODING from .base import CommandError, CommandParser -def popen_wrapper(args, stdout_encoding='utf-8'): +def popen_wrapper(args, stdout_encoding="utf-8"): """ Friendly wrapper around Popen. Return stdout output, stderr output, and OS status code. """ try: - p = run(args, capture_output=True, close_fds=os.name != 'nt') + p = run(args, capture_output=True, close_fds=os.name != "nt") except OSError as err: - raise CommandError('Error executing %s' % args[0]) from err + raise CommandError("Error executing %s" % args[0]) from err return ( p.stdout.decode(stdout_encoding), - p.stderr.decode(DEFAULT_LOCALE_ENCODING, errors='replace'), - p.returncode + p.stderr.decode(DEFAULT_LOCALE_ENCODING, errors="replace"), + p.returncode, ) @@ -42,25 +42,25 @@ def handle_extensions(extensions): """ ext_list = [] for ext in extensions: - ext_list.extend(ext.replace(' ', '').split(',')) + ext_list.extend(ext.replace(" ", "").split(",")) for i, ext in enumerate(ext_list): - if not ext.startswith('.'): - ext_list[i] = '.%s' % ext_list[i] + if not ext.startswith("."): + ext_list[i] = ".%s" % ext_list[i] return set(ext_list) def find_command(cmd, path=None, pathext=None): if path is None: - path = os.environ.get('PATH', '').split(os.pathsep) + path = os.environ.get("PATH", "").split(os.pathsep) if isinstance(path, str): path = [path] # check if there are funny path extensions for executables, e.g. Windows if pathext is None: - pathext = os.environ.get('PATHEXT', '.COM;.EXE;.BAT;.CMD').split(os.pathsep) + pathext = os.environ.get("PATHEXT", ".COM;.EXE;.BAT;.CMD").split(os.pathsep) # don't use extensions if the command ends with one of them for ext in pathext: if cmd.endswith(ext): - pathext = [''] + pathext = [""] break # check if we find the command on PATH for p in path: @@ -78,7 +78,7 @@ def get_random_secret_key(): """ Return a 50 character random string usable as a SECRET_KEY setting value. """ - chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)' + chars = "abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)" return get_random_string(50, chars) @@ -93,11 +93,11 @@ def parse_apps_and_model_labels(labels): models = set() for label in labels: - if '.' in label: + if "." in label: try: model = installed_apps.get_model(label) except LookupError: - raise CommandError('Unknown model: %s' % label) + raise CommandError("Unknown model: %s" % label) models.add(model) else: try: @@ -116,7 +116,7 @@ def get_command_line_option(argv, option): option wasn't passed or if the argument list couldn't be parsed. """ parser = CommandParser(add_help=False, allow_abbrev=False) - parser.add_argument(option, dest='value') + parser.add_argument(option, dest="value") try: options, _ = parser.parse_known_args(argv[2:]) except CommandError: @@ -128,12 +128,12 @@ def get_command_line_option(argv, option): def normalize_path_patterns(patterns): """Normalize an iterable of glob style patterns based on OS.""" patterns = [os.path.normcase(p) for p in patterns] - dir_suffixes = {'%s*' % path_sep for path_sep in {'/', os.sep}} + dir_suffixes = {"%s*" % path_sep for path_sep in {"/", os.sep}} norm_patterns = [] for pattern in patterns: for dir_suffix in dir_suffixes: if pattern.endswith(dir_suffix): - norm_patterns.append(pattern[:-len(dir_suffix)]) + norm_patterns.append(pattern[: -len(dir_suffix)]) break else: norm_patterns.append(pattern) @@ -148,6 +148,8 @@ def is_ignored_path(path, ignore_patterns): path = Path(path) def ignore(pattern): - return fnmatch.fnmatchcase(path.name, pattern) or fnmatch.fnmatchcase(str(path), pattern) + return fnmatch.fnmatchcase(path.name, pattern) or fnmatch.fnmatchcase( + str(path), pattern + ) return any(ignore(pattern) for pattern in normalize_path_patterns(ignore_patterns)) |
