parameters: (param, value=None, quote=True)
docstring: Convenience function to format and return a key=value pair.
  
      This will quote the value if needed or if quote is true.  If value is a
      three tuple (charset, language, value), it will be encoded according
      to RFC2231 rules.  If it contains non-ascii characters it will likewise
      be encoded according to RFC2231 rules, using the utf-8 charset and
      a null language.
docstring_summary: Convenience function to format and return a key=value pair.
docstring_tokens: Convenience function to format and return a key = value pair .
function: def _formatparam(param, value=None, quote=True):
      """Convenience function to format and return a key=value pair.
  
      This will quote the value if needed or if quote is true.  If value is a
      three tuple (charset, language, value), it will be encoded according
      to RFC2231 rules.  If it contains non-ascii characters it will likewise
      be encoded according to RFC2231 rules, using the utf-8 charset and
      a null language.
      """
      if value is not None and len(value) > 0:
          # A tuple is used for RFC 2231 encoded parameter values where items
          # are (charset, language, value).  charset is a string, not a Charset
          # instance.  RFC 2231 encoded values are never quoted, per RFC.
          if isinstance(value, tuple):
              # Encode as per RFC 2231
              param += '*'
              value = utils.encode_rfc2231(value[2], value[0], value[1])
              return '%s=%s' % (param, value)
          else:
              try:
                  value.encode('ascii')
              except UnicodeEncodeError:
                  param += '*'
                  value = utils.encode_rfc2231(value, 'utf-8', '')
                  return '%s=%s' % (param, value)
          # BAW: Please check this.  I think that if quote is set it should
          # force quoting even if not necessary.
          if quote or tspecials.search(value):
              return '%s="%s"' % (param, utils.quote(value))
          else:
              return '%s=%s' % (param, value)
      else:
          return param
function_tokens: def _formatparam ( param , value = None , quote = True ) : if value is not None and len ( value ) > 0 : # A tuple is used for RFC 2231 encoded parameter values where items # are (charset, language, value).  charset is a string, not a Charset # instance.  RFC 2231 encoded values are never quoted, per RFC. if isinstance ( value , tuple ) : # Encode as per RFC 2231 param += '*' value = utils . encode_rfc2231 ( value [ 2 ] , value [ 0 ] , value [ 1 ] ) return '%s=%s' % ( param , value ) else : try : value . encode ( 'ascii' ) except UnicodeEncodeError : param += '*' value = utils . encode_rfc2231 ( value , 'utf-8' , '' ) return '%s=%s' % ( param , value ) # BAW: Please check this.  I think that if quote is set it should # force quoting even if not necessary. if quote or tspecials . search ( value ) : return '%s="%s"' % ( param , utils . quote ( value ) ) else : return '%s=%s' % ( param , value ) else : return param