X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=mimedecode.py;h=fdea039d04f0fc6ee9716137d86dc3763f72e0d4;hb=b068be834a5be5407c5ab2cf18910bc03fddc9ef;hp=1006fb47768d8c9efc6c225eab9e8ebead50c2c9;hpb=bd89029f8a4ae4c98c14e105c3e9e987c69d0805;p=mimedecode.git diff --git a/mimedecode.py b/mimedecode.py index 1006fb4..fdea039 100755 --- a/mimedecode.py +++ b/mimedecode.py @@ -34,12 +34,9 @@ def output_headers(msg): output("\n") # End of headers -def recode(s, charset): - return unicode(s, charset, "replace").encode(g.default_encoding, "replace") - def recode_if_needed(s, charset): if charset and charset.lower() <> g.default_encoding: - s = recode(s, charset) + s = unicode(s, charset, "replace").encode(g.default_encoding, "replace") return s @@ -77,9 +74,6 @@ def decode_header(msg, header): set_header(msg, header, new_value) -def _decode_header_param(s): - return recode_if_needed(s[2], s[0]) - def decode_header_param(msg, header, param): "Decode mail header's parameter (if exists) and put it back, if it was encoded" @@ -87,7 +81,7 @@ def decode_header_param(msg, header, param): value = msg.get_param(param, header=header) if value: if isinstance(value, tuple): - new_value = _decode_header_param(value) + new_value = recode_if_needed(value[2], value[0]) else: new_value = _decode_header(value) if new_value <> value: # do not bother to touch msg if not changed