您的位置:首页 > 其它

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源码