@@ -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