X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Ftextutils.py;h=3cbcec739cb9e803ecb496550d3a0def64b45b86;hb=651efe1dd248dac0facf7c9e517efcd419cc0483;hp=97d09c41ca957f62eadc5015faf9ee922b13829e;hpb=10fc3b5f4ce1f302ec86e8a2c1584fc9f7bb5f04;p=dak.git diff --git a/daklib/textutils.py b/daklib/textutils.py old mode 100755 new mode 100644 index 97d09c41..3cbcec73 --- a/daklib/textutils.py +++ b/daklib/textutils.py @@ -22,7 +22,6 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -import codecs import email.Header from dak_exceptions import * @@ -47,18 +46,15 @@ def rfc2047_encode(s): Encodes a (header) string per RFC2047 if necessary. If the string is neither ASCII nor UTF-8, it's assumed to be ISO-8859-1. """ - try: - codecs.lookup('ascii')[1](s) - return s - except UnicodeError: - pass - try: - codecs.lookup('utf-8')[1](s) - h = email.Header.Header(s, 'utf-8', 998) - return str(h) - except UnicodeError: - h = email.Header.Header(s, 'iso-8859-1', 998) - return str(h) + for enc in ['ascii', 'utf-8', 'iso-8859-1']: + try: + h = email.Header.Header(s, enc, 998) + return str(h) + except UnicodeError: + pass + + # If we get here, we're boned beyond belief + return '' ################################################################################