summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--babel/messages/frontend.py8
-rw-r--r--tests/messages/test_frontend.py9
2 files changed, 15 insertions, 2 deletions
diff --git a/babel/messages/frontend.py b/babel/messages/frontend.py
index 6e3686e..487f280 100644
--- a/babel/messages/frontend.py
+++ b/babel/messages/frontend.py
@@ -26,7 +26,7 @@ from io import StringIO
from babel import __version__ as VERSION
from babel import Locale, localedata
from babel.core import UnknownLocaleError
-from babel.messages.catalog import Catalog
+from babel.messages.catalog import Catalog, DEFAULT_HEADER
from babel.messages.extract import DEFAULT_KEYWORDS, DEFAULT_MAPPING, check_and_call_extract_file, extract_from_dir
from babel.messages.mofile import write_mo
from babel.messages.pofile import read_po, write_po
@@ -350,6 +350,8 @@ class extract_messages(Command):
('ignore-dirs=', None,
'Patterns for directories to ignore when scanning for messages. '
'Separate multiple patterns with spaces (default ".* ._")'),
+ ('header-comment=', None,
+ 'header comment for the catalog'),
]
boolean_options = [
'no-default-keywords', 'no-location', 'omit-header', 'no-wrap',
@@ -394,6 +396,7 @@ class extract_messages(Command):
self.strip_comments = False
self.include_lineno = True
self.ignore_dirs = None
+ self.header_comment = None
def finalize_options(self):
if self.input_dirs:
@@ -478,7 +481,8 @@ class extract_messages(Command):
version=self.version,
msgid_bugs_address=self.msgid_bugs_address,
copyright_holder=self.copyright_holder,
- charset=self.charset)
+ charset=self.charset,
+ header_comment=(self.header_comment or DEFAULT_HEADER))
for path, method_map, options_map in mappings:
def callback(filename, method, options):
diff --git a/tests/messages/test_frontend.py b/tests/messages/test_frontend.py
index 54a371f..4ed30ec 100644
--- a/tests/messages/test_frontend.py
+++ b/tests/messages/test_frontend.py
@@ -1518,3 +1518,12 @@ def test_extract_ignore_dirs(monkeypatch, capsys, tmp_path, with_underscore_igno
# unless we opt in to ignore it again
assert ('ssshhh....' in pot_content) != with_underscore_ignore
assert ('_hidden_by_default' in pot_content) != with_underscore_ignore
+
+
+def test_extract_header_comment(monkeypatch, tmp_path):
+ pot_file = tmp_path / 'temp.pot'
+ monkeypatch.chdir(project_dir)
+ cmdinst = configure_cli_command(f"extract . -o '{pot_file}' --header-comment 'Boing' ")
+ cmdinst.run()
+ pot_content = pot_file.read_text()
+ assert 'Boing' in pot_content