当前位置: 首页 > 知识教程 > 使用和研究openerp中tools目录下的代码
使用和研究openerp中tools目录下的代码
Odoo,OpenERP中文网 / 2014-05-23

 研究openerp中的python程序, 不妨先从阅读和使用tool目录下的代码开始。

 
那么,我们怎样调用其中的其中的代码呢?
 
首先,这个目录加到sys.path中, 并导入我们需要的py文件
以safe_eva.py为例
 
import syssys.path.append("/openerp/source70/openerp/tools/")
import safe_eval
 
 
然后就可以执行safe_eva.py中定义的函数了, 比如函数safe_eval
code1='1+2'
code2='print 1+2'
result1 = safe_eval.safe_eval_r(code1, {}, mode="exec")
result2 = safe_eval.safe_eval_r(code2, {}, mode="exec")
 
由于tools目录下的程序使用了logging, 因此会出现 "No handlers could be found for logger ..."
我们可以用如下的方法来解决
import logging
format_str = '%(asctime)5s %(levelname)s  %(filename)s(%(lineno)d) %(funcName)s:  %(name)s: %(message)s'
logging.basicConfig(filename="con", level=logging.DEBUG, format=format_str, )
 
这样, 不仅消除了错误提示, 我们自己也可以使用logging机制了
_logger = logging.getLogger(__name__)
_logger.debug( result1 )
_logger.debug( result2 )