def insert_task_group(result, example_img, session_name): if example_img: image_name, h, w = storage.upload_img(s3, example_img, 'example/') else: image_name, h, w = None, 0, 0 if result['kind'] == 'classification': select_list = result['selection_list'] database.db_insert_taskgroup(db, result['name'], result['choose_group'], result['comment'], result['kind'], result['is_activate'], image_name, [h, w], session_name, select_list) else: database.db_insert_taskgroup(db, result['name'], result['choose_group'], result['comment'], result['kind'], result['is_activate'], image_name, [h, w], session_name)
def insert_task_group(result, example_img, session_name): # 이 함수는 task_create 에서만 불리는데 task_create는 login_required 가 들어가 있으므로 session['username']에 값이 반드시 있다. if example_img: image_name, h, w = storage.upload_img(s3, example_img, 'example/') else: image_name, h, w = None, 0, 0 if result['kind'] == 'classification': select_list = result['selection_list'] database.db_insert_taskgroup(db, result['name'], result['choose_group'], result['comment'], result['kind'], result['is_activate'], image_name, [h, w], session_name, select_list) else: database.db_insert_taskgroup(db, result['name'], result['choose_group'], result['comment'], result['kind'], result['is_activate'], image_name, [h, w], session_name)
def Test_New_task(): # request.values {'group_name': 'A', 'kind': 'ocr', 'comment': '어쩌구'} 각 정보 dataset 에 등록 # request.files [파일 여러개] -> 이거는 S3 업로드 if request.method == 'POST': # 요 코드는 postman 에서 테스트 용으로 했을 때 file_list = request.files.getlist('') # 요 코드는 실제 name='file_list' 라고 줬을 때 오는것 # file_list = request.files.getlist('file_list[]') if len(file_list) > 0: success_count = len(file_list) file_fail = [] file_name = [] for file in file_list: filename, H, W = storage.upload_img(s3, file) return "Hello"
def img_upload(): group = database.db_find_group(db) result = {'file_num': 0, 'file_success': [], 'file_fail': [], 'image_group': group} if request.method == 'POST': ''' input upload 에서는 {group: 그룹이름, group_comment: 그룹 설명, gen_user: 만든사람ID} + file_list 를 보내주면 된다. 해당 정보들을 DB에 저장함 output {file_fail: [업로드 실패한 파일 이름], file_num: 업로드 시도하는 파일 갯수 int, file_success: [업로드 성공한 파일이름], image_group: {이미지그룹이름:그룹설명}} ''' # 이미지 여러장 가져오는 것은 files.getlist 파일 하나만 가져오는 것은 files 만 해주면 된다. file_list = request.files.getlist('') # request.files [파일 여러개] -> 이거는 S3 에 이미지 파일 여러개 업로드하는 용 if len(file_list) > 0: try: group_name = request.values['group'] group_comment = request.values['group_comment'] gen_user = session['username'] count = len(file_list) file_fail = [] file_success = [] for file in file_list: filename, H, W = storage.upload_img(s3, file) if filename: database.db_insert_dataset(db, filename, group_name, H, W) file_success.append(filename) else: file_fail.append(file.filename) if len(file_success) > 0: database.db_insert_group(db, group_name, group_comment, gen_user) # 등록에 성공한 그룹 return group = database.db_find_group(db) result = {'file_num': count, 'file_success': file_success, 'file_fail': file_fail, 'image_group': group} except KeyError: return error_handler('이미지 업로드', '이미지 그룹에 대해서 이미지 그룹명과 설명을 적어주세요') else: return error_handler('이미지 업로드', '업로드할 이미지 파일이 없습니다.\n확장자를 확인해주세요.') return result
def img_upload(): # 이미지를 여러장 업로드하여 이미지 그룹을 만드는 api이다. # file_num(총 이미지 개수) file_success(업로드 성공한 파일 이름), file_fail(실패개수)은 사용하지 않지만 추후 사용 가능하다 group = database.db_find_group(db) result = {'file_num': 0, 'file_success': [], 'file_fail': [], 'image_group': group} # 이미지 여러장 가져오는 것은 files.getlist 파일 하나만 가져오는 것은 files 만 해주면 된다. file_list = request.files.getlist('') # request.files [파일 여러개] -> 이거는 S3 에 이미지 파일 여러개 업로드하는 용 if len(file_list) > 0: try: group_name = request.values['group'] group_comment = request.values['group_comment'] gen_user = session['username'] count = len(file_list) file_fail = [] file_success = [] for file in file_list: # s3에 파일을 업로드하면 이름이 고유한 값으로 바뀐다. filename, H, W = storage.upload_img(s3, file) if filename: # 바뀐 이름으로 mondoDB에 이미지 관련 정보 저장 database.db_insert_dataset(db, filename, group_name, H, W) file_success.append(filename) else: file_fail.append(file.filename) if len(file_success) > 0: database.db_insert_group(db, group_name, group_comment, gen_user) # 등록에 성공한 그룹 return group = database.db_find_group(db) result = {'file_num': count, 'file_success': file_success, 'file_fail': file_fail, 'image_group': group} return result except KeyError: return error_handler('이미지 업로드', '이미지 그룹에 대해서 이미지 그룹명과 설명을 적어주세요') else: return error_handler('이미지 업로드', '업로드할 이미지 파일이 없습니다.확장자를 확인해주세요.')