summaryrefslogtreecommitdiff
path: root/src/zope/i18nmessageid/message.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/zope/i18nmessageid/message.py')
-rw-r--r--src/zope/i18nmessageid/message.py60
1 files changed, 30 insertions, 30 deletions
diff --git a/src/zope/i18nmessageid/message.py b/src/zope/i18nmessageid/message.py
index 4bfcb19..70a5053 100644
--- a/src/zope/i18nmessageid/message.py
+++ b/src/zope/i18nmessageid/message.py
@@ -13,11 +13,11 @@
##############################################################################
"""I18n Messages and factories.
"""
+import six
+
__docformat__ = "reStructuredText"
_marker = object()
-import six
-
class Message(six.text_type):
"""Message (Python implementation)
@@ -37,37 +37,37 @@ class Message(six.text_type):
msgid_plural=_marker, default_plural=_marker, number=_marker):
self = six.text_type.__new__(cls, ustr)
if isinstance(ustr, self.__class__):
- domain = ustr.domain[:] if domain is _marker else domain
- default = ustr.default[:] if default is _marker else default
- mapping = ustr.mapping.copy() if mapping is _marker else mapping
- msgid_plural = (
- ustr.msgid_plural[:] if msgid_plural is _marker else
- msgid_plural)
- default_plural = (
- ustr.default_plural[:] if default_plural is _marker else
- default_plural)
- number = ustr.number if number is _marker else number
- ustr = six.text_type(ustr)
+ self.domain = ustr.domain
+ self.default = ustr.default
+ self.mapping = ustr.mapping
+ self.msgid_plural = ustr.msgid_plural
+ self.default_plural = ustr.default_plural
+ self.number = ustr.number
else:
- domain = None if domain is _marker else domain
- default = None if default is _marker else default
- mapping = None if mapping is _marker else mapping
- msgid_plural = None if msgid_plural is _marker else msgid_plural
- default_plural = (None if default_plural is _marker else
- default_plural)
- number = None if number is _marker else number
-
- self.domain = domain
- self.default = default
- self.mapping = mapping
- self.msgid_plural = msgid_plural
- self.default_plural = default_plural
-
- if number is not None and not isinstance(
- number, six.integer_types + (float,)):
+ self.domain = None
+ self.default = None
+ self.mapping = None
+ self.msgid_plural = None
+ self.default_plural = None
+ self.number = None
+
+ if domain is not _marker:
+ self.domain = domain
+ if default is not _marker:
+ self.default = default
+ if mapping is not _marker:
+ self.mapping = mapping
+ if msgid_plural is not _marker:
+ self.msgid_plural = msgid_plural
+ if default_plural is not _marker:
+ self.default_plural = default_plural
+ if number is not _marker:
+ self.number = number
+
+ if self.number is not None and not isinstance(
+ self.number, six.integer_types + (float,)):
raise TypeError('`number` should be an integer or a float')
- self.number = number
self._readonly = True
return self