changeset 421:14bebc7817eb

Include patch from Asheesh Laroia. Fixes #45.
author palgarvio
date Thu, 18 Dec 2008 00:19:47 +0000
parents 53c68c594b5f
children 3dd226bb3ec3
files babel/messages/pofile.py babel/messages/tests/pofile.py
diffstat 2 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/babel/messages/pofile.py
+++ b/babel/messages/pofile.py
@@ -396,6 +396,9 @@
 
     def _write_message(message, prefix=''):
         if isinstance(message.id, (list, tuple)):
+            if message.context:
+                _write('%smsgctxt %s\n' % (prefix,
+                                           _normalize(message.context, prefix)))
             _write('%smsgid %s\n' % (prefix, _normalize(message.id[0], prefix)))
             _write('%smsgid_plural %s\n' % (
                 prefix, _normalize(message.id[1], prefix)
@@ -410,6 +413,9 @@
                     prefix, idx, _normalize(string, prefix)
                 ))
         else:
+            if message.context:
+                _write('%smsgctxt %s\n' % (prefix,
+                                           _normalize(message.context, prefix)))
             _write('%smsgid %s\n' % (prefix, _normalize(message.id, prefix)))
             _write('%smsgstr %s\n' % (
                 prefix, _normalize(message.string or '', prefix)
--- a/babel/messages/tests/pofile.py
+++ b/babel/messages/tests/pofile.py
@@ -163,6 +163,12 @@
         message = catalog.get('bar', context='Menu')
         self.assertEqual('Menu', message.context)
 
+        # And verify it pass through write_po
+        out_buf = StringIO()
+        pofile.write_po(out_buf, catalog, omit_header=True)
+        assert out_buf.getvalue().strip() == buf.getvalue().strip(), \
+                                                            out_buf.getvalue()
+
     def test_singlular_plural_form(self):
         buf = StringIO(r'''msgid "foo"
 msgid_plural "foo"
Copyright (C) 2012-2017 Edgewall Software