changeset 225:81c21bbd812f

fix skipping of class definitions without parens fixes #55
author pjenvey
date Wed, 18 Jul 2007 20:49:12 +0000
parents 9d0a19b4518b
children 9d7cc01b49c2
files babel/messages/extract.py babel/messages/tests/extract.py
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/babel/messages/extract.py
+++ b/babel/messages/extract.py
@@ -295,6 +295,10 @@
             if funcname:
                 message_lineno = lineno
                 call_stack += 1
+        elif in_def and tok == OP and value == ':':
+            # End of a class definition without parens
+            in_def = False
+            continue
         elif call_stack == -1 and tok == COMMENT:
             # Strip the comment token from the line
             value = value.decode(encoding)[1:].strip()
--- a/babel/messages/tests/extract.py
+++ b/babel/messages/tests/extract.py
@@ -70,12 +70,15 @@
     pass
 def ngettext(y='arg 1',z='arg 2',**pageargs):
     pass
+class Meta:
+    verbose_name = _('log entry')
 """)
         messages = list(extract.extract_python(buf,
                                                extract.DEFAULT_KEYWORDS.keys(),
                                                [], {}))
         self.assertEqual([(3, '_', u'Page arg 1', []),
-                          (3, '_', u'Page arg 2', [])],
+                          (3, '_', u'Page arg 2', []),
+                          (8, '_', u'log entry', [])],
                          messages)
 
     def test_multiline(self):
Copyright (C) 2012-2017 Edgewall Software