mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Fixed #33657 -- Allowed customizing formatter class of argument parsers.
This commit is contained in:
		| @@ -286,10 +286,10 @@ class BaseCommand: | ||||
|         Create and return the ``ArgumentParser`` which will be used to | ||||
|         parse the arguments to this command. | ||||
|         """ | ||||
|         kwargs.setdefault("formatter_class", DjangoHelpFormatter) | ||||
|         parser = CommandParser( | ||||
|             prog="%s %s" % (os.path.basename(prog_name), subcommand), | ||||
|             description=self.help or None, | ||||
|             formatter_class=DjangoHelpFormatter, | ||||
|             missing_args_message=getattr(self, "missing_args_message", None), | ||||
|             called_from_command_line=getattr(self, "_called_from_command_line", None), | ||||
|             **kwargs, | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| import os | ||||
| from argparse import ArgumentDefaultsHelpFormatter | ||||
| from io import StringIO | ||||
| from unittest import mock | ||||
|  | ||||
| @@ -408,8 +409,14 @@ class CommandTests(SimpleTestCase): | ||||
|     def test_create_parser_kwargs(self): | ||||
|         """BaseCommand.create_parser() passes kwargs to CommandParser.""" | ||||
|         epilog = "some epilog text" | ||||
|         parser = BaseCommand().create_parser("prog_name", "subcommand", epilog=epilog) | ||||
|         parser = BaseCommand().create_parser( | ||||
|             "prog_name", | ||||
|             "subcommand", | ||||
|             epilog=epilog, | ||||
|             formatter_class=ArgumentDefaultsHelpFormatter, | ||||
|         ) | ||||
|         self.assertEqual(parser.epilog, epilog) | ||||
|         self.assertEqual(parser.formatter_class, ArgumentDefaultsHelpFormatter) | ||||
|  | ||||
|     def test_outputwrapper_flush(self): | ||||
|         out = StringIO() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user