from datetime import datetime
from difflib import get_close_matches
from email import message_from_string
+from copy import copy
import re
try:
set
return cmp(self.id, obj.id)
def clone(self):
- return Message(self.id, self.string, self.locations, self.flags,
- self.auto_comments, self.user_comments,
- self.previous_id, self.lineno, self.context)
+ return Message(*map(copy, (self.id, self.string, self.locations,
+ self.flags, self.auto_comments,
+ self.user_comments, self.previous_id,
+ self.lineno, self.context)))
def check(self, catalog=None):
"""Run various validation checks on the message. Some validations
assert catalog.PYTHON_FORMAT.search('foo %(name).*f')
assert catalog.PYTHON_FORMAT.search('foo %(name)3.*f')
assert catalog.PYTHON_FORMAT.search('foo %(name)*.*f')
+ assert catalog.PYTHON_FORMAT.search('foo %()s')
def test_translator_comments(self):
mess = catalog.Message('foo', user_comments=['Comment About `foo`'])
self.assertEqual(mess.auto_comments, ['Comment 1 About `foo`',
'Comment 2 About `foo`'])
+ def test_clone_message_object(self):
+ msg = catalog.Message('foo', locations=[('foo.py', 42)])
+ clone = msg.clone()
+ clone.locations.append(('bar.py', 42))
+ self.assertEqual(msg.locations, [('foo.py', 42)])
+
class CatalogTestCase(unittest.TestCase):