(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.
Convenience function to format and return a key=value pair.
Convenience function to format and return a key = value pair .
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
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