def set_station(sid): records = get_station() model = 'cr.base.station' print model for rec in records: data = rpc.execute(sid, model,'search', [('cr_base_station_id','=', rec['code'])] ) if data: print 'old:', data[0] continue parent_id = rpc.execute(sid, 'cr.base.part','search', [('cr_base_part_id','=', rec['parent'])] ) if not parent_id: continue parent_id = parent_id[0] vals = { 'cr_base_station_name': rec['name'], 'cr_base_station_id': rec['code'], 'cr_base_part_id': parent_id, } rid = rpc.execute(sid, model,'create', vals ) print 'new:', rid
def find(model, domain, record=None): ids = execute(usid, model, 'search', domain, limit=1) print 'find', model, domain, record, ids if not ids: id = execute(usid, model, 'create', record) print 'create, id=', model, id return id id = ids[0] print 'write, id=', model, id execute(usid, model, 'write', id, record) return id
def set_company(sid): comps = get_company() model = 'cr.base.company' print model for comp in comps: rec = rpc.execute(sid, model,'search', [('cr_base_company_id','=', comp['cr_base_company_id'])] ) if rec: print 'old:', rec[0] continue rid = rpc.execute(sid, model,'create', comp ) print 'new:', rid
def set_location(sid): records = get_location() model = 'cr.base.position' print model station_ids = rpc.execute(sid, 'cr.base.station','search', [] ) def fn( station_id, rec ): data = rpc.execute(sid, model,'search', [ ('cr_base_position_id','=', rec['code']), ('cr_base_station_id','=', station_id), ]) if data: print 'old:', data[0] return vals = { 'cr_base_position_name': rec['name'], 'cr_base_position_id': rec['code'], 'cr_base_station_id': station_id, } rid = rpc.execute(sid, model,'create', vals ) print 'new:', rid for station_id in station_ids: for rec in records: fn(station_id, rec)
def fn( station_id, rec ): data = rpc.execute(sid, model,'search', [ ('cr_base_position_id','=', rec['code']), ('cr_base_station_id','=', station_id), ]) if data: print 'old:', data[0] return vals = { 'cr_base_position_name': rec['name'], 'cr_base_position_id': rec['code'], 'cr_base_station_id': station_id, } rid = rpc.execute(sid, model,'create', vals ) print 'new:', rid
def search_one(model, domain): ids = execute(usid, model, 'search', domain, limit=1) return ids and ids[0] or None