跳转到主要内容

Odoo和OpenStack集成附加组件的Python客户端库。

项目描述

Python OpenStack Odoo客户端库

PyPI PyPI - Python Version GitHub Test Status

这是一个用于Python的Odoo客户端库,支持OpenStack集成附加组件,旨在供如Distil这样的OpenStack项目使用。

此库提供了比内部使用的OdooRPC(更高级的接口),旨在使得开发人员能够针对一个定义良好的API进行应用程序开发,而无需考虑Odoo版本之间的不兼容性更改等问题。

安装

OpenStack Odoo客户端库支持Python 3.8及更高版本。

要安装库包,只需使用pip安装openstack-odooclient包。

python -m pip install openstack-odooclient

连接到Odoo

要连接到Odoo服务器,创建一个openstack_odooclient.Client对象,并将连接细节传递给它。

openstack_odooclient.Client(
    *,
    hostname: str,
    database: str,
    username: str,
    password: str,
    protocol: str = "jsonrpc",
    port: int = 8069,
    verify: bool | str | Path = True,
    version: str | None = None,
) -> Client

这是创建Odoo客户端对象的推荐方法,因为它提供了一些额外的参数,方便使用。

from openstack_odooclient import Client as OdooClient

odoo_client = OdooClient(
    hostname="localhost",
    database="odoodb",
    user="test-user",
    password="<password>",
    protocol="jsonrpc",  # HTTP, or "jsonrpc+ssl" for HTTPS.
    port=8069,
    # verify=True,  # Enable/disable SSL verification, or pass the path to a CA certificate.
    # version="14.0",  # Optionally specify the server version. Default is to auto-detect.
)

如果您有一个现有的odoorpc.ODOO连接对象,可以直接将其传递给openstack_odooclient.Client

openstack_odooclient.Client(*, odoo: odoorpc.ODOO) -> Client

这允许将单个OdooRPC连接对象与其他代码共享。

from odoorpc import ODOO
from openstack_odooclient import Client as OdooClient

odoo = ODOO(
    host="localhost",
    port=8069,
    protocol="jsonrpc",  # HTTP, or "jsonrpc+ssl" for HTTPS.
    # version="14.0",  # Optionally specify the server version. Default is to auto-detect.
)
odoo.login("odoodb", "test-user", "<password>")

odoo_client = OdooClient(odoo=odoo)

管理员

Odoo客户端对象公开了许多记录管理器,其中包含用于查询特定记录类型或创建一个或多个该类型新记录的方法。

例如,执行简单的搜索查询可能看起来像这样

>>> from openstack_odooclient import Client as OdooClient
>>> odoo_client = OdooClient(
...     hostname="localhost",
...     port=8069,
...     protocol="jsonrpc",
...     database="odoodb",
...     user="test-user",
...     password="<password>",
... )
>>> odoo_client.users.search([("id", "=", odoo_client.user_id)], as_id=True)
[1234]

有关可用管理器及其功能的更多信息,请查看文档中的“管理器”页面。

记录

记录管理器方法返回对应于Odoo中相应模型的记录对象。

记录字段可以作为这些记录对象的属性访问。记录类完全有类型提示,允许IDE和Mypy之类的验证工具验证您的应用程序是否正确使用字段。

>>> from openstack_odooclient import Client as OdooClient, User
>>> user: User | None = None
>>> odoo_client = OdooClient(
...     hostname="localhost",
...     port=8069,
...     protocol="jsonrpc",
...     database="odoodb",
...     user="test-user",
...     password="<password>",
... )
>>> user = odoo_client.users.get(1234)
>>> user
User(record={'id': 1234, ...}, fields=None)
>>> user.id
1234

有关可用管理器及其功能的更多信息,请查看文档中的“记录”部分。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

openstack_odooclient-0.1.0.tar.gz (106.3 kB 查看哈希值)

上传时间

构建分布

openstack_odooclient-0.1.0-py3-none-any.whl (83.4 kB 查看哈希值)

上传时间 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面