def model_exists(model): """ Return True if 'model' is scaffoldable. """ connection = conf_lib.get_server_connection(config) model_model = connection.get_model('ir.model') res = model_model.search_count([('model', '=', model), ('transient', '=', False)]) return res != 0
def list_models(): connection = conf_lib.get_server_connection(config) model_model = connection.get_model('ir.model') models = model_model.search_read([('transient', '=', False), ('model', '!=', '_unknown')], ['model', 'name']) if not models: sys.stdout.write('No model found !') return for m in sorted(models, key=lambda f: f['model']): sys.stdout.write('%s (%s)\n' % (m['model'], m['name']))
def load_fields(): """ Build the model fields list, fetched as defined in the target database. """ global has_tracked_fields global has_computed_fields has_tracked_fields, has_computed_fields = False, False connection = conf_lib.get_server_connection(config) model_fields = connection.get_model('ir.model.fields') field_ids = model_fields.search([('model', '=', model)]) fields = model_fields.read(field_ids) ret = [] for field in fields: f = ModelField(connection, field) has_tracked_fields = has_tracked_fields or f.track_visibility has_computed_fields = has_computed_fields or len(f.compute) > 1 ret.append(f) return ret
# -*- coding: utf-8 -*- import odoolib from odoo_csv_tools.lib import conf_lib from prefix import * from files import * connection = conf_lib.get_server_connection(config_file) def view_xml_id(connection, module, name): data_model = connection.get_model('ir.model.data') data_ids = data_model.search([('module', '=', module), ('name', '=', name)]) records = data_model.read(data_ids, ['model', 'res_id']) if not len(records): print 'Record not found' else: record = records[0] print 'Model: %s Id: %s' % (record['model'], record['res_id']) view_xml_id(connection, HELPDESK_TICKET_PREFIX, '132496')