WIP lookup one model
This commit is contained in:
parent
97b546337d
commit
b6dc5c430f
35
odoo-rpc.py
35
odoo-rpc.py
|
@ -213,10 +213,38 @@ def fields( model, domains ):
|
|||
stack = []
|
||||
current_exports = []
|
||||
def json_path( model, id ):
|
||||
return "%s/%s/%s.json" % ( FOLDER, model, id )
|
||||
return "%s/%s.json" % ( FOLDER, muid(model, id) )
|
||||
def muid( model, id ):
|
||||
return "%s/%s" % ( model, id )
|
||||
|
||||
def lookup_model( muid ):
|
||||
eprint( "> Lookup model: %s" % (muid) )
|
||||
_stack = []
|
||||
model, id = string.split( muid, '/' )
|
||||
if MODEL in odoo.env:
|
||||
rfields = rel_fields( model )
|
||||
eprint( rfields )
|
||||
inst = odoo.env[model].browse( id )
|
||||
# data = inst.read()[0]
|
||||
# size = len( json.dumps(data, indent=4) )
|
||||
# filename = json_path( model, inst.id )
|
||||
|
||||
for field in rfields:
|
||||
# if data[field.name]:
|
||||
print( getattr( inst, field.name ) )
|
||||
if getattr( inst, field.name ):
|
||||
if field.ttype == 'many2one':
|
||||
id = data[field.name][0]
|
||||
_stack.append( muid(field.relation, id) )
|
||||
|
||||
if field.ttype == 'one2many':
|
||||
for id in data[field.name]:
|
||||
_stack.append( muid(field.relation, id) )
|
||||
|
||||
return _stack
|
||||
|
||||
def lookup( model, domains ):
|
||||
print( "> Lookup: %s %s" % (model,domains) )
|
||||
eprint( "> Lookup: %s %s" % (model,domains) )
|
||||
if model in MODEL_IGNORE:
|
||||
print( 'IGNORED' )
|
||||
return
|
||||
|
@ -358,6 +386,9 @@ if MODEL in odoo.env:
|
|||
if METHOD == 'lookup':
|
||||
lookup( MODEL, args2domains(PARAMS[2:]) )
|
||||
|
||||
if METHOD == 'lookup_model':
|
||||
lookup_model( MODEL )
|
||||
|
||||
if METHOD == 'export-json':
|
||||
export_json( MODEL, args2domains(PARAMS[2:]) )
|
||||
|
||||
|
|
Loading…
Reference in New Issue