I work a lot with modules, so I have a question. I have a
'z_import_modules.py' model that would look something like this:
DEBUG = True
module1 = local_import('module1', reload=DEBUG)
module2 = local_import('module2', reload=DEBUG)
module3 = local_import('module3', reload=DEBUG)
obj1 = module1.Object1(globals(), db)
obj2 = module2.Object2(globals(), db)
obj3 = module3.Object3(globals(), db, obj1, obj2)
# obj3 is dependent on obj1 and obj2 instances
And my Object3 class' init method might look like this:
def __init__(self, environment, db, obj1, obj2):
self.env = Storage(environment)
self.cache = self.env.cache
self.request = self.env.request
self.response = self.env.response
self.db = db
self.obj1 = obj1
self.obj2 = obj2
With the new changes in the trunk, would I be able to rewrite my
'z_import_modules.py' model to this?
from module1 import Object1
from module2 import Object2
from module3 import Object3
obj1 = Object1()
obj1 = Object1()
And would I be able to rewrite Object3's init method to something like this:
def __init__(self):
# assuming from gluon import *
self.env = Storage(globals())
self.cache = self.env.cache
self.request = self.env.request
self.response = self.env.response
self.db = self.env.db
self.obj1 = self.env.obj1
self.obj2 = self.env.obj2
Is this what you mean by "only need to do "from gluon import *" to see
everything web2py has to offer"?