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, "新建题目完成")
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))
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))
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())
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()
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)
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))
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))
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)))
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'))
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)
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)))
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)))
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()
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()