Update of /cvsroot/modeling/ProjectModeling/Modeling/ModelMasons/Python_bricks
In directory sc8-pr-cvs1:/tmp/cvs-serv7380/Modeling/ModelMasons/Python_bricks
Modified Files:
init.tmpl
Log Message:
Added scripts/mdl_compile_model.py and update the __init__.py generated
by mdl_generate_DB_schema.py so that it automatically tries to load the
pickled model. Using the pickled model is *much* faster than loading the
model from its xml description.
Index: init.tmpl
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/ModelMasons/Python_bricks/init.tmpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** init.tmpl 7 Aug 2002 22:18:48 -0000 1.3
--- init.tmpl 25 Apr 2003 18:13:35 -0000 1.4
***************
*** 3,38 ****
# Load the model
! from Modeling import ModelSet
! import os, warnings, StringIO, traceback
! from model_$(model_name) import model_src
! try:
! if ModelSet.defaultModelSet().modelNamed("$(model_name)") is None:
! ModelSet.defaultModelSet().addModelFromXML({'string': model_src})
! model=ModelSet.defaultModelSet().modelNamed('$(model_name)')
! except:
! exc=StringIO.StringIO()
! traceback.print_exc(file=exc)
! warnings.warn("Couldn't load model 'model_$(model_name).xml'\nReason:\n%s"%exc.getvalue())
! del exc
! del os, warnings, StringIO, traceback, model_src
! # Or, alternatively: use the xml file (ok for dev. mode, not for install w/
! # distutils)
! #
! # from Modeling import ModelSet
! # import os, warnings, StringIO, traceback
! # try:
! # if ModelSet.defaultModelSet().modelNamed("$(model_name)") is None:
! # from os import getcwd, path
! # mydir = os.path.abspath(os.path.dirname(__file__))
! # xmlmodelPath=path.join(mydir,'model_$(model_name).xml')
! # ModelSet.defaultModelSet().addModelFromXML({'file': xmlmodelPath})
! # model=ModelSet.defaultModelSet().modelNamed('$(model_name)')
! # except:
! # exc=StringIO.StringIO()
! # traceback.print_exc(file=exc)
! # warnings.warn("Couldn't load model 'model_$(model_name).xml'\nReason:\n%s"%exc.getvalue())
! # del exc
! #
! # del os, warnings, StringIO, traceback
--- 3,69 ----
# Load the model
! #---------------------------------------
! def loadModel():
! """Load model from either the pickled model created by mdl_compile_model.py
! or from the string stored in model_$(model_name).model_src
! The module containing the pickled model is usually generated with the
! script mdl_compile_model.py
! Simply returns if a model named '$model_name' has already been loaded
! """
! from Modeling import ModelSet
! import os, warnings, cStringIO, traceback
! if ModelSet.defaultModelSet().modelNamed("$(model_name)") is not None:
! return
! try:
! #if $base_dir:
! from $(base_dir).model_$(model_name)_pickle import model_pickle
! #else
! from model_$(model_name)_pickle import model_pickle
! #end if
! import cPickle
! m=cPickle.loads(model_pickle)
! ModelSet.defaultModelSet().addModel(m)
! model=ModelSet.defaultModelSet().modelNamed("$(model_name)")
! except:
! exc=cStringIO.StringIO()
! traceback.print_exc(file=exc)
! warnings.warn("Couldn't load model from pickle'\n"\
! "Reason:\n%s"%exc.getvalue())
! del exc
! else:
! return
!
! try:
! #if $base_dir:
! from $(base_dir).model_$(model_name) import model_src
! #else
! from model_$(model_name) import model_src
! #end if
! ModelSet.defaultModelSet().addModelFromXML({'string': model_src})
! model=ModelSet.defaultModelSet().modelNamed("$(model_name)")
! except:
! exc=StringIO.StringIO()
! traceback.print_exc(file=exc)
! warnings.warn("Couldn't load model 'model_$(model_name).xml'\nReason:\n%s"%exc.getvalue())
! del exc
!
! # Or, alternatively: use the xml file (ok for dev. mode, not for install w/
! # distutils)
! #
! # try:
! # from os import getcwd, path
! # mydir = os.path.abspath(os.path.dirname(__file__))
! # xmlmodelPath=path.join(mydir,'model_$(model_name).xml')
! # ModelSet.defaultModelSet().addModelFromXML({'file': xmlmodelPath})
! # model=ModelSet.defaultModelSet().modelNamed('$(model_name)')
! # except:
! # exc=cStringIO.StringIO()
! # traceback.print_exc(file=exc)
! # warnings.warn("Couldn't load model 'model_$(model_name).xml'\nReason:\n%s"%exc.getvalue())
! # del exc
! #
! # del os, warnings, StringIO, traceback
! #---------------------------------------
! loadModel()
|