Versatile tool for browsing Odoo / OpenERP data
Project description
Download and install the latest release:
pip install -U odooly
Documentation and tutorial: http://odooly.readthedocs.org
CI tests: https://travis-ci.org/tinyerp/odooly
Overview
Odooly carries three completing uses:
with command line arguments
as an interactive shell
as a client library
Key features:
provides an API very close to the Odoo API 8.0, through JSON-RPC and XML-RPC
compatible with OpenERP 6.1 through Odoo 12.0
single executable odooly.py, no external dependency
helpers for search, for data model introspection, etc…
simplified syntax for search domain and fields
full API accessible on the Client.env environment
the module can be imported and used as a library: from odooly import Client
supports Python 3.4 and above, and Python 2.7
Command line arguments
There are few arguments to query Odoo models from the command line. Although it is quite limited:
$ odooly --help Usage: odooly.py [options] [search_term_or_id [search_term_or_id ...]] Inspect data on Odoo objects. Use interactively or query a model (-m) and pass search terms or ids as positional parameters after the options. Options: --version show program's version number and exit -h, --help show this help message and exit -l, --list list sections of the configuration --env=ENV read connection settings from the given section -c CONFIG, --config=CONFIG specify alternate config file (default: 'odooly.ini') --server=SERVER full URL of the server (default: http://localhost:8069/xmlrpc) -d DB, --db=DB database -u USER, --user=USER username -p PASSWORD, --password=PASSWORD password, or it will be requested on login -m MODEL, --model=MODEL the type of object to find -f FIELDS, --fields=FIELDS restrict the output to certain fields (multiple allowed) -i, --interact use interactively; default when no model is queried -v, --verbose verbose $ #
Example:
$ odooly -d demo -m res.partner -f name -f lang 1 "name","lang" "Your Company","en_US"
$ odooly -d demo -m res.groups -f full_name 'id > 0' "full_name" "Administration / Access Rights" "Administration / Configuration" "Human Resources / Employee" "Usability / Multi Companies" "Usability / Extended View" "Usability / Technical Features" "Sales Management / User" "Sales Management / Manager" "Partner Manager"
Interactive use
Edit odooly.ini and declare the environment(s):
[DEFAULT] scheme = http host = localhost port = 8069 database = odoo username = admin [demo] username = demo password = demo protocol = xmlrpc [demo_jsonrpc] username = demo password = demo protocol = jsonrpc [local] scheme = local options = -c /path/to/odoo-server.conf --without-demo all
Connect to the Odoo server:
odooly --list odooly --env demo
This is a sample session:
>>> env['res.users'] <Model 'res.users'> >>> env['res.users'].search_count() 4 >>> crons = env['ir.cron'].with_context(active_test=False).search([]) >>> crons.read('active name') [{'active': True, 'id': 5, 'name': 'Calendar: Event Reminder'}, {'active': False, 'id': 4, 'name': 'Mail: Fetchmail Service'}] >>> # >>> env.modules('delivery') {'uninstalled': ['delivery', 'website_sale_delivery']} >>> env.upgrade('base') 1 module(s) selected 42 module(s) to process: to upgrade account to upgrade account_chart to upgrade account_tax_include to upgrade base ... >>> #
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
Hashes for Odooly-2.1.5-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 728899c01efca0126f3a9a323970d3fd7eb3b95a74598b441c00a98b4f6df421 |
|
MD5 | 8f2201367763db4b75bdb0f98f7fe4e2 |
|
BLAKE2b-256 | 1ed8e6183f689dc0e0f78e50fdf991ef5589a0d746ab829e28e128c3b1b0a24e |