@@ -580,19 +580,19 @@ def decodebytes(s):
580580try :
581581 from _base64 import (_a85encode , _a85decode , _b85encode ,
582582 _b85decode , _z85encode , _z85decode )
583- from functools import update_wrapper
584- update_wrapper ( _a85encode , a85encode )
585- update_wrapper ( _a85decode , a85decode )
586- update_wrapper ( _b85encode , b85encode )
587- update_wrapper ( _b85decode , b85decode )
588- update_wrapper ( _z85encode , z85encode )
589- update_wrapper ( _z85decode , z85decode )
590- a85encode = _a85encode
591- a85decode = _a85decode
592- b85encode = _b85encode
593- b85decode = _b85decode
594- z85encode = _z85encode
595- z85decode = _z85decode
583+ # Avoid expensive import of update_wrapper() from functools.
584+ def _copy_attributes ( func , src_func ):
585+ func . __module__ = src_func . __module__
586+ func . __name__ = src_func . __name__
587+ func . __qualname__ = src_func . __qualname__
588+ func . __doc__ = src_func . __doc__
589+ return func
590+ a85encode = _copy_attributes ( _a85encode , a85encode )
591+ a85decode = _copy_attributes ( _a85decode , a85decode )
592+ b85encode = _copy_attributes ( _b85encode , b85encode )
593+ b85decode = _copy_attributes ( _b85decode , b85decode )
594+ z85encode = _copy_attributes ( _z85encode , z85encode )
595+ z85decode = _copy_attributes ( _z85decode , z85decode )
596596except ImportError :
597597 pass
598598
0 commit comments