odoo源码解析-- <2>--启动类加载(1)
2017-11-27 13:18
218 查看
odoo-bin
Odoo-bin是启动odoo的第一步它调用了odoo.cli.main()
odoo.cli.command
Command
main()方法这里有三个if
分析可知,程序目前只进入到第三个判断
这里commands包含:shell;help;deploy;scaffold;server;start.这些都是来自CommandType类的cls参数
在Python中,普通的方法第一个参数一般都是self,它代表实例本身;另一个为cls,它代表类本身。在输出cls时,得到结果
这些类又由何而来?
在Command类中,odoo的开发者将该类的元类设置为CommandType类,而下面这些类又继承了Command类
因此cls参数的值就是这些类的类名。Commond作为父类不加载到commands数组中。
Main()方法将command默认为server,因此run()方法调用的是odoo.cli.server的run()方法:
Odoo.cli.main()通过tools.config._parse_config([args[0]])设计模块路径,通过o.run(args)运行server
这一步中,加载了配置文件,以及默认的指令
见后续文档
相关文章推荐
- odoo源码解析-- <2>--启动类加载(5)
- odoo源码解析-- <2>--启动类加载(2)
- odoo源码解析-- <2>--启动类加载(4)
- odoo源码解析-- <2>--启动类加载(3)
- AFNetworking (3.1.0) 源码解析 <五>
- Volley源码解析<三> Request请求
- Android大图加载,缩放,滑动浏览--SubsamplingScaleImageView 源码分析<一>大图加载
- ThreadPoolExecutor核心实现原理和源码解析<一>
- AFNetworking2.0源码解析<二>
- intellij idea加载go开发插件源码时报错Error:ant: Cannot run 'patch-version' target: JDK '<unknown>' not found
- Flask源码解读 <2> --- 请求上下文和request对象
- android源码解析之(十四)-->Activity启动流程
- 老调重弹:JDBC系列 之 <驱动加载原理全面解析>
- 从内存中加载png<摘自MFC源码>
- <<Android源码设计模式解析与实战>>读书笔记----- Android NDK开发学习
- android源码解析(十九)-->Dialog加载绘制流程
- <自己动手写操作系统>第三章pmtest7源码解析——检测系统内存
- AFNetworking (3.1.0) 源码解析 <四>
- android源码解析(二十一)-->PopupWindow加载绘制流程
- volley源码解析(二)--Request<T>类的介绍