As a prelude to the forth coming "Internationalizing The Chandler Architecture" proposal I will be sending out for review later this week I
have gone ahead and added internationalization / localization support to the Email Service Layer. In addition to properly parsing and storing
attachments the Service layer will convert all headers, bodies, and text attachments to Unicode with the proper character set encoding as specified in
RFC's 2046, 2047, and 2231. I have added two additional menu items under "Test". The first "Mime Torture Tests" loads in to Chandler 76 real world complex / broken
mime message examples donated by Anthony Baxter. The second "i18n Mail Tests" loads mime message examples in to Chandler that contain a variety of
Charsets and Languages.
I have not checked in this code however, because the CPIA layer is currently casting many objects to ASCII strings which causes runtime UnicodeDecodeError's.
Can someone in the CPIA GUI team take on the responsibility of going through the UI code and accounting for Unicode strings?
Here is stack trace of some of the errors I am encountering:
Traceback (most recent call last):
File "/OSAF/Chandler/chandler/parcels/osaf/framework/blocks/ControlBlocks.py", line 721, in Draw
self.delegate.Draw (dc, rect, item, attributeName, isSelected)
File "/OSAF/Chandler/chandler/parcels/osaf/framework/attributeEditors/AttributeEditors.py", line 164, in Draw
for line in str (string).split (os.linesep):
UnicodeEncodeError: 'ascii' codec can't encode characters in position 20-31: ordinal not in range(128)
Traceback (most recent call last):
File "/OSAF/Chandler/chandler/parcels/osaf/framework/blocks/ControlBlocks.py", line 987, in OnExpanding
self.LoadChildren(event.GetItem())
File "/OSAF/Chandler/chandler/parcels/osaf/framework/blocks/ControlBlocks.py", line 998, in LoadChildren
cellValues = self.GetElementValues (child)
File "/OSAF/Chandler/chandler/parcels/osaf/views/repositoryviewer/Repository.py", line 29, in GetElementValues
cellValues.append (str (element.getItemDisplayName()))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u516d' in position 2: ordinal not in range(128)
Traceback (most recent call last):
File "/OSAF/Chandler/chandler/parcels/osaf/framework/blocks/ControlBlocks.py", line 1018, in OnCollapsing
del self.blockItem.openedContainers [self.GetItemData(id).GetData()]
File "/OSAF/Chandler/chandler/repository/item/PersistentCollections.py", line 318, in __delitem__
super(PersistentDict, self).__delitem__(key)
KeyError: <UUID: c3a21278-6f1a-11d9-984c-000a95ca1ecc>
Traceback (most recent call last):
File "/OSAF/Chandler/chandler/parcels/osaf/framework/blocks/ControlBlocks.py", line 987, in OnExpanding
self.LoadChildren(event.GetItem())
File "/OSAF/Chandler/chandler/parcels/osaf/framework/blocks/ControlBlocks.py", line 998, in LoadChildren
cellValues = self.GetElementValues (child)
File "/OSAF/Chandler/chandler/parcels/osaf/views/repositoryviewer/Repository.py", line 29, in GetElementValues
cellValues.append (str (element.getItemDisplayName()))
Thanks,
Brian Kirsch - Email Framework Engineer
Open Source Applications Foundation
543 Howard St. 5th Floor�
San Francisco, CA 94105�
(415) 946-3056�
http://www.osafoundation.org
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list http://lists.osafoundation.org/mailman/listinfo/dev
