WIP lookup one model

This commit is contained in:
DiG 2022-01-16 13:44:50 +01:00
parent 97b546337d
commit b6dc5c430f
1 changed files with 33 additions and 2 deletions

View File

@ -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:]) )