Classe PythonCode
La classe PythonCode è utilizzata per eseguire del codice Python all’interno
del modello execute.python.code e questo modello è necessario affinché la
classe funzioni.
Si tratta di un modulo non standard di Odoo ma fornito da applicazioni di terze parti e andrà installato per utilizzare questa classe.
Per osservare qualche esempio di utilizzo fare riferimento alla pagina Esempi di utilizzo.
- Costruttore
- Metodo statico is_available
- Proprietà name
- Proprietà id
- Metodo get_code
- Metodo set_code
- Metodo execute
- Metodo get_result
- Metodo delete
Costruttore
class PythonCode(name: str,
endpoint: str,
database: str,
username: str,
password: str,
language: str = None)
Parametri
- name: nome dello script da creare o utilizzare.
- endpoint: URL dell’endpoint di Odoo.
- database: nome del database di Odoo da utilizzare.
- username: nome dell’utente di Odoo da utilizzare.
- password: password dell’utente di Odoo da utilizzare.
- language: lingua predefinita da utilizzare per i campi traducibili.
Esempio di utilizzo
import pyodoo.v12
script = pyodoo.v12.PythonCode(name='Python Script Demo',
endpoint='https://demo.odoo.com',
database='demo_saas',
username='muflone',
password='mysecret',
language='it_IT')
Accede all’istanza di Odoo all’indirizzo https://demo.odoo.com sul database demo_saas, utilizzando le credenziali fornite e la lingua italiana per i campi traducibili e richiama o crea lo script di nome Python Script Demo.
Metodo statico is_available
PythonCode.is_available(endpoint: str,
database: str,
username: str,
password: str,
language: str = None)
Il metodo statico is_available è statico e può essere richiamato sia su
oggetti PythonCode che sulla classe stessa con PythonCode.is_available e si
occupa di verificare se il modello execute.python.code sia disponibile e
restituirà il valore True se il modello è stato trovato, altrimenti restituirà
il valore False.
Parametri
- endpoint: URL dell’endpoint di Odoo.
- database: nome del database di Odoo da utilizzare.
- username: nome dell’utente di Odoo da utilizzare.
- password: password dell’utente di Odoo da utilizzare.
- language: lingua predefinita da utilizzare per i campi traducibili.
Restituisce
- True se il modello
execute.python.codeè stato trovato. - False se il modello
execute.python.codenon risulta disponibile.
Esempio di utilizzo
print(PythonCode.is_available(endpoint='https://demo.odoo.com',
database='demo_saas',
username='muflone',
password='mysecret',
language='it_IT')
Proprietà name
La proprietà name restituisce il nome dello script dell’oggetto PythonCode.
Restituisce
- Il nome dello script usato dall’oggetto PythonCode.
Esempio di utilizzo
print(script.name)
Proprietà id
La proprietà id restituisce l’identificativo univoco dello script dell’oggetto PythonCode.
Restituisce
- L’identificativo univoco dall’oggetto PythonCode.
Esempio di utilizzo
print(script.id)
Metodo get_code
PythonCode.get_code()
Il metodo get_code restituisce il codice Python dell’oggetto PythonCode.
Restituisce
- Il codice Python dello script dell’oggetto PythonCode.
Esempio di utilizzo
print(script.get_code())
Metodo set_code
PythonCode.set_code(text: str)
Il metodo set_code imposta il codice Python per l’oggetto PythonCode.
Il parametro text corrisponde al codice Python da salvare.
Parametri
- text: codice Python da impostare.
Restituisce
- True se il record è stato aggiornato.
Esempio di utilizzo
script.set_code(text='import sys\nresult = sys.version')
Metodo execute
PythonCode.execute()
Il metodo execute esegue il codice Python dell’oggetto PythonCode.
Restituisce
- Il metodo non restituisce nulla.
Esempio di utilizzo
script.set_code(text='import sys\nresult = sys.version')
script.execute()
Metodo get_result
PythonCode.get_result()
Il metodo get_result legge il risultato dell’ultima esecuzione dello script Python dall’oggetto PythonCode.
Dopo l’esecuzione del metodo execute è possibile richiamare il metodo
get_result per ottenere il risultato dell’esecuzione.
Restituisce
- Il risultato dell’ultima esecuzione dello script Python.
Esempio di utilizzo
script.set_code(text='import sys\nresult = sys.version')
script.execute()
print(script.get_result())
Metodo delete
PythonCode.delete()
Il metodo delete elimina il record dell’oggetto PythonCode.
Restituisce
- True se il record è stato eliminato.
Esempio di utilizzo
script.delete()