44import struct
55
66
7- if sys .version_info < (3 , 5 ):
8- # Ugly hack...
9- RecursionError = RuntimeError
10-
11- def _is_recursionerror (e ):
12- return (
13- len (e .args ) == 1
14- and isinstance (e .args [0 ], str )
15- and e .args [0 ].startswith ("maximum recursion depth exceeded" )
16- )
17-
18- else :
19-
20- def _is_recursionerror (e ):
21- return True
22-
23-
247if hasattr (sys , "pypy_version_info" ):
258 # StringIO is slow on PyPy, StringIO is faster. However: PyPy's own
269 # StringBuilder is fastest.
@@ -32,7 +15,7 @@ def _is_recursionerror(e):
3215 from __pypy__ .builders import StringBuilder
3316 USING_STRINGBUILDER = True
3417
35- class StringIO ( object ) :
18+ class StringIO :
3619 def __init__ (self , s = b"" ):
3720 if s :
3821 self .builder = StringBuilder (len (s ))
@@ -109,10 +92,8 @@ def unpackb(packed, **kwargs):
10992 ret = unpacker ._unpack ()
11093 except OutOfData :
11194 raise ValueError ("Unpack failed: incomplete input" )
112- except RecursionError as e :
113- if _is_recursionerror (e ):
114- raise StackError
115- raise
95+ except RecursionError :
96+ raise StackError
11697 if unpacker ._got_extradata ():
11798 raise ExtraData (ret , unpacker ._get_extradata ())
11899 return ret
@@ -151,7 +132,7 @@ def unpackb(packed, **kwargs):
151132}
152133
153134
154- class Unpacker ( object ) :
135+ class Unpacker :
155136 """Streaming unpacker.
156137
157138 Arguments:
@@ -334,9 +315,7 @@ def __init__(
334315 if object_pairs_hook is not None and not callable (object_pairs_hook ):
335316 raise TypeError ("`object_pairs_hook` is not callable" )
336317 if object_hook is not None and object_pairs_hook is not None :
337- raise TypeError (
338- "object_pairs_hook and object_hook are mutually " "exclusive"
339- )
318+ raise TypeError ("object_pairs_hook and object_hook are mutually exclusive" )
340319 if not callable (ext_hook ):
341320 raise TypeError ("`ext_hook` is not callable" )
342321
@@ -428,20 +407,18 @@ def _read_header(self):
428407 n = b & 0b00011111
429408 typ = TYPE_RAW
430409 if n > self ._max_str_len :
431- raise ValueError ("%s exceeds max_str_len(%s)" % ( n , self ._max_str_len ) )
410+ raise ValueError (f" { n } exceeds max_str_len({ self ._max_str_len } )" )
432411 obj = self ._read (n )
433412 elif b & 0b11110000 == 0b10010000 :
434413 n = b & 0b00001111
435414 typ = TYPE_ARRAY
436415 if n > self ._max_array_len :
437- raise ValueError (
438- "%s exceeds max_array_len(%s)" % (n , self ._max_array_len )
439- )
416+ raise ValueError (f"{ n } exceeds max_array_len({ self ._max_array_len } )" )
440417 elif b & 0b11110000 == 0b10000000 :
441418 n = b & 0b00001111
442419 typ = TYPE_MAP
443420 if n > self ._max_map_len :
444- raise ValueError ("%s exceeds max_map_len(%s)" % ( n , self ._max_map_len ) )
421+ raise ValueError (f" { n } exceeds max_map_len({ self ._max_map_len } )" )
445422 elif b == 0xC0 :
446423 obj = None
447424 elif b == 0xC2 :
@@ -457,15 +434,15 @@ def _read_header(self):
457434 n = self ._buffer [self ._buff_i ]
458435 self ._buff_i += size
459436 if n > self ._max_bin_len :
460- raise ValueError ("%s exceeds max_bin_len(%s)" % ( n , self ._max_bin_len ) )
437+ raise ValueError (f" { n } exceeds max_bin_len({ self ._max_bin_len } )" )
461438 obj = self ._read (n )
462439 elif 0xC7 <= b <= 0xC9 :
463440 size , fmt , typ = _MSGPACK_HEADERS [b ]
464441 self ._reserve (size )
465442 L , n = struct .unpack_from (fmt , self ._buffer , self ._buff_i )
466443 self ._buff_i += size
467444 if L > self ._max_ext_len :
468- raise ValueError ("%s exceeds max_ext_len(%s)" % ( L , self ._max_ext_len ) )
445+ raise ValueError (f" { L } exceeds max_ext_len({ self ._max_ext_len } )" )
469446 obj = self ._read (L )
470447 elif 0xCA <= b <= 0xD3 :
471448 size , fmt = _MSGPACK_HEADERS [b ]
@@ -478,9 +455,7 @@ def _read_header(self):
478455 elif 0xD4 <= b <= 0xD8 :
479456 size , fmt , typ = _MSGPACK_HEADERS [b ]
480457 if self ._max_ext_len < size :
481- raise ValueError (
482- "%s exceeds max_ext_len(%s)" % (size , self ._max_ext_len )
483- )
458+ raise ValueError (f"{ size } exceeds max_ext_len({ self ._max_ext_len } )" )
484459 self ._reserve (size + 1 )
485460 n , obj = struct .unpack_from (fmt , self ._buffer , self ._buff_i )
486461 self ._buff_i += size + 1
@@ -493,24 +468,22 @@ def _read_header(self):
493468 n = self ._buffer [self ._buff_i ]
494469 self ._buff_i += size
495470 if n > self ._max_str_len :
496- raise ValueError ("%s exceeds max_str_len(%s)" % ( n , self ._max_str_len ) )
471+ raise ValueError (f" { n } exceeds max_str_len({ self ._max_str_len } )" )
497472 obj = self ._read (n )
498473 elif 0xDC <= b <= 0xDD :
499474 size , fmt , typ = _MSGPACK_HEADERS [b ]
500475 self ._reserve (size )
501476 (n ,) = struct .unpack_from (fmt , self ._buffer , self ._buff_i )
502477 self ._buff_i += size
503478 if n > self ._max_array_len :
504- raise ValueError (
505- "%s exceeds max_array_len(%s)" % (n , self ._max_array_len )
506- )
479+ raise ValueError (f"{ n } exceeds max_array_len({ self ._max_array_len } )" )
507480 elif 0xDE <= b <= 0xDF :
508481 size , fmt , typ = _MSGPACK_HEADERS [b ]
509482 self ._reserve (size )
510483 (n ,) = struct .unpack_from (fmt , self ._buffer , self ._buff_i )
511484 self ._buff_i += size
512485 if n > self ._max_map_len :
513- raise ValueError ("%s exceeds max_map_len(%s)" % ( n , self ._max_map_len ) )
486+ raise ValueError (f" { n } exceeds max_map_len({ self ._max_map_len } )" )
514487 else :
515488 raise FormatError ("Unknown header: 0x%x" % b )
516489 return typ , n , obj
@@ -549,17 +522,14 @@ def _unpack(self, execute=EX_CONSTRUCT):
549522 return
550523 if self ._object_pairs_hook is not None :
551524 ret = self ._object_pairs_hook (
552- (self ._unpack (EX_CONSTRUCT ), self ._unpack (EX_CONSTRUCT ))
553- for _ in range (n )
525+ (self ._unpack (EX_CONSTRUCT ), self ._unpack (EX_CONSTRUCT )) for _ in range (n )
554526 )
555527 else :
556528 ret = {}
557529 for _ in range (n ):
558530 key = self ._unpack (EX_CONSTRUCT )
559531 if self ._strict_map_key and type (key ) not in (str , bytes ):
560- raise ValueError (
561- "%s is not allowed for map key" % str (type (key ))
562- )
532+ raise ValueError ("%s is not allowed for map key" % str (type (key )))
563533 if type (key ) is str :
564534 key = sys .intern (key )
565535 ret [key ] = self ._unpack (EX_CONSTRUCT )
@@ -634,7 +604,7 @@ def tell(self):
634604 return self ._stream_offset
635605
636606
637- class Packer ( object ) :
607+ class Packer :
638608 """
639609 MessagePack Packer
640610
@@ -844,9 +814,9 @@ def _pack(
844814 continue
845815
846816 if self ._datetime and check (obj , _DateTime ):
847- raise ValueError ("Cannot serialize %r where tzinfo=None" % ( obj ,) )
817+ raise ValueError (f "Cannot serialize { obj !r } where tzinfo=None" )
848818
849- raise TypeError ("Cannot serialize %r" % ( obj ,) )
819+ raise TypeError (f "Cannot serialize { obj !r } " )
850820
851821 def pack (self , obj ):
852822 try :
@@ -933,7 +903,7 @@ def _pack_map_header(self, n):
933903
934904 def _pack_map_pairs (self , n , pairs , nest_limit = DEFAULT_RECURSE_LIMIT ):
935905 self ._pack_map_header (n )
936- for ( k , v ) in pairs :
906+ for k , v in pairs :
937907 self ._pack (k , nest_limit - 1 )
938908 self ._pack (v , nest_limit - 1 )
939909
0 commit comments