def generate_metamodel(options, module): with open(options.filename, 'r') as handle: reader = csv.DictReader(handle) last_model_name = None for line in reader: line = dict_dot_access(trim_vals(line)) _logger.debug(line) model = None if line.model_name == '__openerp__' or (not line.model_name and last_model_name == '__openerp__'): module.add_parameter(line.name, line) last_model_name = '__openerp__' continue if line.model_name and line.model_name != last_model_name: model = module.add_model(line.model_name) last_model_name = line.model_name model.data = line.data elif last_model_name and not line.model_name: model = module.add_model(last_model_name) model.view_configuration = line.views model.description = line.description model.view_description = line.view_description model.inherit = line.inherit model.inherits = line.inherits model.menu = line.menu model.overwrite_create = line.overwrite_create model.overwrite_write = line.overwrite_write field = model.add_field(line.name, line)
def generate_metamodel_security(options, module): with open(options.filename_security, 'r') as handle: reader = csv.DictReader(handle) last_group_name = None for line in reader: line = dict_dot_access(trim_vals(line)) _logger.debug(line) group = None if line.group: group = module.add_group(line.group) last_group_name = line.group elif last_group_name and not line.group: group = module.add_group(last_group_name) try: group.add_inherits(line.group_inherits) except: pass if line.model_name: group.add_acl( line.model_name, line.create, line.read, line.write, line.delete, )
def generate_metamodel_workflow(options, module): with open(options.filename_workflow, 'r') as handle: reader = csv.DictReader(handle) last_model_name = None for line in reader: line = dict_dot_access(trim_vals(line)) _logger.debug(line) model = None if line.model_name: model = module.add_model(line.model_name) last_model_name = line.model_name elif last_model_name and not line.model_name: model = module.add_model(last_model_name) model.add_transition(line)