I thought it would be cool to have a routes.py for each application,
so I put the following in web2py/routes.py, which combines the routes
from each application/*/routes.py at boot time.
web2py/routes.py:
from gluon.fileutils import listdir
import os,glob
apps_with_routes = []
app_routes = glob.glob('applications/*/routes.py')
for ar in app_routes:
dir,r = os.path.split(ar)
dir,app = os.path.split(dir)
apps_with_routes.append(app)
routes_in_list = routes_out_list = []
for app in apps_with_routes:
module_name = 'applications.%s.routes' % app
m = __import__(module_name,globals(),locals(),[''])
routes_in_list.extend(list(m.routes_in))
routes_out_list.extend(list(m.routes_out))
routes_in=set(routes_in_list)
routes_out=set(routes_out_list)
applications/welcome/routes.py:
app = 'welcome'
con = 'default'
main = (app,con)
routes_in=(
('/','/%s/%s/index' % main), # homepage
)
routes_out = [(x,y) for (y,x) in routes_in]
Using an approach like this allows you to distribute a routes.py with
your application code.
Robin
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---