From: Pedro Algarvio Date: Fri, 20 Jul 2007 14:22:50 +0000 (+0000) Subject: Only write unique comments, no duplicates. X-Git-Tag: 1.0~423 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fdb346848ea3d0c8c2c3e60114919d395890007e;p=thirdparty%2Fbabel.git Only write unique comments, no duplicates. --- diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py index a68605f5..a177e816 100644 --- a/babel/messages/catalog.py +++ b/babel/messages/catalog.py @@ -66,8 +66,8 @@ class Message(object): 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 @@ class Catalog(object): 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 index 951bd0dd..3e7d0fe8 100644 --- a/babel/messages/pofile.py +++ b/babel/messages/pofile.py @@ -151,7 +151,7 @@ def read_po(fileobj, locale=None, domain=None, ignore_obsolete=False): 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 @@ def write_po(fileobj, catalog, width=76, no_location=False, omit_header=False, 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 @@ def write_po(fileobj, catalog, width=76, no_location=False, omit_header=False, 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')