get_param(param, failobj=None, header='content-type', unquote=True)
Return the value of the Content-Type header’s parameter param as a string. If the message has no Content-Type header or if there is no such parameter, then failobj is returned (defaults to None
).
Optional header if given, specifies the message header to use instead of Content-Type.
Parameter keys are always compared case insensitively. The return value can either be a string, or a 3-tuple if the parameter was RFC 2231 encoded. When it’s a 3-tuple, the elements of the value are of the form (CHARSET, LANGUAGE, VALUE)
. Note that both CHARSET
and LANGUAGE
can be None
, in which case you should consider VALUE
to be encoded in the us-ascii
charset. You can usually ignore LANGUAGE
.
If your application doesn’t care whether the parameter was encoded as in RFC 2231, you can collapse the parameter value by calling email.utils.collapse_rfc2231_value()
, passing in the return value from get_param()
. This will return a suitably decoded Unicode string when the value is a tuple, or the original string unquoted if it isn’t. For example:
rawparam = msg.get_param('foo') param = email.utils.collapse_rfc2231_value(rawparam)
In any case, the parameter value (either the returned string, or the VALUE
item in the 3-tuple) is always unquoted, unless unquote is set to False
.
Please login to continue.