X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=mimedecode.py;h=179f82dbdc84d558c66d50b0bf8d34239261ae41;hb=7f953998df8e92703e7d2cc7231103df9ab160b2;hp=c0a9ef3ac76371defeff55e2f53d4c3ab047c3c7;hpb=27550cf12d5e7e50f882e53e5e5a632e3758c667;p=mimedecode.git diff --git a/mimedecode.py b/mimedecode.py index c0a9ef3..179f82d 100755 --- a/mimedecode.py +++ b/mimedecode.py @@ -1,13 +1,8 @@ -#! /usr/local/bin/python -O -"""Decode MIME message. +#! /usr/bin/env python +"""Decode MIME message""" -Author: Oleg Broytmann -Copyright: (C) 2001-2002 PhiloSoft Design -License: GPL -""" -__version__ = "2.0.0" -__copyright__ = "Copyright (C) 2001-2002 PhiloSoft Design" +from mimedecode_version import __version__, __author__, __copyright__, __license__ import sys, os @@ -27,7 +22,7 @@ me = os.path.basename(sys.argv[0]) def version(exit=1): sys.stdout.write("""\ -BroytMann mimedecode.py version %s, %s +Broytman mimedecode.py version %s, %s """ % (__version__, __copyright__)) if exit: sys.exit(0) @@ -53,11 +48,11 @@ def output_headers(msg, outfile = sys.stdout): def recode(s, charset): - return unicode(s, charset, "replace").encode(GlobalOptions.default_charset, "replace") + return unicode(s, charset, "replace").encode(GlobalOptions.default_encoding, "replace") def recode2(s, charset): - if charset and charset <> GlobalOptions.default_charset: + if charset and charset.lower() <> GlobalOptions.default_encoding: s = recode(s, charset) return s @@ -191,11 +186,11 @@ def recode_charset(msg, s): "Recode charset of the message to the default charset" save_charset = charset = msg.get_content_charset() - if charset and charset <> GlobalOptions.default_charset: + if charset and charset.lower() <> GlobalOptions.default_encoding: s = recode2(s, charset) content_type = msg.get_content_type() - set_content_type(msg, content_type, GlobalOptions.default_charset) - msg["X-MIME-Autoconverted"] = "from %s to %s by %s id %s" % (save_charset, GlobalOptions.default_charset, host_name, me) + set_content_type(msg, content_type, GlobalOptions.default_encoding) + msg["X-MIME-Autoconverted"] = "from %s to %s by %s id %s" % (save_charset, GlobalOptions.default_encoding, host_name, me) return s @@ -290,7 +285,7 @@ def decode_file(infile): class GlobalOptions: - default_charset = sys.getdefaultencoding() + from m_lib.defenc import default_encoding recode_charset = 1 # recode charset of message body decode_headers = ["Subject", "From"] # A list of headers to decode @@ -327,7 +322,7 @@ def init(): elif option == '-C': GlobalOptions.recode_charset = 0 elif option == '-f': - GlobalOptions.default_charset = value + GlobalOptions.default_encoding = value elif option == '-d': GlobalOptions.decode_headers.append(value) elif option == '-D': @@ -353,9 +348,10 @@ def init(): if __name__ == "__main__": arguments = init() - if len(arguments) == 0: + la = len(arguments) + if la == 0: infile = sys.stdin - elif len(arguments) <> 1: + elif la <> 1: usage(1) elif arguments[0] == '-': infile = sys.stdin