odoo.cli.main()做了什么?
先把代码贴过来
def main():
args = sys.argv[1:] # The only shared option is '--addons-path=' needed to discover additional
# commands from modules
if len(args) > 1 and args[0].startswith('--addons-path=') and not args[1].startswith("-"): 如果有插件路径参数,则解析之
# parse only the addons-path, do not setup the logger...
odoo.tools.config._parse_config([args[0]])
args = args[1:] # Default legacy command 这是要启动server吗?
command = "server" # TODO: find a way to properly discover addons subcommands without importing the world 需要一种方法确定必须导入的模块,而不是所有的模块
# Subcommand discovery
if len(args) and not args[0].startswith("-"):
logging.disable(logging.CRITICAL)
for module in get_modules():
if isdir(joinpath(get_module_path(module), 'cli')):
__import__('odoo.addons.' + module)
logging.disable(logging.NOTSET)
command = args[0]
args = args[1:] if command in commands:
o = commands[command]()
o.run(args)
else:
sys.exit('Unknow command %r' % (command,))
at last o.run(args)
其中,command=‘server’
在python运行时探测得知
commands的内容是
{'shell': <class 'odoo.cli.shell.Shell'>, 'help': <class 'odoo.cli.command.Help'>, 'deploy': <class 'odoo.cli.deploy.Deploy'>, 'scaffold': <class 'odoo.cli.scaffold.Scaffold'>, 'server': <class 'odoo.cli.server.Server'>, 'star
t': <class 'odoo.cli.start.Start'>}
也就是说server 代表的是<class 'odoo.cli.server.Server'>
by the way
args is ”-w odoo -r odoo --addons-path=addons,../mymodules --db-filter=mydb$“
let's go!<class 'odoo.cli.server.Server'>
odoo.cli.main()做了什么?的更多相关文章
- odoo.cli.main()指的是哪里?OpenERP的第二根线头儿
接上回,odoo-bin中调用了odoo.cli.main(),去哪儿找? cli目录容易找 跟随__init__.py的脚步 import logging import sys import os ...
- 找不到 cucumber.api.cli.Main 的报错解决方案
最近玩IDEA,发现导入的项目有问题,报了一个“找不到或者不存在cucumber.api.cli.Main”的错误. 后来发现是新版的IDEA在导入时没有提示,以至于我没有配置项目对应的Tomcat服 ...
- 发掘odoo.cli.server.Server的秘密,OpenERP的第三根线头儿
command.py调用了server command 在server.py中,主函数main使用了外层模块传递来的args def main(args): check_root_user() odo ...
- ODOO从哪里开始??OpenERP的第一根线头儿
Windows下ODOO源码启动: python odoo-bin -w odoo -r odoo --addons-path=addons,../mymodules --db-filter=mydb ...
- odoo12从零开始:一、安装odoo运行环境(mac)
写在前面: 接触odoo已经两年多了,在大学做课程设计的时候,无意间了解到odoo这个erp框架,当时的odoo在国内还默默无闻,我也不曾想过自己毕业后会从事到odoo框架的相关开发工作中来.两年多的 ...
- 如何快速搭建自己的ERP系统,4步源码快速安装odoo教程
上一篇内容:了解什么是Odoo,为二次开发做准备 1.下载odoo源码 Github地址:https://github.com/odoo/odoo Gitee地址:https://gitee.com/ ...
- 05.odoo12开源框架学习
博客为日常工作学习积累总结: 1.odoo12学习 参考博客:https://alanhou.org/centos-odoo-12/ CentOS 7快速安装配置 Odoo 12 添加新用户必做,不然 ...
- odoo12从零开始:二、个性化定制odoo12 之 创建数据库页面
剧情回顾 上一文章,我们已经成功运行了odoo12,并访问localhost:8069看到如下界面: 我们还没有创建数据库,但是我们发现,数据库管理页面的logo是odoo,数据库页面全是英文的,对于 ...
- Odoo启动过程
[本文基于odoo9源码编写] odoo包含的服务有 db object report workflow web[wsgi] Odoo以wsgi 规范提供Web及Web服务db/object/repo ...
随机推荐
- Openstack+Kubernetes+Docker微服务实践之路--基础设施
近两年微服务在网上聊的如此的如火如荼,备受关注,我在去年下半年的一个项目中也用到了阿里云的EDAS.HSF,深有体会,最近时间空闲出于好奇,决定一探究竟打算自建微服务平台,基本实现EDAS.HSF的功 ...
- 《BI项目笔记》用Excel2013连接和浏览OLAP多维数据集
用Excel2013连接和浏览OLAP多维数据集
- Nginx模块之————RTMP模块在Ubuntu 14.04年的设置与搭建
Nginx的设置,RTMP在Ubuntu 14.04 https://www.vultr.com/docs/setup-nginx-rtmp-on-ubuntu-14-04
- AWS 搭建 VPN 服务(PPTP & L2TP) 整理
只为记录和整理在AWS上假设VPN服务器帮助过我的资料,环境使用AWS EC2 东京区域, OS为ubuntu, PPTP和L2TP各自建立一个, 从speed test上看, 下载有2mbps左右, ...
- android log
from 点击打开链接 使用Android logcat 对我们开发.调试Android程序有很大的帮助!通过logcat,我们可以非常方便的了解到程序的执行情况,判断出错代码位置. 最简单的log ...
- Ubuntu12.04安装64位系统出现编译错误error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or dir
问题: Ubuntu12.04安装64位系统出现编译错误error while loading shared libraries: libz.so.1: cannot open shared obje ...
- jQuery经典面试题及答案精选(转)
jQuery是一款非常流行的Javascript框架,如果你想要从事Web前端开发这个岗位,那么jQuery是你必须掌握而且能够熟练应用的一门技术.本文整理了一些关于jQuery的经典面试题及答案,分 ...
- linux 查看剩余内存数
返回的是kb的数值 cat /proc/meminfo | grep MemFree | cut -d ":" -f2 | sed -e 's/\(^ *\)//' -e 's/\ ...
- Unix 初步(一)
1.Unix文件系统 Unix文件系统有三种文件类型:普通文件.目录文件和设备文件(将外部设备作为一种特殊的文件进行管理,实现输入输出统一而单纯的操作.) 2.Unix的网络功能 TCP/IP 3.r ...
- C#/ASP.NET MVC微信公众号接口开发之从零开发(二) 接收微信消息并且解析XML(附源码)
文章导读: C#微信公众号接口开发之从零开发(一) 接入微信公众平台 微信接入之后,微信通过我们接入的地址进行通信,其中的原理是微信用户发送消息给微信公众账号,微信服务器将消息以xml的形式发送到我们 ...