[Twisted-web] Writing Nevow Plugins ... dont have a clue! ;)

Andreas De Stefani andreas.destefani at ucd.ie
Tue Jul 12 13:26:31 MDT 2005

Hey guys,

i was just wondering if this would be possible:

I generate a nevow application with one main template, then i simply 
plugin multiple sub websites which are using template fragments ... for 

i got a main site which has navigation and content, simple so far ... 
then i have a plugin directory where i simply put my "sub websites" ...


after i restart the webserver there should be a link for each site in 
the navigation and the navigation fragment template and after a click on 
a link, the content should show the sub-site ... or at least render the 

hmmm... i was trying a bit, but i think i took the wrong approach... 
probably i have to go one layer lower to inevow.IRequest, but i didnt 
really figure out how i could do that... or is it Realm or Portal ... 
i'm  a bit confused!

anyway this is what i tried: (i even got trouble with the automatic 
plugin loader, the modules werent imported correctly for some strange 

from nevow import loaders, rend, static, url, tags
import os

PLUGIN_PATH = './plugins'

webplugins = []

class WebKitRoot(rend.Page):
    docFactory = loaders.xmlfile('webkit.html')
    def __init__(self):
        """init the Root Page, load plugins"""
    def __importPlugins(self):
        """retrieve the plugins from the plugin directory and import them"""
        plugindirs = os.listdir(PLUGIN_PATH)
        for p in plugindirs:
            if os.path.isdir(os.path.join(PLUGIN_PATH, p)):
                #constructing the plugin path --> ./plugins/login/login

    def childFactory(self, ctx, name):
        if name in ['login']:
            #just a simple test
            return webplugins[0].RootPage()

would be cool if somebody could give me some hints!

thanks a lot!

bye Andy

More information about the Twisted-web mailing list