summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCristobal Mackenzie <c.mack04@gmail.com>2020-02-26 18:07:17 -0300
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-02-28 10:11:19 +0100
commit984531f96eb901f2dca732087171bfe8ced986c3 (patch)
tree965ae3cbd00db67410ae9c5852d7350fd7aec500
parente908eb62871f0b0aac63afa6601bf222bc2a1a7d (diff)
Fixed #31314 -- Raised CommandError when locale is not specified in makemessages.
Regression in 0707b824fe77e08ca8b75fcc3738ada694f2a3a6.
-rw-r--r--django/core/management/commands/makemessages.py2
-rw-r--r--tests/i18n/test_extraction.py10
2 files changed, 11 insertions, 1 deletions
diff --git a/django/core/management/commands/makemessages.py b/django/core/management/commands/makemessages.py
index 1b6bacc02e..db2c58ac50 100644
--- a/django/core/management/commands/makemessages.py
+++ b/django/core/management/commands/makemessages.py
@@ -329,7 +329,7 @@ class Command(BaseCommand):
exts = extensions or ['html', 'txt', 'py']
self.extensions = handle_extensions(exts)
- if (locale is None and not exclude and not process_all) or self.domain is None:
+ if (not locale and not exclude and not process_all) or self.domain is None:
raise CommandError(
"Type '%s help %s' for usage information."
% (os.path.basename(sys.argv[0]), sys.argv[1])
diff --git a/tests/i18n/test_extraction.py b/tests/i18n/test_extraction.py
index 709a6133f5..5d6d00fcef 100644
--- a/tests/i18n/test_extraction.py
+++ b/tests/i18n/test_extraction.py
@@ -142,6 +142,16 @@ class BasicExtractorTests(ExtractorTests):
self.assertIn('#. Translators: One-line translator comment #1', po_contents)
self.assertIn('msgctxt "Special trans context #1"', po_contents)
+ def test_no_option(self):
+ # One of either the --locale, --exclude, or --all options is required.
+ msg = "Type 'manage.py help makemessages' for usage information."
+ with mock.patch(
+ 'django.core.management.commands.makemessages.sys.argv',
+ ['manage.py', 'makemessages'],
+ ):
+ with self.assertRaisesRegex(CommandError, msg):
+ management.call_command('makemessages')
+
def test_comments_extractor(self):
management.call_command('makemessages', locale=[LOCALE], verbosity=0)
self.assertTrue(os.path.exists(self.PO_FILE))