django_evolution.compat.commands
Compatibility module for management commands.
Classes
|
Base command compatible with a range of Django versions. |
|
Compatibility wrapper for OptionParser. |
- class django_evolution.compat.commands.OptionParserWrapper(parser)
Bases:
objectCompatibility wrapper for OptionParser.
This exports a more modern
ArgumentParser-based API forOptionParser, for use when adding arguments in management commands. This only contains a subset of the functionality ofArgumentParser.- __init__(parser)
Initialize the wrapper.
- Parameters:
parser (
optparse.OptionParser) – The option parser.
- add_argument(*args, **kwargs)
Add an argument to the parser.
This is a simple wrapper that provides compatibility with most of
argparse.ArgumentParser.add_argument(). It supports the types thatoptparse.OptionParser.add_option()supports (though those types should be passed as the primitive types and not as the string names).- Parameters:
*args (
tuple) – Positional arguments to pass tooptparse.OptionParser.add_option().**kwargs (
dict) – Keyword arguments to pass tooptparse.OptionParser.add_option().
- class django_evolution.compat.commands.BaseCommand(stdout=None, stderr=None, no_color=False, force_color=False)
Bases:
BaseCommandBase command compatible with a range of Django versions.
This is a version of
django.core.management.base.BaseCommandthat supports the modern way of adding arguments while retaining compatibility with older versions of Django. See the parent class’s documentation for details on usage.- property use_argparse
Whether argparse should be used for argument parsing.
This is used internally by Django.
- create_parser(*args, **kwargs)
Create a parser for the command.
This is a wrapper around Django’s method that ensures compatibility with old-style (<= 1.6)) and new-style (>= 1.7) argument parsing logic.
- Parameters:
- Returns:
The argument parser. This will be a
optparse.OptionParseror aargparse.ArgumentParser.- Return type:
- add_arguments(parser)
Add arguments to the command.
By default, this does nothing. Subclasses can override to add additional arguments.
- Parameters:
parser (
object) – The argument parser. This will be aoptparse.OptionParseror aargparse.ArgumentParser.
- __getattribute__(name)
Return an attribute from the command.
If the attribute name is “option_list”, some special work will be done to ensure we’re returning a valid list that the caller can work with, even if the options were created in
add_arguments().