On Apr 2, 1:04 am, "Ville M. Vainio" <[EMAIL PROTECTED]> wrote: > On Wed, Apr 2, 2008 at 2:38 AM, Edward K. Ream <[EMAIL PROTECTED]> wrote: > > > I'm not sure what the solution is. Possibly all Leo imports will have > > to be changed from: > > > import leoX > > > to > > > import leo.core.x. > > Yes. Fully qualified imports will be made mandatory in the future anyway, > IIRC.
I have started a branch to explore this project. Actually, I should create an "official" branch. I just realized that what I have done (create a local branch of the trunk) is dangerous: if I forget and push that branch we will not be happy. I'll create a proper branch on launchpad before further work. Anyway, it looks like only a little more work is needed. What I did: 1. Changed the name of the leo/src directory to 'core' 2. Added the following __init__.py to the top-level leo directory: # Dummy file to make this a potential package. def run(*args,**keys): import pdb ; pdb = pdb.set_trace pdb() import leo.core.leo leo.core.leo.run(*args,**keys) Assuming this leo directory is in Python25/Lib/site-packages, the user can just do the following in the python interpreter: import leo leo.run() # could add optional path to a .leo file. This works with little or no changes in any of Leo's core sources. In particular, imports in Leo's core must *stay as they are*. Qualified imports do not work. Not sure why, but I am quites sure that no form of qualified import works. However, imports referring to Leo's core from plugins must be qualified. The easy way is to change import leoWhatever to import leo.core.leoWhatever as leoWhatever The script Scripts-->@file leoScripts.txt-->Important-->@@button change leo imports in scripts.leo does this. It also handles the case when the original import already has an 'as' clause. I have converted some, but not all, of the plugins code. We appear to be very close. The only remaining questions, I think, relate to how people will invoke Leo. Edward --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to leo-editor@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en -~----------~----~----~----~------~----~------~--~---