> def mod_import(name,request=None):
> if request: name='applications.%s.modules.%s' %
> (request.application, name)
> mod = __import__(name)
> for part in name.split('.')[1:]:
> mod = getattr(mod,part)
> return mod
Nice, I like how t2 collects helpers under a single object without
polluting the global namespace. What if these helpers could be
collected under a single object like t2?
# in gluon/helpers.py or something
def mod_import(name):
mod = __import__(name)
for part in name.split('.')[1:]:
mod = getattr(mod,part)
return mod
class Helpers(...):
def __init__(self,request):
self.request = request
def import(self,name):
return mod_import('applications.%s.modules.%s'%
(self.request.application,name))
# in models/0.py
T2 = helpers.import('t2').T2
> On Jan 8, 12:23 pm, Robin B <[email protected]> wrote:
>
> > def mod_import(name):
> > mod = __import__(name)
> > for part in name.split('.')[1:]:
> > mod = getattr(mod,part)
> > return mod
>
> > T2 = mod_import('applications.%s.modules.t2'%request.application).T2
> > t2=T2(request,response,session,cache,T,db)
> > ...
>
> > Benefits: does not modify sys.path and does not resort to exec'ing.
>
> > 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
-~----------~----~----~----~------~----~------~--~---