# HG changeset patch # User pjenvey # Date 1184791752 0 # Node ID edfdeabae3977a2b01aa262d8d53362ff1a52740 # Parent 7945923e5fa63079975b140711fdf744c5b10924 fix skipping of class definitions without parens fixes #55 diff --git a/babel/messages/extract.py b/babel/messages/extract.py --- 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() diff --git a/babel/messages/tests/extract.py b/babel/messages/tests/extract.py --- 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):