]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
Added npgettext to default keywords in extraction
authorsudheesh001 <sudheesh1995@outlook.com>
Thu, 28 Jan 2016 03:56:33 +0000 (09:26 +0530)
committersudheesh001 <sudheesh1995@outlook.com>
Wed, 3 Feb 2016 03:06:49 +0000 (08:36 +0530)
babel/messages/extract.py
tests/messages/test_extract.py

index 8183d527fbf35f7b5217e4da10476eed3362e4a0..cadcb629b75edfa3926939f7af135fcc97fc88f6 100644 (file)
@@ -38,7 +38,8 @@ DEFAULT_KEYWORDS = {
     'dgettext': (2,),
     'dngettext': (2, 3),
     'N_': None,
-    'pgettext': ((1, 'c'), 2)
+    'pgettext': ((1, 'c'), 2),
+    'npgettext': ((1, 'c', 2, 3))
 }
 
 DEFAULT_MAPPING = [('**.py', 'python')]
index fa03207c412c7a879875887d1aef124c20d41406..a9408f6af7e6596f08ddf0ef7b86ea73ba27ff64 100644 (file)
@@ -60,6 +60,15 @@ msg = ngettext('pylon',  # TRANSLATORS: shouldn't be
                                                ['TRANSLATORS:'], {}))
         self.assertEqual([(1, 'ngettext', (u'pylon', u'pylons', None), [])],
                          messages)
+        buf = BytesIO(b"""\
+msg = npgettext('Strings', 'pylon',  # TRANSLATORS: shouldn't be
+                'pylons', # TRANSLATORS: seeing this
+                count)
+""")
+        messages = list(extract.extract_python(buf, ('npgettext',),
+                                               ['TRANSLATORS:'], {}))
+        self.assertEqual([(1, 'npgettext', (u'Strings', u'pylon', u'pylons', None), [])],
+                         messages)
 
     def test_comments_with_calls_that_spawn_multiple_lines(self):
         buf = BytesIO(b"""\
@@ -131,6 +140,17 @@ msg2 = ngettext('elvis',
         self.assertEqual([(1, 'ngettext', (u'pylon', u'pylons', None), []),
                           (3, 'ngettext', (u'elvis', u'elvises', None), [])],
                          messages)
+        buf = BytesIO(b"""\
+msg1 = npgettext('Strings','pylon',
+                'pylons', count)
+msg2 = npgettext('Strings','elvis',
+                'elvises',
+                 count)
+""")
+        messages = list(extract.extract_python(buf, ('npgettext',), [], {}))
+        self.assertEqual([(1, 'npgettext', (u'Strings', u'pylon', u'pylons', None), []),
+                          (3, 'npgettext', (u'Strings', u'elvis', u'elvises', None), [])],
+                          messages)
 
     def test_triple_quoted_strings(self):
         buf = BytesIO(b"""\