Loading django/core/management/__init__.py +25 −29 Original line number Diff line number Diff line Loading @@ -11,15 +11,12 @@ from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.core.management.base import BaseCommand, CommandError, handle_default_options from django.core.management.color import color_style from django.utils import lru_cache from django.utils import six # For backwards compatibility: get_version() used to be in this module. from django import get_version # A cache of loaded commands, so that call_command # doesn't have to reload every time it's called. _commands = None def find_commands(management_dir): """ Loading Loading @@ -85,6 +82,7 @@ def load_command_class(app_name, name): return module.Command() @lru_cache.lru_cache(maxsize=None) def get_commands(): """ Returns a dictionary mapping command names to their callback applications. Loading @@ -107,9 +105,7 @@ def get_commands(): The dictionary is cached on the first call and reused on subsequent calls. """ global _commands if _commands is None: _commands = dict((name, 'django.core') for name in find_commands(__path__[0])) commands = {name: 'django.core' for name in find_commands(__path__[0])} # Find the installed apps try: Loading @@ -130,11 +126,11 @@ def get_commands(): for app_name in app_names: try: path = find_management_module(app_name) _commands.update(dict((name, app_name) for name in find_commands(path))) commands.update({name: app_name for name in find_commands(path)}) except ImportError: pass # No management module - ignore this app return _commands return commands def call_command(name, *args, **options): Loading django/test/signals.py +3 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ def update_installed_apps(**kwargs): # Rebuild templatetags module cache. from django.template import base base.templatetags_modules[:] = [] # Rebuild management commands cache from django.core.management import get_commands get_commands.cache_clear() @receiver(setting_changed) Loading Loading
django/core/management/__init__.py +25 −29 Original line number Diff line number Diff line Loading @@ -11,15 +11,12 @@ from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.core.management.base import BaseCommand, CommandError, handle_default_options from django.core.management.color import color_style from django.utils import lru_cache from django.utils import six # For backwards compatibility: get_version() used to be in this module. from django import get_version # A cache of loaded commands, so that call_command # doesn't have to reload every time it's called. _commands = None def find_commands(management_dir): """ Loading Loading @@ -85,6 +82,7 @@ def load_command_class(app_name, name): return module.Command() @lru_cache.lru_cache(maxsize=None) def get_commands(): """ Returns a dictionary mapping command names to their callback applications. Loading @@ -107,9 +105,7 @@ def get_commands(): The dictionary is cached on the first call and reused on subsequent calls. """ global _commands if _commands is None: _commands = dict((name, 'django.core') for name in find_commands(__path__[0])) commands = {name: 'django.core' for name in find_commands(__path__[0])} # Find the installed apps try: Loading @@ -130,11 +126,11 @@ def get_commands(): for app_name in app_names: try: path = find_management_module(app_name) _commands.update(dict((name, app_name) for name in find_commands(path))) commands.update({name: app_name for name in find_commands(path)}) except ImportError: pass # No management module - ignore this app return _commands return commands def call_command(name, *args, **options): Loading
django/test/signals.py +3 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ def update_installed_apps(**kwargs): # Rebuild templatetags module cache. from django.template import base base.templatetags_modules[:] = [] # Rebuild management commands cache from django.core.management import get_commands get_commands.cache_clear() @receiver(setting_changed) Loading