Python django.core.management.get_commands() Examples
The following are 7
code examples of django.core.management.get_commands().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.core.management
, or try the search function
.
Example #1
Source File: __init__.py From django-tenants with MIT License | 6 votes |
def __new__(cls, *args, **kwargs): """ Sets option_list and help dynamically. """ obj = super().__new__(cls, *args, **kwargs) app_name = get_commands()[obj.COMMAND_NAME] if isinstance(app_name, BaseCommand): # If the command is already loaded, use it directly. cmdclass = app_name else: cmdclass = load_command_class(app_name, obj.COMMAND_NAME) # prepend the command's original help with the info about schemata iteration obj.help = "Calls %s for all registered schemata. You can use regular %s options. " \ "Original help for %s: %s" % (obj.COMMAND_NAME, obj.COMMAND_NAME, obj.COMMAND_NAME, getattr(cmdclass, 'help', 'none')) return obj
Example #2
Source File: test_adapter.py From django-click with MIT License | 5 votes |
def test_command_recognized(): assert "testcmd" in get_commands()
Example #3
Source File: django_micro.py From django-micro with BSD 2-Clause "Simplified" License | 5 votes |
def _patch_get_commands(): django_get_commands = management.get_commands def patched_get_commands(): commands = django_get_commands() commands.update(_commands) return commands patched_get_commands.patched = True management.get_commands = patched_get_commands
Example #4
Source File: django_micro.py From django-micro with BSD 2-Clause "Simplified" License | 5 votes |
def command(name=None, command_cls=None): if not getattr(management.get_commands, 'patched', False): _patch_get_commands() if inspect.isfunction(name): # Shift arguments if decroator called without brackets command_cls = name name = None def decorator(command_cls): command_name = name if inspect.isclass(command_cls): command_instance = command_cls() else: # transform function-based command to class command_name = name or command_cls.__name__ command_instance = type('Command', (BaseCommand,), {'handle': command_cls})() if not command_name: raise DjangoMicroException("Class-based commands requires name argument.") # Hack for extracting app name from command (https://goo.gl/1c1Irj) command_instance.rpartition = lambda x: [_app_config.module] _commands[command_name] = command_instance return command_cls # allow use decorator directly # command('print_hello', PrintHelloCommand) if command_cls: return decorator(command_cls) return decorator
Example #5
Source File: tenant_command.py From django-tenants with MIT License | 5 votes |
def run_from_argv(self, argv): """ Changes the option_list to use the options from the wrapped command. Adds schema parameter to specify which schema will be used when executing the wrapped command. """ # load the command object. if len(argv) <= 2: return try: app_name = get_commands()[argv[2]] except KeyError: raise CommandError("Unknown command: %r" % argv[2]) if isinstance(app_name, BaseCommand): # if the command is already loaded, use it directly. klass = app_name else: klass = load_command_class(app_name, argv[2]) # Ugly, but works. Delete tenant_command from the argv, parse the schema manually # and forward the rest of the arguments to the actual command being wrapped. del argv[1] schema_parser = argparse.ArgumentParser() schema_parser.add_argument("-s", "--schema", dest="schema_name", help="specify tenant schema") schema_namespace, args = schema_parser.parse_known_args(argv) tenant = self.get_tenant_from_options_or_interactive(schema_name=schema_namespace.schema_name) connection.set_tenant(tenant) klass.run_from_argv(args)
Example #6
Source File: all_tenants_command.py From django-tenants with MIT License | 5 votes |
def run_from_argv(self, argv): """ Changes the option_list to use the options from the wrapped command. """ # load the command object. if len(argv) <= 2: return try: app_name = get_commands()[argv[2]] except KeyError: raise CommandError("Unknown command: %r" % argv[2]) if isinstance(app_name, BaseCommand): # if the command is already loaded, use it directly. klass = app_name else: klass = load_command_class(app_name, argv[2]) # Ugly, but works. Delete tenant_command from the argv, parse the schema manually # and forward the rest of the arguments to the actual command being wrapped. del argv[1] schema_parser = argparse.ArgumentParser() schema_namespace, args = schema_parser.parse_known_args(argv) print(args) tenant_model = get_tenant_model() tenants = tenant_model.objects.all() for tenant in tenants: self.stdout.write("Applying command to: %s" % tenant.schema_name) connection.set_tenant(tenant) klass.run_from_argv(args)
Example #7
Source File: runschema.py From django-pgschemas with MIT License | 5 votes |
def get_command_from_arg(self, arg): *chunks, command = arg.split(".") path = ".".join(chunks) if not path: path = get_commands().get(command) try: cmd = load_command_class(path, command) except Exception: raise CommandError("Unknown command: %s" % arg) if isinstance(cmd, WrappedSchemaOption): raise CommandError("Command '%s' cannot be used in runschema" % arg) return cmd