@@ -41,7 +41,7 @@ cdef class Packer(object):
41
41
astream.write(packer.pack(b))
42
42
"""
43
43
cdef msgpack_packer pk
44
- cdef object default
44
+ cdef object _default
45
45
46
46
def __cinit__ (self ):
47
47
cdef int buf_size = 1024 * 1024
@@ -55,13 +55,12 @@ cdef class Packer(object):
55
55
if default is not None :
56
56
if not PyCallable_Check(default):
57
57
raise TypeError (" default must be a callable." )
58
- self .default = default
58
+ self ._default = default
59
59
60
60
def __dealloc__ (self ):
61
61
free(self .pk.buf);
62
62
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 :
65
64
cdef long long llval
66
65
cdef unsigned long long ullval
67
66
cdef long longval
@@ -109,26 +108,26 @@ cdef class Packer(object):
109
108
ret = msgpack_pack_map(& self .pk, len (d))
110
109
if ret == 0 :
111
110
for k,v in d.items():
112
- ret = self ._pack(k, nest_limit- 1 , default )
111
+ ret = self ._pack(k, nest_limit- 1 )
113
112
if ret != 0 : break
114
- ret = self ._pack(v, nest_limit- 1 , default )
113
+ ret = self ._pack(v, nest_limit- 1 )
115
114
if ret != 0 : break
116
115
elif PySequence_Check(o):
117
116
ret = msgpack_pack_array(& self .pk, len (o))
118
117
if ret == 0 :
119
118
for v in o:
120
- ret = self ._pack(v, nest_limit- 1 , default )
119
+ ret = self ._pack(v, nest_limit- 1 )
121
120
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)
124
123
ret = self ._pack(o, nest_limit)
125
124
else :
126
125
raise TypeError (" can't serialize %r " % (o,))
127
126
return ret
128
127
129
128
def pack (self , object obj ):
130
129
cdef int ret
131
- ret = self ._pack(obj, DEFAULT_RECURSE_LIMIT, self .default )
130
+ ret = self ._pack(obj, DEFAULT_RECURSE_LIMIT)
132
131
if ret:
133
132
raise TypeError
134
133
buf = PyBytes_FromStringAndSize(self .pk.buf, self .pk.length)
0 commit comments