Changeset 52


Ignore:
Timestamp:
03/08/10 16:52:55 (8 years ago)
Author:
sgk
Message:

Allow '㍑' character.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/ml/ml.py

    r46 r52  
    55ml.py -- simple mailing list to just distribute messages in a group. 
    66 
    7 Copyright (c) 2007 Shigeru KANEMOTO 
     7Copyright (c) 2007,2010 Shigeru KANEMOTO 
    88All rights reserved. 
    99''' 
     
    8787    if m.get_content_maintype() != 'text': 
    8888      return 
    89     charset = m.get_content_charset() 
    90     body = m.get_payload() 
    91     if charset: 
     89    charset = m.get_content_charset().lower() 
     90    body = m.get_payload(i=None, decode=True) 
     91 
     92    # Decode 
     93    if charset == 'iso-2022-jp': 
     94      #XXX 「㍑」対応 
     95      body = body.replace('\x1b$B', '\x1b$(Q').decode('iso-2022-jp-2004') 
     96    else: 
    9297      body = body.decode(charset) 
     98 
     99    # Insert 
    93100    if m.get_content_subtype() == 'html': 
    94101      body = re.sub(r'^(.*<(body|BODY).*>|)', r'\1[%s]<br />' % nickname, body, 1) 
    95102    else: 
    96103      body = ('[%s]\r\n' % nickname) + body 
    97     if charset: 
    98       body = body.encode(charset) 
    99     m.set_payload(body) 
     104 
     105    # Encode 
     106    #XXX 「㍑」対応 
     107    body = body.encode('iso-2022-jp-2004').replace('\033$(Q', '\033$B') 
     108    del m['content-transfer-encoding'] 
     109    m.set_payload(body, 'iso-2022-jp') 
    100110 
    101111  if message.is_multipart(): 
Note: See TracChangeset for help on using the changeset viewer.