mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	[4.1.x] Fixed #33657 -- Allowed customizing formatter class of argument parsers.
Backport of 2887b9f67c from main
			
			
This commit is contained in:
		
				
					committed by
					
						 Mariusz Felisiak
						Mariusz Felisiak
					
				
			
			
				
	
			
			
			
						parent
						
							f741dd5fab
						
					
				
				
					commit
					99e5ce96c6
				
			| @@ -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