diff --git a/01_copy_files.py b/01_copy_files.py index a02fcea..f3c81e8 100644 --- a/01_copy_files.py +++ b/01_copy_files.py @@ -49,11 +49,11 @@ def copy_ent_files(source_root, target_root): # source_directory = r"D:\project\data\CAS_제2510회 정기\제2510회 코딩활용능력 2급 정기 답안파일" # 원본 디렉토리 경로 -exam_name = "2602_CAS_2_A" +exam_name = "2603_CAT_3_A" # exam_name = "2602_6_CAS_2_B" # source_directory = r"D:\project\data\CAT_제2511회 정기\답안파일" # 원본 디렉토리 경로 -source_directory = r"D:\project\data\제2602회 수시3_CAS(대구)\답안파일" # 원본 디렉토리 경로 +source_directory = r"D:\project\data\제2603회 정기\답안파일\과목별답안파일" # 원본 디렉토리 경로 target_directory = rf".\ent\{exam_name}" # 타겟 디렉토리 경로 copy_ent_files(source_directory, target_directory) diff --git a/01_copy_files_answer.py b/01_copy_files_answer.py new file mode 100644 index 0000000..8800564 --- /dev/null +++ b/01_copy_files_answer.py @@ -0,0 +1,45 @@ +import os +import shutil + +# ── 설정 ──────────────────────────────────────────────────────────────── +exam_round = "2603" + +source_dir = rf"D:\project\Entry\Entry-Scoring\시험자료\{exam_round}" +output_base = r"ent" + +# 급수 → 코드 매핑 +grade_code_map = { + "3급": "CAT_3", + "2급": "CAS_2", +} + +grades = ["3급", "2급"] +types = ["A", "B", "C"] + +# ── 복사 실행 ──────────────────────────────────────────────────────────── +for grade in grades: + grade_code = grade_code_map[grade] + + for type in types: + # 원본 파일명 고정 + src_filename = f"제{exam_round}회 코딩활용능력 {grade} {type}형 정답.ent" + src_path = os.path.join(source_dir, src_filename) + + if not os.path.exists(src_path): + print(f"[WARN] 파일 없음: {src_path}") + continue + + # exam_name: 2603_CAT_3_A + exam_name = f"{exam_round}_{grade_code}_{type}" + + # 대상 경로: ent\2603_CAT_3_A + dst_folder = os.path.join(output_base, exam_name) + os.makedirs(dst_folder, exist_ok=True) + + # 변경된 파일명: 2603_CAT_3_A_정답.ent + dst_filename = f"{exam_name}_정답.ent" + dst_path = os.path.join(dst_folder, dst_filename) + shutil.copy2(src_path, dst_path) + print(f"[OK] 복사 완료: {src_path} → {dst_path}") + +print("\n전체 처리 완료.") \ No newline at end of file diff --git a/02_extract_project_json.py b/02_extract_project_json.py index 4d1967f..151506b 100644 --- a/02_extract_project_json.py +++ b/02_extract_project_json.py @@ -50,7 +50,7 @@ def process_ent_files(ent_dir, output_dir): # 실행 예 if __name__ == "__main__": - exam_names = ["2602_CAS_2_A"] + exam_names = ["2603_CAT_3_A"] # exam_names = ["2512_CAS_2_A", "2512_CAS_2_B"] for exam_name in exam_names: ent_dir = f".\\ent\\{exam_name}" diff --git a/260401_2603_CAT_3_A_채점결과.xlsx b/260401_2603_CAT_3_A_채점결과.xlsx new file mode 100644 index 0000000..c3b52c4 Binary files /dev/null and b/260401_2603_CAT_3_A_채점결과.xlsx differ diff --git a/260402_2603_CAT_3_A_채점결과.xlsx b/260402_2603_CAT_3_A_채점결과.xlsx new file mode 100644 index 0000000..3fa4e9a Binary files /dev/null and b/260402_2603_CAT_3_A_채점결과.xlsx differ diff --git a/correct/2603_CAT_3_A.json b/correct/2603_CAT_3_A.json new file mode 100644 index 0000000..c85625b --- /dev/null +++ b/correct/2603_CAT_3_A.json @@ -0,0 +1,604 @@ +{ + "1-1": { + "type": "scene", + "ele": "$..objects[?(@.name=='들판')]", + "point": 2, + "desc": "문제 1/들판(1)/[배경] 이름 설정/이름을 '들판'으로 변경하기", + "sort": 11 + }, + "1-3": { + "type": "scene", + "ele": "$..objects[?(@.name=='구름')]", + "point": 2, + "desc": "문제 1/구름(1)/[개체] 이름 설정 1/이름을 '구름'으로 변경하기", + "sort": 13 + }, + "1-4": { + "type": "scene", + "ele": "$..objects[?(@.name=='새')]", + "point": 2, + "desc": "문제 1/독수리(2)/[개체] 이름 설정 2/이름을 '새'로 변경하기", + "sort": 14 + }, + "1-5": { + "type": "scene", + "ele": "$..objects[?(@.name=='배터리')]", + "point": 2, + "desc": "문제 1/건전지(2)/[개체] 이름 설정 3/이름을 '배터리'로 변경하기", + "sort": 15 + }, + "1-6": { + "type": "scene", + "ele": "$..objects[?(@.name=='드론')]", + "point": 2, + "desc": "문제 1/드론(1)/[개체] 이름 설정 4/이름을 '드론'으로 변경하기", + "sort": 16 + }, + "2-0": { + "type": "script", + "ele": "$.objects[?(@.name=~'구름')].script", + "blocks": [ + { + "ele": "$[0][0].type", + "answer": "when_run_button_click", + "point": 2.14, + "desc": "문제 2/구름/시작/시작하기 버튼을 클릭했을 때" + }, + { + "ele": [ + "$[0][1].type", + "$[0][1].params[0].params[0]", + "$[0][1].params[1].params[0]" + ], + "answer": [ + "locate_xy", + "70", + "130" + ], + "point": 2.14, + "desc": "문제 2/구름/[시작]의 세부 동작 1/x: '70' y: '130' 위치로 이동하기", + "type": "list" + }, + { + "ele": [ + "$[0][2].type", + "$[0][2].params[0].params[0]" + ], + "answer": [ + "set_scale_size", + "140" + ], + "point": 2.14, + "desc": "문제 2/구름/[시작]의 세부 동작 2/크기를 '140' 으로 정하기", + "type": "list" + }, + { + "ele": [ + "$[0][3].type", + "$[0][3].params[0]" + ], + "answer": [ + "repeat_inf", + null + ], + "point": 2.14, + "desc": "문제 2/구름/반복/계속 반복하기", + "type": "list" + }, + { + "ele": "$[0][3].statements[0][0].params[0]", + "answer": "next", + "point": 2.14, + "desc": "문제 2/구름/[반복]의 세부 동작 1/'다음' 모양으로 바꾸기" + }, + { + "ele": [ + "$[0][3].statements[0][1].type", + "$[0][3].statements[0][1].params[0].params[0]" + ], + "answer": [ + "wait_second", + "2" + ], + "point": 2.14, + "desc": "문제 2/구름/[반복]의 세부 동작 2/'2' 초 기다리기", + "type": "list" + }, + { + "ele": [ + "$[0][3].statements[0][2].type", + "$[0][3].statements[0][2].params[0].params[0]" + ], + "answer": [ + "move_direction", + "2" + ], + "point": 2.14, + "desc": "문제 2/구름/[반복]의 세부 동작 3/이동 방향으로 '2' 만큼 움직이기", + "type": "list" + } + ], + "sortBlock": [ + "when_run_button_click" + ], + "sort": 102 + }, + "3-0": { + "type": "script", + "ele": "$.objects[?(@.name=~'새|독수리')].script", + "blocks": [ + { + "ele": "$[0][0].type", + "answer": "when_run_button_click", + "point": 2.14, + "desc": "문제 2/새/시작/시작하기 버튼을 클릭했을 때" + }, + { + "ele": [ + "$[0][1].type", + "$[0][1].params[0].params[0]" + ], + "answer": [ + "set_scale_size", + "70" + ], + "point": 2.14, + "desc": "문제 2/새/[시작]의 세부 동작/크기를 '70' 으로 정하기", + "type": "list" + }, + { + "ele": [ + "$[0][2].type", + "$[0][2].params[0]" + ], + "answer": [ + "repeat_inf", + null + ], + "point": 2.14, + "desc": "문제 2/새/반복 1/계속 반복하기", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][0].type", + "$[0][2].statements[0][0].params[0].params[0]", + "$[0][2].statements[0][0].params[1].params[1].params[0]", + "$[0][2].statements[0][0].params[1].params[3].params[0]" + ], + "answer": [ + "locate_xy", + "-260", + "90", + "105" + ], + "point": 2.14, + "desc": "문제 2/새/[반복 1]의 세부 동작/x: '-260' y: '90 부터 105 사이의 무작위 수' 위치로 이동하기", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][1].type", + "$[0][2].statements[0][1].params[0].params[0].params[3]", + "$[0][2].statements[0][1].params[0].params[1]", + "$[0][2].statements[0][1].params[0].params[2].params[0]" + ], + "answer": [ + "repeat_while_true", + "x", + "EQUAL", + "240" + ], + "point": 2.14, + "desc": "문제 2/새/반복 2/'자신' 의 'x 좌푯값' = '240' '이 될 때까지' 반복하기", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][1].statements[0][0].type", + "$[0][2].statements[0][1].statements[0][0].params[0].params[0]" + ], + "answer": [ + "move_x", + "5" + ], + "point": 2.14, + "desc": "문제 2/새/[반복 2]의 세부 동작 1/x 좌표를 '5' 만큼 바꾸기", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][1].statements[0][1].type", + "$[0][2].statements[0][1].statements[0][1].params[0].params[0]" + ], + "answer": [ + "move_y", + "0.2" + ], + "point": 2.14, + "desc": "문제 2/새/[반복 2]의 세부 동작 2/y 좌표를 '0.2' 만큼 바꾸기", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][1].statements[0][2].type", + "$[0][2].statements[0][1].statements[0][2].params[0].type" + ], + "answer": [ + "_if", + "reach_something" + ], + "point": 2.14, + "desc": "문제 2/새/만일/만일 '드론' 에 닿았는가? 라면", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][1].statements[0][2].statements[0][0].type", + "$[0][2].statements[0][1].statements[0][2].statements[0][0].params[0]", + "$[0][2].statements[0][1].statements[0][2].statements[0][0].params[1].params[0]" + ], + "answer": [ + "add_effect_amount", + "transparency", + "50" + ], + "point": 2.14, + "desc": "문제 2/새/[만일]의 세부 동작 1/'투명도' 효과를 '50' 만큼 주기", + "type": "list" + }, + { + "ele": "$[0][2].statements[0][1].statements[0][2].statements[0][1].params[*].params", + "answer": [ + "위험해!", + "1" + ], + "point": 2.14, + "desc": "문제 2/새/[만일]의 세부 동작 2/'위험해!' 를 '1' 초 동안 '말하기'" + }, + { + "ele": [ + "$[0][2].statements[0][1].statements[0][2].statements[0][2].type", + "$[0][2].statements[0][1].statements[0][2].statements[0][2].params[0].params[0]" + ], + "answer": [ + "wait_second", + "0.1" + ], + "point": 2.14, + "desc": "문제 2/새/[만일]의 세부 동작 3/'0.1' 초 기다리기", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][1].statements[0][2].statements[0][3].type", + "$[0][2].statements[0][1].statements[0][2].statements[0][3].params[0]", + "$[0][2].statements[0][1].statements[0][2].statements[0][3].params[1].params[0]" + ], + "answer": [ + "change_effect_amount", + "transparency", + "0" + ], + "point": 2.14, + "desc": "문제 2/새/[만일]의 세부 동작 4/'투명도' 효과를 '0' 으로 정하기", + "type": "list" + } + ], + "sortBlock": [ + "when_run_button_click" + ], + "sort": 109 + }, + "4-0": { + "type": "script", + "ele": "$.objects[?(@.name=~'배터리|건전지')].script", + "blocks": [ + { + "ele": "$[0][0].type", + "answer": "when_run_button_click", + "point": 2.14, + "desc": "문제 2/배터리/시작/시작하기 버튼을 클릭했을 때" + }, + { + "ele": [ + "$[0][1].type", + "$[0][1].params[0].params[0]" + ], + "answer": [ + "set_scale_size", + "50" + ], + "point": 2.14, + "desc": "문제 2/배터리/[시작]의 세부 동작 1/크기를 '50' 으로 정하기", + "type": "list" + }, + { + "ele": [ + "$[0][2].type", + "$[0][2].params[0].params[0]" + ], + "answer": [ + "rotate_absolute", + "270" + ], + "point": 2.14, + "desc": "문제 2/배터리/[시작]의 세부 동작 2/방향을 '270°' 로 정하기", + "type": "list" + }, + { + "ele": [ + "$[0][3].type", + "$[0][3].params[0]" + ], + "answer": [ + "repeat_inf", + null + ], + "point": 2.14, + "desc": "문제 2/배터리/반복/계속 반복하기", + "type": "list" + }, + { + "ele": [ + "$[0][3].statements[0][0].type", + "$[0][3].statements[0][0].params[0].params[1].params[0]", + "$[0][3].statements[0][0].params[0].params[3].params[0]", + "$[0][3].statements[0][0].params[1].params[1].params[0]", + "$[0][3].statements[0][0].params[1].params[3].params[0]" + ], + "answer": [ + "locate_xy", + "-200", + "200", + "-50", + "120" + ], + "point": 2.14, + "desc": "문제 2/배터리/[반복]의 세부 동작 1/x: '-200 부터 200 사이의 무작위 수' y: '-50 부터 120 사이의 무작위 수' 위치로 이동하기", + "type": "list" + }, + { + "ele": "$[0][3].statements[0][1].type", + "answer": "show", + "point": 2.14, + "desc": "문제 2/배터리/[반복]의 세부 동작 2/모양 보이기" + }, + { + "ele": [ + "$[0][3].statements[0][2].type", + "$[0][3].statements[0][2].params[0].type" + ], + "answer": [ + "wait_until_true", + "reach_something" + ], + "point": 2.14, + "desc": "문제 2/배터리/[반복]의 세부 동작 3/'드론' 에 닿았는가? 가 될 때까지 기다리기", + "type": "list" + }, + { + "ele": [ + "$[0][3].statements[0][3].type", + "$[0][3].statements[0][3].params[0]", + "$[0][3].statements[0][3].params[1].params[0]" + ], + "answer": [ + "add_effect_amount", + "brightness", + "50" + ], + "point": 2.14, + "desc": "문제 2/배터리/[반복]의 세부 동작 4/'밝기' 효과를 '50' 만큼 주기", + "type": "list" + }, + { + "ele": "$[0][3].statements[0][4].params[*].params", + "answer": [ + "충전완료!", + "1" + ], + "point": 2.14, + "desc": "문제 2/배터리/[반복]의 세부 동작 5/'충전완료!' 를 '1' 초 동안 '말하기'" + }, + { + "ele": "$[0][3].statements[0][5].type", + "answer": "hide", + "point": 2.14, + "desc": "문제 2/배터리/[반복]의 세부 동작 6/모양 숨기기" + }, + { + "ele": [ + "$[0][3].statements[0][6].type", + "$[0][3].statements[0][6].params[0].type", + "$[0][3].statements[0][6].params[0].params[1].params[0]", + "$[0][3].statements[0][6].params[0].params[3].params[0]" + ], + "answer": [ + "wait_second", + "calc_rand", + "1", + "2" + ], + "point": 2.14, + "desc": "문제 2/배터리/[반복]의 세부 동작 7/'1 부터 2 사이의 무작위 수' 초 기다리기", + "type": "list" + }, + { + "ele": [ + "$[0][3].statements[0][7].type", + "$[0][3].statements[0][7].params[0]", + "$[0][3].statements[0][7].params[1].params[0]" + ], + "answer": [ + "change_effect_amount", + "brightness", + "0" + ], + "point": 2.14, + "desc": "문제 2/배터리/[반복]의 세부 동작 8/'밝기' 효과를 '0' 으로 정하기", + "type": "list" + } + ], + "sortBlock": [ + "when_run_button_click" + ], + "sort": 121 + }, + "5-0": { + "type": "script", + "ele": "$.objects[?(@.name=~'드론')].script", + "blocks": [ + { + "ele": "$[0][0].type", + "answer": "when_run_button_click", + "point": 2.14, + "desc": "문제 2/드론/시작/시작하기 버튼을 클릭했을 때" + }, + { + "ele": [ + "$[0][1].type", + "$[0][1].params[0].params[0]", + "$[0][1].params[1].params[0]" + ], + "answer": [ + "locate_xy", + "160", + "85" + ], + "point": 2.14, + "desc": "문제 2/드론/[시작]의 세부 동작 1/x: '160' y: '85' 위치로 이동하기", + "type": "list" + }, + { + "ele": [ + "$[0][2].type", + "$[0][2].params[0]" + ], + "answer": [ + "repeat_inf", + null + ], + "point": 2.14, + "desc": "문제 2/드론/반복/계속 반복하기", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][0].type", + "$[0][2].statements[0][0].params[0].type", + "$[0][2].statements[0][0].params[0].params[0]" + ], + "answer": [ + "_if", + "is_press_some_key", + "38" + ], + "point": 2.14, + "desc": "문제 2/드론/만일 1/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][0].statements[0][0].type", + "$[0][2].statements[0][0].statements[0][0].params[0].params[0]" + ], + "answer": [ + "move_y", + "5" + ], + "point": 2.14, + "desc": "문제 2/드론/[만일 1]의 세부 동작/y 좌표를 '5' 만큼 바꾸기", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][1].type", + "$[0][2].statements[0][1].params[0].type", + "$[0][2].statements[0][1].params[0].params[0]" + ], + "answer": [ + "_if", + "is_press_some_key", + "40" + ], + "point": 2.14, + "desc": "문제 2/드론/만일 2/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][1].statements[0][0].type", + "$[0][2].statements[0][1].statements[0][0].params[0].params[0]" + ], + "answer": [ + "move_y", + "-5" + ], + "point": 2.14, + "desc": "문제 2/드론/[만일 2]의 세부 동작/y 좌표를 '-5' 만큼 바꾸기", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][2].type", + "$[0][2].statements[0][2].params[0].type", + "$[0][2].statements[0][2].params[0].params[0]" + ], + "answer": [ + "_if", + "is_press_some_key", + "37" + ], + "point": 2.14, + "desc": "문제 2/드론/만일 3/만일 '왼쪽 화살표' 키가 눌러져 있는가? 라면", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][2].statements[0][0].type", + "$[0][2].statements[0][2].statements[0][0].params[0].params[0]" + ], + "answer": [ + "move_x", + "-5" + ], + "point": 2.14, + "desc": "문제 2/드론/[만일 3]의 세부 동작/x 좌표를 '-5' 만큼 바꾸기", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][3].type", + "$[0][2].statements[0][3].params[0].type", + "$[0][2].statements[0][3].params[0].params[0]" + ], + "answer": [ + "_if", + "is_press_some_key", + "39" + ], + "point": 2.14, + "desc": "문제 2/드론/만일 4/만일 '오른쪽 화살표' 키가 눌러져 있는가? 라면", + "type": "list" + }, + { + "ele": [ + "$[0][2].statements[0][3].statements[0][0].type", + "$[0][2].statements[0][3].statements[0][0].params[0].params[0]" + ], + "answer": [ + "move_x", + "5" + ], + "point": 2.14, + "desc": "문제 2/드론/[만일 4]의 세부 동작/x 좌표를 '5' 만큼 바꾸기", + "type": "list" + } + ], + "sortBlock": [ + "when_run_button_click" + ], + "sort": 133 + } +} \ No newline at end of file diff --git a/logs/cat.log b/logs/cat.log index f9d1911..464ea75 100644 --- a/logs/cat.log +++ b/logs/cat.log @@ -4275,3 +4275,3301 @@ Traceback (most recent call last): File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 77, in p_error raise JsonPathParserError('Parse error near the end of string!') jsonpath_ng.exceptions.JsonPathParserError: Parse error near the end of string! +[2026-04-01 15:08:43] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:43] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000001-김나래\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:44] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000002-박주성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:45] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000005-김민성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:45] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000006-서규영\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:46] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000008-박혜선\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:47] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000011-김하준\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:47] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000017-임채령\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:48] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000018-이종후\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:49] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000020-신태희\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:49] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000021-박태서\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:50] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000022-김현진\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:50] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000023-신태민\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:51] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000028-홍여람\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:08:52] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000029-강유찬\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:41] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:42] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000001-김나래\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:43] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000002-박주성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:43] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000005-김민성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:44] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000006-서규영\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:45] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000008-박혜선\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:45] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000011-김하준\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:46] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000017-임채령\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:46] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000018-이종후\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:47] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000020-신태희\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:48] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000021-박태서\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:48] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000022-김현진\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:49] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000023-신태민\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:49] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000028-홍여람\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:18:50] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000029-강유찬\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:23:46] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:25:45] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:40] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:41] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000001-김나래\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:41] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000002-박주성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:42] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000005-김민성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:43] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000006-서규영\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:44] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000008-박혜선\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:45] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000011-김하준\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:46] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000017-임채령\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:47] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000018-이종후\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:48] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000020-신태희\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:49] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000021-박태서\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:50] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000022-김현진\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:52] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000023-신태민\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:53] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000028-홍여람\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:28:54] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000029-강유찬\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:13] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:14] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000001-김나래\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:15] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000002-박주성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:16] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000005-김민성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:17] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000006-서규영\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:18] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000008-박혜선\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:19] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000011-김하준\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:20] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000017-임채령\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:21] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000018-이종후\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:22] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000020-신태희\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:23] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000021-박태서\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:24] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000022-김현진\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:26] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000023-신태민\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:27] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000028-홍여람\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:30:28] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/test\CAT-000029-강유찬\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:31:02] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:18] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:19] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000001-김나래\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:20] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000002-박주성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:21] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000005-김민성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:22] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000006-서규영\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:23] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000008-박혜선\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:24] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000011-김하준\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:25] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000017-임채령\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:26] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000018-이종후\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:27] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000020-신태희\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:28] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000021-박태서\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:29] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000022-김현진\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:30] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000023-신태민\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:31] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000028-홍여람\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:32] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000029-강유찬\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:33:46] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:34:28] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:11] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:12] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000001-김나래\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:13] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000002-박주성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:14] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000005-김민성\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:15] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000006-서규영\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:16] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000008-박혜선\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:17] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000011-김하준\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:18] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000017-임채령\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:19] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000018-이종후\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:20] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000020-신태희\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:21] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000021-박태서\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:22] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000022-김현진\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:23] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000023-신태민\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:24] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000028-홍여람\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:25] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/CAT-000029-강유찬\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:35:50] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string +[2026-04-01 15:37:49] [ERROR] [main:427] 🚫Error processing ./output/2603_CAT_3_A/2603_CAT_3_A_정답\project.json: Expected a string +Traceback (most recent call last): + File "D:\project\Entry\Entry-Scoring\main.py", line 422, in main + points = process_project(project_data, scoring_data) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 296, in process_project + block_elements = find_element(single_script, block_path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "D:\project\Entry\Entry-Scoring\main.py", line 29, in find_element + parsed_expr = parse(jsonpath_expr) + ^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\ext\parser.py", line 176, in parse + return ExtentedJsonPathParser(debug=debug).parse(path) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 58, in parse + return self.parse_token_stream(lexer.tokenize(string)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 61, in parse_token_stream + return self.parser.parse(lexer = IteratorToTokenStream(token_iterator)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 333, in parse + return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\yacc.py", line 1063, in parseopt_notrack + lookahead = get_token() # Get the next token + ^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\parser.py", line 197, in token + return next(self.iterator) + ^^^^^^^^^^^^^^^^^^^ + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\jsonpath_ng\lexer.py", line 29, in tokenize + new_lexer.input(string) + File "d:\project\Entry\Entry-Scoring\.venv\Lib\site-packages\ply\lex.py", line 255, in input + raise ValueError('Expected a string') +ValueError: Expected a string diff --git a/main.py b/main.py index 899dbb8..eeb3ae1 100644 --- a/main.py +++ b/main.py @@ -356,8 +356,8 @@ def main(): test_mode = False # 일반 채점 모드 # test_mode = True # 테스트 모드 - exam_round = "2602" - exam_names = ["CAS_2_A"] # 여러 시험명을 리스트로 설정 + exam_round = "2603" + exam_names = ["CAT_3_A"] # 여러 시험명을 리스트로 설정 # exam_names = ["CAS_2_A", "CAS_2_B"] # 여러 시험명을 리스트로 설정 excel_list = [] diff --git a/시험자료/2603/제2603회 코딩활용능력 3급 A형 문제.hwp b/시험자료/2603/제2603회 코딩활용능력 3급 A형 문제.hwp new file mode 100644 index 0000000..9aa6fd7 Binary files /dev/null and b/시험자료/2603/제2603회 코딩활용능력 3급 A형 문제.hwp differ diff --git a/시험자료/2603/제2603회 코딩활용능력 3급 A형 정답.ent b/시험자료/2603/제2603회 코딩활용능력 3급 A형 정답.ent new file mode 100644 index 0000000..a99178e Binary files /dev/null and b/시험자료/2603/제2603회 코딩활용능력 3급 A형 정답.ent differ diff --git a/시험자료/2603/제2603회 코딩활용능력 3급 A형 채점기준표.xlsx b/시험자료/2603/제2603회 코딩활용능력 3급 A형 채점기준표.xlsx new file mode 100644 index 0000000..932ec94 Binary files /dev/null and b/시험자료/2603/제2603회 코딩활용능력 3급 A형 채점기준표.xlsx differ