关于OE启动流程的问题
-
拜读了大作"OpenERP 模块动态加载原理及启动代码分析" ,今天下载了源码在komodo中调试(eclipse中没试成功) 系统会首先加载所有服务端的模块(主要是web等 call \openerp\modules\module.py中的方法load_openerp_module try: mod_path = get_module_path(module_name) zip_mod_path = '' ... info = load_information_from_description_file(module_name) ... 在load_information_from_description_file中加载文件__openerp__.py f = tools.file_open(terp_file) try: info.update(eval(f.read())) finally: f.close() 在执行info.update(eval(f.read()))时系统报错(内存错误的提示窗口),不好意思不知道该如何贴图 继续跟踪实际执行的的openerp中的safe_eval try: return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict) except Exception: _logger.exception('Cannot eval %r', expr) 跟踪后发现test_expr成功返回,但在执行eval是出现上述错误,请教各位大仙 用的python2.7+oe7(20130502)
-
重新发一遍
拜读了大作"OpenERP 模块动态加载原理及启动代码分析" ,今天下载了源码在komodo中调试(eclipse中没试成功)
系统会首先加载所有服务端的模块(主要是web等)
call \openerp\modules\module.py中的方法load_openerp_module
try: mod_path = get_module_path(module_name)
zip_mod_path = ''
...
info = load_information_from_description_file(module_name)
...
在load_information_from_description_file中加载文件__openerp__.py
f = tools.file_open(terp_file)
try:
info.update(eval(f.read()))
finally:
f.close()
在执行info.update(eval(f.read()))时系统报错(内存错误的提示窗口),不好意思不知道该如何贴图
继续跟踪实际执行的的openerp中的safe_eval
try:
return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
except Exception:
_logger.exception('Cannot eval %r', expr)
跟踪后发现test_expr成功返回,但在执行eval是出现上述错误,请教各位大仙
用的python2.7+oe7(20130502)