在OpenERP中导入函数的参数

时间:2012-08-08 06:57:38

标签: python import openerp

我是OpenERP和Python的新手,我正在尝试理解py文件中的各种功能。所有文件中都使用了导入函数,通常分为两部分:第一部分似乎是指Python库(称为模块?),如from datetime import datetimefrom dateutil.relativedelta import relativedelta,但第二部分,我不是知道它指的是什么。

我想知道以下功能的含义:

import netsvc
import pooler
from osv import fields, osv
import decimal_precision as dp
from tools.translate import _

什么是netsvc,pooler,osv,decimal_precision,tools_translate?如果它们是openERP模块,我在哪里可以找到它们背后的代码,否则它们是什么?

如果他/她知道任何人能够向我解释所有人以及任何其他类似的人,我将不胜感激。

6 个答案:

答案 0 :(得分:3)

所有这些都是openerp python模块

./server/6.1/openerp/netsvc.py
./server/6.1/openerp/pooler.py
./server/6.1/openerp/osv/osv.py
./server/6.1/openerp/tools

decimal_precision openerp module之外,您可以在插件中找到它:

./addons/6.1/decimal_precision

所有这些导入都是relative import,这是一种糟糕的编码态度(see the relative pep)。幸运的是,openerp团队正朝着更好的方法迈进,如from openerp.addons import this

答案 1 :(得分:2)

这些是Python模块。它们不是标准库的一部分,而是您安装的某些第三方库。它们可能是OpenERP的一部分,也可能是OpenERP使用的其他库的一部分。如果打开交互式解释器,则可以导入模块,然后查看其__file__属性以查看文件的位置。例如,对于我已安装的名为guineapyg的随机模块:

>>> import guineapyg
>>> guineapyg.__file__
'C:\\Documents and Settings\\BrenBarn\\My Documents\\Python\\guineapyg\\guineapyg.py'

您应该阅读the Python tutorial以熟悉导入模块和其他基本Python内容。

答案 2 :(得分:2)

您可以在$ server / openerp /

中找到代码

所有都是$ server / openerp /

的相对路径

其中" $ server"是OpenERP服务器的路径

答案 3 :(得分:2)

pooler是一个python模块,它跟踪您已安装的所有模块的所有对象,并为每个数据库维护它。

netsvc模块负责socket服务(默认8070端口连接openerp)

decimal_precision是一个模块,负责处理需要的浮点数,如发票中的税价取决于您选择的2位小数或3位小数等...这也取决于您提供的配置,此模块是负责为所有这些对象保持相同的配置(以提供相同的小数精度)

_gettext.gettext别名,用于保存您为所选数据库安装的所有语言的信息。

位置:

netsvc $Server_path/openerp/netsvc.py

pooler $Server_path/openerp/pooler.py

$ server_path - 是您安装openerp服务器的地方。

decision_precision你可以在openerp插件里面找到一个标准的openerp模块。

答案 4 :(得分:1)

听起来你已经安装了一些OpenERP版本,其中包含编译文件而不是原始Python源代码。

我建议您reconfigure your development environment通过从启动板检查源并从源代码运行服务器。就个人而言,我喜欢在Eclipse下使用PyDev运行它,因为它有一个很好的调试器。

对于Eclipse中的项目配置,我只是从启动板检出每个分支,然后将每个分支作为项目导入我的Eclipse工作区。发布细节在6.0和6.1之间略有不同。以下是用于启动 server 项目的每个版本的命令行参数:

6.0:

  

- addons-path $ {workspace_loc:openerp-addons-6.0} --config $ {workspace_loc:openerp-config / src / server.config} --xmlrpc-port = 9069 --netrpc-port = 9070 - -xmlrpcs端口= 9071

6.1需要Web客户端与服务器一起启动:

  

- addons-path $ {workspace_loc:openerp-addons-trunk},$ {workspace_loc:openerp-web-trunk} / addons,$ {workspace_loc:openerp-migration} --config $ {workspace_loc:openerp-config /src/server.config} --xmlrpc-port = 9069 --netrpc-port = 9070 --xmlrpcs-port = 9071

答案 5 :(得分:0)