Odoo shell
Istruzioni python eseguite da shell
Può essere comodo, per diversi motivi, eseguire dei comandi python (in maniera interattiva o con degli script) in una shell, interagendo con tutto l'ambiente messo a disposizione da odoo.
Per avere a disposizione una shell in cui eseguire dei comandi, è sufficiente aggiungere il sottocomando odoo al comando di avvio. Ad esempio (con riferimento allo script di avvio preparato per gli incontri del LUG dedicati allo sviluppo):
#!/bin/sh ODOOHOME=~/odoo-dev $ODOOHOME/OCB/odoo-bin shell -d tutorial1 --addons-path=$ODOOHOME/OCB/addons,$ODOOHOME/addons_ita,$ODOOHOME/addons,$ODOOHOME/custom_addons
Con l'esecuzione di questo script non verrà avviato, come di consueto, il server web interno di odoo, ma si aprirà invece una shell nella quale, in maniera interattiva, sarà possibile eseguire dei comandi.
Type "help", "copyright", "credits" or "license" for more information. (Console) >>> self res.users(1,) >>> self.name u'Administrator' >>> type(self) <class 'odoo.api.res.users'> >>> env <odoo.api.Environment object at 0x7f363f222290>
Nella shell, self è un'istanza del Recordset Model res.users e -- in particolare -- quello con id=1, ossia Administrator.