8000 python: refactoring. · urso/msgpack-python@d0de96c · GitHub
[go: up one dir, main page]

Skip to content

Commit d0de96c

Browse files
committed
python: refactoring.
1 parent 77a97b9 commit d0de96c

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

msgpack/_msgpack.pyx

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ cdef class Packer(object):
4141
astream.write(packer.pack(b))
4242
"""
4343
cdef msgpack_packer pk
44-
cdef object default
44+
cdef object _default
4545

4646
def __cinit__(self):
4747
cdef int buf_size = 1024*1024
@@ -55,13 +55,12 @@ cdef class Packer(object):
5555
if default is not None:
5656
if not PyCallable_Check(default):
5757
raise TypeError("default must be a callable.")
58-
self.default = default
58+
self._default = default
5959

6060
def __dealloc__(self):
6161
free(self.pk.buf);
6262

63-
cdef int _pack(self, object o, int nest_limit=DEFAULT_RECURSE_LIMIT,
64-
default=None) except -1:
63+
cdef int _pack(self, object o, int nest_limit=DEFAULT_RECURSE_LIMIT) except -1:
6564
cdef long long llval
6665
cdef unsigned long long ullval
6766
cdef long longval
@@ -109,26 +108,26 @@ cdef class Packer(object):
109108
ret = msgpack_pack_map(&self.pk, len(d))
110109
if ret == 0:
111110
for k,v in d.items():
112-
ret = self._pack(k, nest_limit-1, default)
111+
ret = self._pack(k, nest_limit-1)
113112
if ret != 0: break
114-
ret = self._pack(v, nest_limit-1, default)
113+
ret = self._pack(v, nest_limit-1)
115114
if ret != 0: break
116115
elif PySequence_Check(o):
117116
ret = msgpack_pack_array(&self.pk, len(o))
118117
if ret == 0:
119118
for v in o:
120-
ret = self._pack(v, nest_limit-1, default)
119+
ret = self._pack(v, nest_limit-1)
121120
if ret != 0: break
122-
elif default is not None:
123-
o = self.default(o)
121+
elif self._default is not None:
122+
o = self._default(o)
124123
ret = self._pack(o, nest_limit)
125124
else:
126125
raise TypeError("can't serialize %r" % (o,))
127126
return ret
128127

129128
def pack(self, object obj):
130129
cdef int ret
131-
ret = self._pack(obj, DEFAULT_RECURSE_LIMIT, self.default)
130+
ret = self._pack(obj, DEFAULT_RECURSE_LIMIT)
132131
if ret:
133132
raise TypeError
134133
buf = PyBytes_FromStringAndSize(self.pk.buf, self.pk.length)

0 commit comments

Comments
 (0)
0