So I'm proposing to allow using function for Command.
I'm attaching an idea of an implementation but I'm not really set on it.
This would allow to write:
{{{
from django.core.management.base import LabelCommand
def print_label(label):
"Help message"
print label
Command = LabelCommand.from_func(print_label,
can_import_settings=False)
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/25736>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* needs_docs: => 0
* has_patch: 0 => 1
* needs_tests: => 0
* needs_better_patch: => 0
Old description:
> Creating a new management command currently require a lot of boilerplate
> to remember, a small part of it is having to subclass a command. This is
> often overkill when you just have a function and don't need complex
> arguments parsing.
>
> So I'm proposing to allow using function for Command.
>
> I'm attaching an idea of an implementation but I'm not really set on it.
> This would allow to write:
>
> {{{
> from django.core.management.base import LabelCommand
>
> def print_label(label):
> "Help message"
> print label
>
> Command = LabelCommand.from_func(print_label,
> can_import_settings=False)
> }}}
New description:
Creating a new management command currently require a lot of boilerplate
to remember, a small part of it is having to subclass a command. This is
often overkill when you just have a function and don't need complex
arguments parsing.
So I'm proposing to allow using function for Command.
I'm attaching an idea of an implementation but I'm not really set on it.
This would allow to write:
{{{
from django.core.management.base import LabelCommand
def print_label(label):
"Help message"
print label
Command = LabelCommand.from_func(print_label,
can_import_settings=False)
}}}
Proposed implementation:
https://github.com/django/django/compare/master...olethanh:ticket_27536?expand=1
--
--
Ticket URL: <https://code.djangoproject.com/ticket/25736#comment:1>
* needs_better_patch: 0 => 1
* needs_tests: 0 => 1
* needs_docs: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/25736#comment:2>
* Attachment "e.patch" added.
Comment (by timgraham):
Could you raise the idea on the DevelopersMailingList to get more feedback
on the idea?
--
Ticket URL: <https://code.djangoproject.com/ticket/25736#comment:3>
* status: new => closed
* resolution: => wontfix
Comment:
Please reopen if you can start a discussion and get a consensus to add
this. Thanks!
--
Ticket URL: <https://code.djangoproject.com/ticket/25736#comment:4>