Ejemplo n.º 1
0
def add_question_without_upload(tid, pid="4"):
    mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
    coll = mongo_conn.get_coll("question_coll")
    for i in range(0, 100):
        qid = str(i)
        coll.insert(
            dict(uid="admin",
                 pid=pid,
                 tid=tid,
                 qid=qid,
                 info=dict(name="kuwa"),
                 url=""))
    print("pid: ", pid, "tid: ", tid, "新建题目完成")
Ejemplo n.º 2
0
def tmp_pull_one_question(request):
    print('api:tmp_pull_one_question')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = TmpQuestionForm(request).validate()
        qid = QuestionInfoColl.choose_one_subquestion_by_type(conn=mongo_conn,
                                                              uid=data.uid,
                                                              pid=data.pid,
                                                              tid=data.tid,
                                                              type=data.type)

        question = QuestionColl.one_question(conn=mongo_conn,
                                             uid=data.uid,
                                             pid=data.pid,
                                             tid=data.tid,
                                             qid=qid)
        url, info = question['url'], question['info']
        content = [dict(id="0", info={}, content={"nodes": [], "lines": []})]

    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success(data=dict(uid=data.uid,
                             pid=data.pid,
                             tid=data.tid,
                             qid=qid,
                             url=url,
                             info=info,
                             content=content))
Ejemplo n.º 3
0
def question_info(request):
    print('api:question_info')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = QuestionForm(request).validate()
        question_content = QuestionInfoColl.all_sub_questions(conn=mongo_conn,
                                                              uid=data.uid,
                                                              pid=data.pid,
                                                              tid=data.tid,
                                                              qid=data.qid)

        question = QuestionColl.one_question(conn=mongo_conn,
                                             uid=data.uid,
                                             pid=data.pid,
                                             tid=data.tid,
                                             qid=data.qid)
        url, info = question['url'], question['info']
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success(data=dict(uid=data.uid,
                             pid=data.pid,
                             tid=data.tid,
                             qid=data.qid,
                             url=url,
                             info=info,
                             content=question_content))
Ejemplo n.º 4
0
def update_task(request):
    print('api:update_task')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = TaskUpdateForm(request).validate()
        TaskColl.update_task(conn=mongo_conn, uid=data.uid, info=data.info)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success(data=dict())
Ejemplo n.º 5
0
def delete_label(request):
    print('api:delete_label')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = LabelDeleteForm(request).validate()
        LabelColl.delete_label(conn=mongo_conn, pid=data.pid, lid=data.lid)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success()
Ejemplo n.º 6
0
def add_label(request):
    print('api:add_label')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = LabelAddForm(request).validate()
        new_label = LabelColl.add_label(conn=mongo_conn, pid=data.pid, label=data.label, name=data.name, type=data.type,
                                        options=data.options, level=data.level)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success(data=new_label)
Ejemplo n.º 7
0
def add_project(request):
    print('api:add_project')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = ProjectAddForm(request).validate()
        add_pid = ProjectColl.add_project(conn=mongo_conn,
                                          uid=data.uid,
                                          info=data.info)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success(data=dict(pid=add_pid))
Ejemplo n.º 8
0
def all_tasks(request):
    print('api:all_tasks')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        projects = ProjectColl.all_projects(conn=mongo_conn, uid='admin')
        sets = TaskColl.all_tasks(conn=mongo_conn,
                                  uid='admin',
                                  projects=projects)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success(data=dict(content=sets))
Ejemplo n.º 9
0
def label_list(request):
    print('api:label_list')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        pid = request.GET.get("pid", None)
        if not pid:
            raise ValidationError(msg="pid is required")
        labels = LabelColl.all_labels(conn=mongo_conn, pid=pid)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success(data=dict(content=labels, nums=len(labels)))
Ejemplo n.º 10
0
def add_task(request):
    print('api:all_tasks')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = TaskAddForm(request).validate()
        new_task = TaskColl.add_task(conn=mongo_conn,
                                     uid=data.uid,
                                     info=data.info)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success(
        data=make_dict_from(new_task, 'uid', 'pid', 'tid', 'level', 'status'))
Ejemplo n.º 11
0
def output_main():
    pid = "2"
    conn = MongoDBBase(config=MONGODB_CONFIG)

    annotations = []
    for i in range(2, 203):
        print("====导出", i)
        citems = output(pid, str(i), '', conn)
        annotations += citems
    with open("../static/coco.json", 'r', encoding='utf-8') as f:
        d = json.load(f)
        d['annotations'] = annotations
        with open('output.json', 'w', encoding='utf-8') as f2:
            json.dump(d, f2)
Ejemplo n.º 12
0
def upload_check(request):
    print("api:check")
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = UploadCheckForm(request).validate()
        result = UploadCheckColl.do_check(mongo_conn, data.uid, data.pid,
                                          data.tid, data.content)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success(data=dict(uid=data.uid,
                             pid=data.pid,
                             tid=data.tid,
                             content=result,
                             num=len(result)))
Ejemplo n.º 13
0
def upload_apply(request):
    print('api:apply')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = UploadApplyForm(request).validate()
        result = UploadApplyColl.apply(mongo_conn, data.uid, data.pid,
                                       data.tid, data.info)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success(data=dict(uid=data.uid,
                             pid=data.pid,
                             tid=data.tid,
                             content=result,
                             num=len(result)))
Ejemplo n.º 14
0
def update_question(request):
    print('api:update_question')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = QuestionUpdateForm(request).validate()
        QuestionInfoColl.update_question(conn=mongo_conn,
                                         uid=data.uid,
                                         pid=data.pid,
                                         tid=data.tid,
                                         qid=data.qid,
                                         question_info=data.info,
                                         new_items=data.content)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success()
Ejemplo n.º 15
0
def add_question(request):
    # 没有任何检查重复机制
    print('api:add_question')
    try:
        mongo_conn = MongoDBBase(config=MONGODB_CONFIG)
        data = QuestionAddForm(request).validate()
        QuestionColl.add_question(conn=mongo_conn,
                                  uid=data.uid,
                                  pid=data.pid,
                                  tid=data.tid,
                                  qid=data.qid,
                                  info=data.info,
                                  url=data.url)
    except (CommonError, ValidationError) as e:
        return fail(sc=e.sc, msg=e.msg)
    return success()