예제 #1
0
파일: views.py 프로젝트: sadams9/IronCat
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})
예제 #2
0
파일: views.py 프로젝트: sadams9/IronCat
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)
예제 #3
0
파일: views.py 프로젝트: sadams9/IronCat
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})
예제 #4
0
파일: views.py 프로젝트: sadams9/IronCat
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})
예제 #5
0
파일: views.py 프로젝트: sadams9/IronCat
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})
예제 #6
0
파일: views.py 프로젝트: sadams9/IronCat
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})
예제 #7
0
파일: views.py 프로젝트: sadams9/IronCat
def save_function(request):
    function = json.loads(request.body.decode())
    result = function_engine.save_function(function)
    return json_success({'result': result})
예제 #8
0
파일: views.py 프로젝트: sadams9/IronCat
def search(request):
    q = request.GET['q']
    results = function_engine.search(q)
    return json_success({'results': results})