Update of /cvsroot/modeling/ProjectModeling/Modeling/ModelMasons
In directory sc8-pr-cvs1:/tmp/cvs-serv30397/ModelMasons
Modified Files:
PyModelMason.py
Log Message:
ModelMasons: added a new generation scheme. The existing one is named
'compact', the new one, 'base'. The latter generates two different modules
for a given entity, in modules <className> (which is not overwritten when
re-generating) and <className>Base (which IS overwritten upon
regeneration)
Updated scripts/mdl_generate_python_code.py
Index: PyModelMason.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/ModelMasons/PyModelMason.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** PyModelMason.py 20 Apr 2003 14:16:43 -0000 1.7
--- PyModelMason.py 20 Apr 2003 16:10:39 -0000 1.8
***************
*** 40,57 ****
from Cheetah.Template import Template
! from Python_bricks import init, model, module, setup_tmpl
class PyModelMason(ModelMason):
! def __init__(self, model, rootPath=None, verbose_mode=0):
"""
Initializes the ModelMason so that the built files are based on the
supplied model.
"""
import Modeling
ModelMason.__init__(self, model, rootPath,
Modeling.ModelMasons.PyModelMason, 'Python_bricks',
verbose_mode)
self._entities=[] # used during build
!
def tmpl_namespace(self):
"""
--- 40,72 ----
from Cheetah.Template import Template
! from Python_bricks import init,model,base_module,module_base,module_compact,setup_tmpl
class PyModelMason(ModelMason):
! def __init__(self, model, rootPath=None, verbose_mode=0,
! generation_scheme='compact'):
"""
Initializes the ModelMason so that the built files are based on the
supplied model.
+
+ Parameters:
+
+ model --
+
+ rootPath --
+
+ verbode_mode --
+
+ use_scheme -- 'compact' or 'base'
+
"""
import Modeling
+ if generation_scheme not in ('compact', 'base'):
+ raise ValueError,"Parameter generation_scheme can be either 'compact' or 'base'"
ModelMason.__init__(self, model, rootPath,
Modeling.ModelMasons.PyModelMason, 'Python_bricks',
verbose_mode)
self._entities=[] # used during build
! self.generation_scheme=generation_scheme
!
def tmpl_namespace(self):
"""
***************
*** 100,106 ****
self.createFileFromTemplate(setup_tmpl.setup_tmpl(),"setup.py")
! # modules
! for self._entities in self.entitiesSet():
! module_name = self._entities[0].moduleName()
! self.createFileFromTemplate(module.module(),"%s.py" % module_name)
--- 115,144 ----
self.createFileFromTemplate(setup_tmpl.setup_tmpl(),"setup.py")
! # COMPACT generation scheme
! if self.generation_scheme=='compact':
! # modules
! for self._entities in self.entitiesSet():
! module_name = self._entities[0].moduleName()
! self.createFileFromTemplate(module_compact.module_compact(),
! "%s.py" % module_name,
! overwrite=0)
+ # BASE generation scheme
+ elif self.generation_scheme=='base':
+ # create 'Base'
+ #basePath=self.fullPathForGeneratedFile('Base')
+ #self.log("Creating directory %s... "%basePath)
+ #try:
+ # os.mkdir(basePath)
+ #except: self.log('no\n')
+ #else: self.log('ok\n')
+
+ # modules
+ for self._entities in self.entitiesSet():
+ module_name = self._entities[0].moduleName()
+ self.createFileFromTemplate(module_base.module_base(),
+ "%s.py" % module_name,
+ overwrite=0)
+ self.createFileFromTemplate(base_module.base_module(),
+ "%sBase.py" % module_name,
+ overwrite=1)
|