Here's a variation that creates menus for all controllers and their
functions (except appadmin):

import os
from gluon.myregex import regex_expose
ctldir = os.path.join(request.folder,"controllers")
ctls=os.listdir(ctldir)
if 'appadmin.py' in ctls: ctls.remove('appadmin.py')
response.menu = []
for ctl in ctls:
    filename = os.path.join(ctldir,ctl)
    data = open(filename, 'r').read()
    functions = regex_expose.findall(data)
    ctl = ctl[:-3]
    response.menu.append([ctl, False, '#',
        [[f, False,URL(request.application,ctl,f)] for f in
functions]])


On Jun 18, 12:32 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
> lol. If I could I would include it in menu.py. This is a good idea and
> I will think about including it.
>
> On Jun 17, 9:51 pm, "mr.freeze" <nat...@freezable.com> wrote:
>
> > Thought I would share this piece of code I use during development to
> > automatically build response.menu in menu.py. It makes it easy to
> > navigate your site while testing.  Massimo could probably rewrite this
> > in two lines :)
>
> > import os
> > from gluon.admin import apath
> > from gluon.myregex import regex_expose
> > filename = os.path.join
> > (request.folder,"controllers" ,request.controller + ".py")
> > path = apath(filename, r=request)
> > data = open(path, 'r').read()
> > functions = regex_expose.findall(data)
>
> > response.menu = [
> >     [f.replace("_"," "), False,
> >      URL(request.application,request.controller,f), []] for f in
> > functions
> >     ]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to