Set of tools for Odoo ERP
Project description
OdooTools
Set of tools for Odoo developpement
.. code:: python
import OdooTools
Debug
Debug utilities
.. code:: python
from odoo.ONS import debug
- print_func_code: print function code and its inheritance (considering loading order)
python print_func_code(env, model, function)
-
env: odoo environnement
-
model: model _name value, e.g. "sale.order"
-
function: function to analyse, e.g. "onchange_partner_id"
-
printTraceBack: print the call path up to this function call
python printTraceBack(printer)
-
printer: display function, default is "print", we can use the logger from logging library
.. code:: python
printTraceBack(_logger.critical)
-
get_depends_methods: return a list of dict containing trigger keys and function object of all "api.depends" of a model
python for depends in get_onchange_methods(env, model): print(x["keys"], x["function"])
-
env: environnement odoo
-
model: model from which to extract depends methods, e.g. "sale.order"
-
get_onchange_methods: same as get_depends_methods but for "api.onchange"
-
analyse_depends: call print_func_code on get_depends_methods result
python analyse_depends(env, model)
- analyse_onchange: call print_func_code on get_onchange_methods result
python analyse_onchange(env, model)
Records
Tools to handle recordset
- groupby: group recordset according to list of key (or key getter)
python groupby(records, attributes)
-
records: recordset to group
-
attributes: list of grouping key, that can be either:
- an object attribute's name as string, e.g.
"name"
- a function taking a record and returning the key, e.g.
lambda line: line.move_id.sale_line_id.order_id
- an object attribute's name as string, e.g.
Example:
python lines = self.mapped("move_line_ids").filtered("result_package_id") grouped = groupby(lines, [ "result_package_id", "picking_id", lambda line: line.move_id.sale_line_id.order_id, ]) for package, package_data in grouped.items(): for picking_id, picking_id_data in package_data.items(): for sale_id, records in package_data.items(): print(records)
Datetime
Tools to handle date and datetime.
- client_specific_to_utc: There 's some cases where you need to convert a datetime for the write, for example a datetime built from the controller
python utc_date = client_specific_to_utc(env, mydate)
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_utilities-0.2.tar.gz
.
File metadata
- Download URL: odoo_utilities-0.2.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b84ceba3e7bad9e2cdcaa51cdc0865e28e9c691d8a0c444c18c66a475f283a2 |
|
MD5 | b87d4d7486a11b856e3ce0c9e3df9c84 |
|
BLAKE2b-256 | cb98153d883e4c04b1742abbbaaf5432f35684860c007c7c98d7ba413bf03df2 |
File details
Details for the file odoo_utilities-0.2-py3-none-any.whl
.
File metadata
- Download URL: odoo_utilities-0.2-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e38eb85b76a0a807e196c6ef9fce5506578aa81a53513d11e276fc4b283d1f68 |
|
MD5 | 8339fc7340e24d83a2c5e3b046d07dfa |
|
BLAKE2b-256 | 7b53868c3871513e241317c2cf28422b5eb15fd470bd3871adc337a29ae914fe |