original_docstring: 
      Internal method used by @wraps and create_wrapper
  
      :param wrapped:
      :param new_sig:
      :param func_name:
      :param doc:
      :param qualname:
      :param module_name:
      :param attrs:
      :return:
      
docstring: Internal method used by @wraps and create_wrapper
docstring_tokens: Internal method used by @wraps and create_wrapper
code: def _get_args_for_wrapping(wrapped, new_sig, func_name, doc, qualname, module_name, attrs):
      """
      Internal method used by @wraps and create_wrapper
  
      :param wrapped:
      :param new_sig:
      :param func_name:
      :param doc:
      :param qualname:
      :param module_name:
      :param attrs:
      :return:
      """
      # the desired signature
      func_sig = signature(wrapped) if new_sig is None else new_sig
  
      # the desired metadata
      if func_name is None:
          func_name = wrapped.__name__
      if doc is None:
          doc = wrapped.__doc__
      if qualname is None:
          qualname = getattr(wrapped, '__qualname__', None)
      if module_name is None:
          module_name = wrapped.__module__
  
      # attributes: start from the wrapped dict, add '__wrapped__' if needed, and override with all attrs.
      all_attrs = copy(wrapped.__dict__)
      if new_sig is None:
          all_attrs['__wrapped__'] = wrapped
      all_attrs.update(attrs)
  
      return func_name, func_sig, doc, qualname, module_name, all_attrs
code_tokens: def _get_args_for_wrapping ( wrapped , new_sig , func_name , doc , qualname , module_name , attrs ) : func_sig = signature ( wrapped ) if new_sig is None else new_sig if func_name is None : func_name = wrapped . __name__ if doc is None : doc = wrapped . __doc__ if qualname is None : qualname = getattr ( wrapped , '__qualname__' , None ) if module_name is None : module_name = wrapped . __module__ all_attrs = copy ( wrapped . __dict__ ) if new_sig is None : all_attrs [ '__wrapped__' ] = wrapped all_attrs . update ( attrs ) return func_name , func_sig , doc , qualname , module_name , all_attrs
short_docstring: Internal method used by @wraps and create_wrapper
short_docstring_tokens: Internal method used by @wraps and create_wrapper
comment: """
      Internal method used by @wraps and create_wrapper
  
      :param wrapped:
      :param new_sig:
      :param func_name:
      :param doc:
      :param qualname:
      :param module_name:
      :param attrs:
      :return:
      """$SEP$# the desired signature$SEP$# the desired metadata$SEP$# attributes: start from the wrapped dict, add '__wrapped__' if needed, and override with all attrs.