From: <jo...@cy...> - 2003-06-29 21:56:24
|
Dear webware community <br> <br> a recent email by Lothar Scholz, points out an interesting question/problem which has bitten me at least a few times. when you make a new context, if you fortet to add the required __init__.py file to it the context will fail to load correctly. This can cause problems especially for folks new to webkit if they do not realise that a context is loaded like a standart python module. To correct this I added the folloing code my the addContext function in the application.py file:<br> <br> orginal code:<br> def addContext(self, name, dir):<br> if self._contexts.has_key(name):<BR> print 'WARNING: Overwriting context %s (=%s) with %s' % (<BR> repr(name), repr(self._contexts[name]), repr(dir))<BR> __contextInitialized = 1 # Assume already initialized.<BR> else:<BR> __contextInitialized = 0<BR> .....<br> <br> Modified code:<br> def addContext(self, name, dir):<BR> # Code added by Jose<BR> # __init__ check file code<BR> # this code will check for the __init__ file and add it if necessary<BR> if not os.path.exists(os.path.join(dir, '__init__.py')):<BR> # __init__.py file is missing creat it<BR> print '__init__ file is missing, creating __init__ file now'<BR> init = file(os.path.join(dir, '__init__.py'), 'w')<BR> init.write('# Auto generated __init__ file\n')<BR> init.close()<BR> # end __init__ file check code<BR> # end Code added by Jose<BR> if self._contexts.has_key(name):<BR> print 'WARNING: Overwriting context %s (=%s) with %s' % (<BR> repr(name), repr(self._contexts[name]), repr(dir))<BR> __contextInitialized = 1 # Assume already initialized.<BR> else:<BR> __contextInitialized = 0<BR> ......<br> <br> Note that I am not doing anything special other then checking to see if the file is present proir to your loading the context, if it is present I do nothing, otherwise I make one with a single comment line in the file. I think its a nice feature to add as we move to 0.9<br> <br> Jose<br> |