Thanks.. That is very helpful. On Sunday, September 2, 2012 1:12:55 PM UTC-5, C Anthony Risinger wrote: > > On Sat, Sep 1, 2012 at 5:31 PM, Billy Earney > <[email protected]<javascript:>> > wrote: > > I'm trying to modify the examples (ie, showcase) to load the examples by > > section (other, panels, widgets) by using the dynamic module and > > specifically the ajax_import function. I'm compiling the python demos > by > > using a modified compile.py script which creates 3 separate demo files. > > Really all I'm doing is splitting up the demos into 3 files that will be > > loaded dynamically when a user opens up one of the branches in the tree. > > My reasoning for this, is that it takes quite a while to load the > current > > showcase example, and the gwt showcase version seems to use some type of > > dynamic loading. I believe this will speed up the initial loading of > the > > application. > > > > What changes need to be made to the output of the showcase compile.py > script > > to use it with dynamic.ajax_import ? > > bleh i forgot the showcase had that compile.py stuff ... i had to > special case it whenever i used it (website/etc.) > > i would not try to use the ajax/dynamic stuff directly ... simply > prefix all the generated modules with some unique string, say > `example_` or `demo_`, then build the application with: > > pyjsbuild ... --dynamic-load=REGEX ... > > ... where REGEX would be a PCRE matching your prefix: > > example_.* > demo_.* > > ... this tells the linker to skip those modules and instead load them > using synchronous XHR at runtime, on-demand. > > this stuff should work today, OOTB. if not, it's a bug. > > the only thing you need to ensure, is that the modules are NOT loaded > on boot ... this usually means putting the import statements in a > function (eg. NOT at module level): > > def import_example_1(): > import example_1 > example_1.show() > > def import_example(ident): > __import__(ident) > ident = sys.modules[ident] > ident.show() > > ... or something similar. > > -- > > C Anthony >
--
