def get_function(request): if 'name' in request.GET: name = request.GET['name'] function = function_engine.get_function(name) return json_success({'function': function}) elif 'id' in request.GET: function_id = request.GET['id'] results = function_engine.get_function_by_id(function_id) return json_success({'results': results})
def evaluate(request): function_name = request.GET['function'] inputs_str = request.GET['inputs'] inputs = function_engine.deserialize(inputs_str) result = function_engine.evaluate_function(function_name, inputs) return json_success(result)
def search_functions(request): q = request.GET['q'] function_query = get_query(q, ['name', 'description']) tag_query = get_query(q, ['name']) functions = Function.objects.filter(function_query) for tag in Tag.objects.filter(tag_query): functions += tag.functions return json_success({'results': functions})
def create_node(request): containing_function_id = request.POST['containingFunctionId'] inner_function_id = request.POST['innerFunctionId'] name = request.POST['name'] if 'name' in request.POST else None inner_function = Function.objects.get(id=inner_function_id) input_values_json = request.POST['defaultInputs']\ if 'defaultInputs' in request.POST else json.dumps([None] * inner_function.input_count) node = Node(name=name, containing_function_id=containing_function_id, inner_function_id=inner_function_id, input_values_json=input_values_json) node.save() return json_success({'id': node.id})
def create_wire(request): source_node_id = request.POST['sourceNodeId'] if 'sourceNodeId' in request.POST else None target_node_id = request.POST['targetNodeId'] if 'targetNodeId' in request.POST else None source_pin = request.POST['sourcePin'] if 'sourcePin' in request.POST else None target_pin = request.POST['targetPin'] if 'targetPin' in request.POST else None # See if wire already exists. try: wire = Wire.objects.get(source_node_id=source_node_id or None, target_node_id=target_node_id or None, source_pin=source_pin, target_pin=target_pin) except Wire.DoesNotExist: wire = Wire(source_node_id=source_node_id or None, target_node_id=target_node_id or None, source_pin=source_pin, target_pin=target_pin) wire.save() return json_success({'id': wire.id})
def create_function(request): name = request.POST['name'] description = request.POST['description'] if 'description' in request.POST else '' input_types_json = json.dumps(request.POST['input_types' + '[]']) output_types_json = json.dumps(request.POST['output_types' + '[]']) if not Function.objects.filter(name=name, description=description, input_types_json=input_types_json, output_types_json=output_types_json, primitive=False).exists(): function = Function(name=name, description=description, input_types_json=input_types_json, output_types_json=output_types_json, primitive=False) function.save() else: function = Function.objects.get(name=name, description=description, input_types_json=input_types_json, output_types_json=output_types_json, primitive=False) return json_success({'id': function.id})
def save_function(request): function = json.loads(request.body.decode()) result = function_engine.save_function(function) return json_success({'result': result})
def search(request): q = request.GET['q'] results = function_engine.search(q) return json_success({'results': results})