Skip to main content

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

odoo_utilities-0.2.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

odoo_utilities-0.2-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

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

Hashes for odoo_utilities-0.2.tar.gz
Algorithm Hash digest
SHA256 0b84ceba3e7bad9e2cdcaa51cdc0865e28e9c691d8a0c444c18c66a475f283a2
MD5 b87d4d7486a11b856e3ce0c9e3df9c84
BLAKE2b-256 cb98153d883e4c04b1742abbbaaf5432f35684860c007c7c98d7ba413bf03df2

See more details on using hashes here.

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

Hashes for odoo_utilities-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e38eb85b76a0a807e196c6ef9fce5506578aa81a53513d11e276fc4b283d1f68
MD5 8339fc7340e24d83a2c5e3b046d07dfa
BLAKE2b-256 7b53868c3871513e241317c2cf28422b5eb15fd470bd3871adc337a29ae914fe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page