# HG changeset patch # User palgarvio # Date 1184941370 0 # Node ID 236a640d02a6ff407e2f474ab738ae3c57648722 # Parent 3703ded648abe7847590f993c74e420a679fb81f Only write unique comments, no duplicates. diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py --- a/babel/messages/catalog.py +++ b/babel/messages/catalog.py @@ -66,8 +66,8 @@ self.flags.add('python-format') else: self.flags.discard('python-format') - self.auto_comments = list(auto_comments) - self.user_comments = list(user_comments) + self.auto_comments = list(set(auto_comments)) + self.user_comments = list(set(user_comments)) if isinstance(previous_id, basestring): self.previous_id = [previous_id] else: @@ -517,11 +517,11 @@ def check(self): """Run various validation checks on the translations in the catalog. - + For every message which fails validation, this method yield a ``(message, errors)`` tuple, where ``message`` is the `Message` object and ``errors`` is a sequence of `TranslationError` objects. - + :rtype: ``iterator`` """ checkers = [] diff --git a/babel/messages/pofile.py b/babel/messages/pofile.py --- a/babel/messages/pofile.py +++ b/babel/messages/pofile.py @@ -151,7 +151,7 @@ else: string = denormalize(translations[0][1]) message = Message(msgid, string, list(locations), set(flags), - list(auto_comments), list(user_comments), + list(set(auto_comments)), list(set(user_comments)), lineno=offset[0] + 1) if obsolete[0]: if not ignore_obsolete: @@ -408,9 +408,9 @@ comment_header = u'\n'.join(lines) + u'\n' _write(comment_header) - for comment in message.user_comments: + for comment in list(set(message.user_comments)): _write_comment(comment) - for comment in message.auto_comments: + for comment in list(set(message.auto_comments)): _write_comment(comment, prefix='.') if not no_location: @@ -433,7 +433,7 @@ if not ignore_obsolete: for message in catalog.obsolete.values(): - for comment in message.user_comments: + for comment in list(set(message.user_comments)): _write_comment(comment) _write_message(message, prefix='#~ ') _write('\n')