A simple wrapper for more easily running Odoo RPC commands.
Project description
Odoo XMLRPC Helper Functions
A small set of wrapper functions for facilitating CRUD operations in Odoo via XMLRPC.
Getting Started
Installing via pip
pip install odoo_rpc_helper
A Simple Connection
from odoo_rpc_helper import OdooRPCHelper
DB = "test" # Set this to your database name
USERNAME = "admin" # Set this to a real username on the DB
PASSWORD = "admin" # Set this to the password for user above
URL = "http://localhost:8069" # Set this to the server URL
odoo = OdooRPCHelper(DB, USERNAME, PASSWORD, URL)
partner_id = odoo.create("res.partner", {"name": "Test Partner"})[0]
odoo.write("res.partner", [partner_id], {"phone": "+1 (123) 456-7890"})
partner = odoo.search_read(
"res.partner",
[['id', '=', partner_id]],
['name', 'phone']
)[0]
print(f"We have a partner with ID {partner['id']} named {partner['name']} "
f" with phone {partner['phone']}")
odoo.unlink("res.partner", [partner_id])
OdooRPCHelper Class
A class to help with various CRUD operations on an Odoo database via XMLRPC.
Methods
init
__init__(self, database: str, username: str, password: str, url: str = 'http://localhost:8069')
Initialize the helper and authenticate with the Odoo server.
- Parameters:
database
: The name of the Odoo database to accessusername
: The username of the user to execute XMLRPC requests aspassword
: The password of the user to execute XMLRPC requests asurl
: The URL of the Odoo server
execute_kw
execute_kw(self)
Wrapper around self.models.execute_kw
, to save effort on rewriting arguments. Simply omit the database, uid, and password arguments as they will be populated from instance variables.
create
create(self, model: str, fields: Dict)
Wrapper for execute_kw create
. Create a single record.
- Parameters:
model
: The model of which to create a record.fields
: The fields to assign during creation.
- Return: The ID of the created record.
create_multi
create_multi(self, model: str, fields_list: List[Dict])
Wrapper for execute_kw create
. Create one or more records. Exactly like calling model.create
with a list of dicts in Odoo.
- Parameters:
model
: The model of which to create a record.fields_list
: The list of dictionaries of fields to assign.
- Return: The ID(s) of the created record(s).
search
search(self, model: str, domain: List)
Wrapper for execute_kw search
on a model.
- Parameters:
model
: The Odoo model to search.domain
: The regular Odoo-style domain. This function wraps it for the XMLRPC call.
- Return: The list of record IDs found in the search.
search_read
search_read(self, model: str, domain: List, fields: List[str] = None)
Wrapper for execute_kw search_read
on a model.
- Parameters:
model
: The Odoo model to search.domain
: The regular Odoo-style domain.fields
: The fields to be loaded. All fields loaded by default.
- Return: A list of dictionaries containing the loaded record fields.
read
read(self, model: str, res_ids: List[int], fields: List[str])
Wrapper for calling read on a model.
- Parameters:
model
: The Odoo model to browse.res_ids
: The IDs of the records to browse.fields
: The fields to be read.
- Return: List of dictionaries with the requested fields.
write
write(self, model: str, res_ids: List[int], fields: Dict)
Wrapper for calling write on a model.
- Parameters:
model
: Model to write to.res_ids
: Record IDs to write to.fields
: Fields to write.
unlink
unlink(self, model: str, res_ids: List[int])
Wrapper for calling unlink on a model.
- Parameters:
model
: Model to call unlink on.res_ids
: Record IDs to unlink.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file odoo_rpc_helper-0.0.7.tar.gz
.
File metadata
- Download URL: odoo_rpc_helper-0.0.7.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 847f0e6fec7a256c594d222828ba882920e7c170d7e0430b0254eabd01cef8a7 |
|
MD5 | cceac6bbb11afabde8bf6ec46afac3cc |
|
BLAKE2b-256 | 464ea93d786c844bedb43f1a620e8a3595d158d0320475a55e881c72a8e92d34 |
File details
Details for the file odoo_rpc_helper-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: odoo_rpc_helper-0.0.7-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb782293a05ec9c45664c436a6e402aacb2b3ca560a36efb38f68fec612e7912 |
|
MD5 | 24736dd4dba81e3e87f4fe6c1ddc5d31 |
|
BLAKE2b-256 | 9ea9fe7b5ffe5a7d6977544efdfc6055f44eb0c9a63c1d07c55255df1082eb6a |