Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

dodoo load subcommand

Project description

License: LGPL-3 https://badge.fury.io/py/dodoo-loader.svg

dodoo-loader is a set of useful Odoo maintenance functions. They are available as CLI scripts (based on dodoo), as well as composable python functions.

Script

Usage: dodoo-loader [OPTIONS]

  Loads data into an Odoo Database.

  Supply data by file or stream in a supported format and load it into a
  local or remote Odoo database.

  Highlights:

  • Detects model-level dependency on related fields and record-level
  dependencies in tree-like tables (hierarchies). Cares to load everything
  in the correct order*.

  • Supported formats: JSON, CSV, XLS & XLSX

  • Logs success to --out. Next runs deduplicate based on those logs.

  • [TBD] Can trigger onchange as if data was entered through forms.

  Note: record-level dependency detection only works with parent columns
  ending in /.id (db ID) or /id (ext ID). Either one must match the
  principal id or .id column (to which it refers).

  Note: For UX and security reasons, nested semantics (as in Odoo) are not
  supported as they usually are undeterministic (lack of identifier on the
  nested levels). That's too dangerous for ETL.

Options:
  -f, --file FILENAME         Path to the file, that you want to load. You can
                              specify this option multiple times for more than
                              one file to load.
  -s, --stream TEXT...        [stream type model] Stream, you want to load.
                              `type` can be csv or json. `model` can be any
                              odoo model availabe in env. You can specify this
                              option multiple times for more than one stream
                              to load.
  --onchange / --no-onchange  [TBD] Trigger onchange methods as if data was
                              entered through normal form views.  [default:
                              True]
  --batch INTEGER             The batch size. Records are cut-off for
                              iteration after so many records.  [default: 50]
  --out FILENAME              Log success into a json file.  [default:
                              ./log.json]
  --logfile FILE              Specify the log file.
  -d, --database TEXT         Specify the database name. If present, this
                              parameter takes precedence over the database
                              provided in the Odoo configuration file.
  --log-level TEXT            Specify the logging level. Accepted values
                              depend on the Odoo version, and include debug,
                              info, warn, error.  [default: info]
  -c, --config FILE           Specify the Odoo configuration file. Other ways
                              to provide it are with the ODOO_RC or
                              OPENERP_SERVER environment variables, or
                              ~/.odoorc (Odoo >= 10) or ~/.openerp_serverrc.
  --help                      Show this message and exit.

Credits

Contributors:

  • David Arnold (XOE)

Changes

Future (?)

  • Flatten out nested data
  • More tests

0.6.5 (2019-05-05)

  • Simplify repo structure
  • Fix package namespace issues
  • Fix issue with future str type

0.5.2 (2018-12-05)

  • Add addons-path option

0.0.3 (2018-10-25)

  • Green tests from 8.0 to master

0.0.2 (2018-10-12)

  • Initial alpha
  • 17% test coverage

Project details


Download files

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

Files for dodoo-loader, version 0.6.5
Filename, size File type Python version Upload date Hashes
Filename, size dodoo_loader-0.6.5-py2.py3-none-any.whl (12.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size dodoo-loader-0.6.5.tar.gz (39.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page