def build_get_single_ctrl(query, args_names, field_names): """ Create optimized controller. """ codes = [ opcode.opmap['LOAD_GLOBAL'], 0, 0, opcode.opmap['LOAD_CONST'], 1, 0 ] for i in range(len(args_names)): codes.extend((opcode.opmap['LOAD_FAST'], i, 0)) codes.extend(( opcode.opmap['BUILD_TUPLE'], len(args_names), 0, opcode.opmap['CALL_FUNCTION'], 2, 0, opcode.opmap['LOAD_ATTR'], 1, 0, opcode.opmap['CALL_FUNCTION'], 0, 0, opcode.opmap['STORE_FAST'], len(args_names), 0, # store to 'values' opcode.opmap['LOAD_FAST'], len(args_names), 0, # load from 'values' opcode.opmap['LOAD_CONST'], 0, 0, opcode.opmap['COMPARE_OP'], 8, 0, opcode.opmap['POP_JUMP_IF_FALSE'], len(args_names) * 3 + 37, 0, opcode.opmap['LOAD_FAST'], len(args_names), 0, opcode.opmap['RETURN_VALUE'], opcode.opmap['LOAD_GLOBAL'], 2, 0, # (dict) opcode.opmap['LOAD_GLOBAL'], 3, 0, # (zip) opcode.opmap['LOAD_CONST'], 2, 0, opcode.opmap['LOAD_FAST'], len(args_names), 0, # load from 'values' opcode.opmap['CALL_FUNCTION'], 2, 0, opcode.opmap['CALL_FUNCTION'], 1, 0, opcode.opmap['RETURN_VALUE'], )) ctrl = FunctionType( CodeType( len(args_names), # argcount 0, # kwonlyargcount len(args_names) + 1, # + nb var used 7, # stacksize 67, # flags bytes(codes), # codestring (None, query, field_names), # constants ('sql_execute', 'fetchone', 'dict', 'zip'), # names tuple(args_names) + ('values',), # varnames + var used __file__, # filename 'ctrl', # name 0, # firstlineno b'\x00\x01\x1b\x01\x0c\x01\x04\x01' # lnotab ), {'dict': dict, 'zip': zip, 'sql_execute': MetaResource.db.execute} ) ctrl.single = True ctrl.optimizable = True return ctrl