Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami
  • Pagina:
  • 1
  • 2

ARGOMENTO: lettura dati tramite XML-RPC

lettura dati tramite XML-RPC 7 Anni 2 Mesi fa #6083

  • IvanB
  • Avatar di IvanB
  • Offline
  • Senior Boarder
  • Messaggi: 63
  • Karma: 0
Salve, scusatemi per l'ingenuità, ma sono ancora un pò niubbo, per quanto concerne python e OpenErp.
Ho usato il seguente codice per leggere dei dati:

import xmlrpclib
username = 'xxxxx' #the user
pwd = 'yyyyy' #the password of the user
dbname = 'zzzzz' #the database

#data in database OpenErp.
sock_common = xmlrpclib.ServerProxy ('http://localhost:8069/xmlrpc/common')
uid = sock_common.login(dbname, username, pwd)
sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object')

args = [('name', '=', '<campo>')] #query clause
ids = sock.execute(dbname, uid, pwd, 'res.partner', 'search', args)

fields = #fields to read
data = sock.execute(dbname, uid, pwd, 'res.partner', 'read', ids, fields) #ids is a list of id
ar = data
print ar
print len(ar)

tuttavia la 'read' mi restituisce un id con le informazioni richieste, ma non una stringa.
a riprova di ciò, la len(), mi restituisce 1 (è il primo record del DB).
Vorrei riuscire a mettere le info in una lista, o perlomeno in una stringa.
c'e qualche metodo (con 'read' oppure import_data)? nel caso di 'import_data', come lo devo usare (sintassi)?

grazie 1000.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:lettura dati tramite XML-RPC 7 Anni 2 Mesi fa #6084

  • eLBati
  • Avatar di eLBati
  • Online
  • Platinum Boarder
  • Messaggi: 1766
  • Ringraziamenti ricevuti 186
  • Karma: 38
Ciao,
nel tuo caso 'data' dovrebbe essere una lista di dizionari
Lorenzo Battistini
github.com/eLBati

TAKOBI
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:lettura dati tramite XML-RPC 7 Anni 2 Mesi fa #6086

  • IvanB
  • Avatar di IvanB
  • Offline
  • Senior Boarder
  • Messaggi: 63
  • Karma: 0
Può essere; tuttavia forse non mi sono spiegato:
in 'data', c'è qualche metodo o parametro che mi restituisce una lista e/o una stringa ?
Grazie.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:lettura dati tramite XML-RPC 7 Anni 2 Mesi fa #6087

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
Puoi postare cosa ti ritorna come
print ar
credo di non avere capito, infatti confermo quello che ti ha detto eLBati sul valore ritornato...
es. Questo è una ricerca completa su res.partner, la lista ha un elemento che è un dizionario di tutti i campi di res.partner.
da notare le particolarità per i campi m2o e m2m (te ne ho messe un paio in grassetto), hai infatti l'id ma anche il campo name sull'oggetto collegato:

[{'comment': False, 'ean13': False, 'property_account_position': [3, 'Regime Intra comunitario'], 'ref_companies': [], 'trend': False, 'deadline_ids': [], 'pricelist_model_id': [1, 'Public Pricelist (EUR)'], 'private': False, 'active': True, 'events': [], 'property_product_pricelist': [1, 'Public Pricelist (EUR)'], 'id': 728, 'meeting_ids': [], 'city': 'XXXYYY (SE)', 'phonecall_ids': [], 'user_id': False, 'title': False, 'company_id': [1, 'XXX s.p.a.'], 'property_account_payable': [88, '250100 debiti v/fornitori '], 'parent_id': False, 'last_reconciliation_date': False, 'debit': 0, 'supplier': False, 'pendent': False, 'ref': '', 'vat': 'SE663000060944', 'website': False, 'lang': 'it_IT', 'bank_ids': [], 'vat_subjected': False, 'child_ids': [], 'section_id': False, 'opportunity_ids': [], 'phone': False, 'credit_limit': 0.0, 'trend_category': True, 'date': False, 'import': 'True', 'property_stock_customer': [9, 'Customers'], 'emails': [], 'category_id': [], 'customer': True, 'property_stock_supplier': [8, 'Suppliers'], 'name': 'XXXYYY', 'property_product_pricelist_purchase': [2, 'Default Purchase Pricelist (EUR)'], 'invoice_ids': [], 'mobile': False, 'debit_limit': 0.0, 'property_account_receivable': [33, '150100 crediti v/clienti '], 'credit': 0, 'contract_ids': [], 'employee': False, 'property_payment_term': False, 'pricelist_analysis_ids': [], 'country': [189, 'Sweden'], 'email': False, 'address': [715, 1022]}]

Se vuoi manipolarli poi devi gestirti tu i dati con gli operatori di liste e stringe...
Ultima modifica: 7 Anni 2 Mesi fa da NicoTheBrush.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:lettura dati tramite XML-RPC 7 Anni 2 Mesi fa #6088

  • IvanB
  • Avatar di IvanB
  • Offline
  • Senior Boarder
  • Messaggi: 63
  • Karma: 0
quello che mi restituisce dei due
print ar
print len(ar)

sono le due righe seguenti:
[{'active': True, 'ref': False, 'name': 'yyyyyy', 'vat': False, 'id': 1}]
1

quando ho tentato di manipolare 'ar' come lista e/o come stringa, mi dava errore;
La lunghezza (len()) me la restituisce a 1.
come vanno manipolate? oppure devo fare un'altro tipo di lettura dei dati?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:lettura dati tramite XML-RPC 7 Anni 2 Mesi fa #6089

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
ok, visto ora il contenuto della stringa
non ho idea di cosa vuoi o perchè ti serva tutto in una stringa, quello che posso dirti è che raggiungi le parti con l'operatore []

es.:
dalla tua:
[{'active': True, 'ref': False, 'name': 'yyyyyy', 'vat': False, 'id': 1}]

ar[0] ritorna il boolean True
ar[0] torna la stringa: 'yyyyyy'
ar[0] torna l'integer 1

normalmente se gli elementi sono più di uno usi il ciclo:

for elemento in ar:
print elemento
Ultima modifica: 7 Anni 2 Mesi fa da NicoTheBrush.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.153 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam