summaryrefslogtreecommitdiff
path: root/msgpack/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'msgpack/__init__.py')
-rw-r--r--msgpack/__init__.py20
1 files changed, 4 insertions, 16 deletions
diff --git a/msgpack/__init__.py b/msgpack/__init__.py
index 56a0b36..a958025 100644
--- a/msgpack/__init__.py
+++ b/msgpack/__init__.py
@@ -2,30 +2,18 @@
from msgpack._version import version
from msgpack.exceptions import *
+from collections import namedtuple
-class ExtType(object):
- __slots__ = ('code', 'data')
- def __init__(self, code, data):
+class ExtType(namedtuple('ExtType', 'code data')):
+ def __new__(cls, code, data):
if not isinstance(code, int):
raise TypeError("code must be int")
if not isinstance(data, bytes):
raise TypeError("data must be bytes")
if not 0 <= code <= 127:
raise ValueError("code must be 0~127")
- self.code = code
- self.data = data
-
- def __eq__(self, other):
- if not isinstance(other, ExtType):
- return NotImplemented
- return self.code == other.code and self.data == other.data
-
- def __hash__(self):
- return self.code ^ hash(self.data)
-
- def __repr__(self):
- return "msgpack.ExtType(%r, %r)" % (self.code, self.data)
+ return super(ExtType, cls).__new__(cls, code, data)
import os