[Zope3-dev] Removing hard dependency from zope.i18nmessageid C extension

Christian Heimes heimes at faho.rwth-aachen.de
Wed Feb 9 05:37:18 EST 2005


Hi folks!

With the new i18nmessageid c module in zope.i18nmessageid it is no 
longer possible to use zope.schema and zope.i18n w/o a c extensions. 
Although zope.interface has an optimized module in c like 
zope.i18nmessageid there is also a python only implementation.

I would like to see such a python only implementation in 
zope.i18nmessageid, too. Hey as far as I can see there *is* already a 
python only implementation in zope.i18nmessageid.messageid. :) I know 
it's going to be removed in ZopeX3.2 but as long we have it can we 
please change the zope.i18nmessageid package like I propose?

old:
from messageid import MessageID, MessageIDFactory
from message import Message, MessageFactory

my proposal:
from messageid import MessageID, MessageIDFactory
try:
     from _zope_i18nmessageid_message import Message
except ImportError:
     # c optimization not availabel
     Message = MessageID
     MessageFactory = MessageIDFactory
else:
     from message import Message, MessageFactory

It would ease up using parts of ZopeX3 on windows and unix because won't 
need to install or compile binary extensions.

Christian



More information about the Zope3-dev mailing list