# DIC 포토샵, 곰믹스 채점 프로그램 * node version 6 이상 * npm install * npm start or node psdExport.js [xpath테스트웹] : ## 보완 필요한 부분 * scoring.json 파일에서 특정 노드를 이름으로 검색하는 경우 해당 이름이 없거나 오탈자가 있는 경우 * ele2 추가 후 ele 탐색 시 결과 없을때 ele2로 노드의 인덱스 탐색하도록 추가 * PSD 관련해서 좀 더 추가적인 채점이 되도록 기능 개선 * PSD 라이브러리 변경도 생각해볼 것 ### psdExport.js nodejs 기반, scoring.json 파일에 채점기준표 만들어서 채점 1. 지정 폴더 내 PSD 파일 scoring.json 파일 내 1,2 참조해서 채점 -> PSD 파일이 2개 이상 존재 시 채점 오류 발생, 혹은 채점 완료 후 문제 있을 수 있으니 확인 필요 2. 지정 폴더 내 gmep 파일 scoring.json 파일 내 3 참조해서 채점 3. 채점 완료 후 output.xlsx 생성 ### xpathTest.js xpath 테스트 용 ### copyFiles.py 특정 폴더 내에 DIC 답안지를 output 폴더로 시험 유형(1교시: A, 2교시: B, 3교시: C) 별로 구분해서 복사 ### 오류 및 수정 필요 부분 1. (해결) 문제3-9번 자막 위치 설정 '화면 정가운데 아래' 판별 시 자막의 길이에 따라 위치 기준이 바뀜 * 텍스트 유사도 판별을 거치게 되면 정답으로 인정되는 텍스트의 길이도 유동적이므로 위치도 유동적으로 변경되어야 함 * 수정예상방안 : 글자 수 마다 x,y 위치 값 따로 설정하는 방식 * 현재 최소좌표와 최대좌표 사이의 값이면 정답으로 채점되도록 변경 2. .jpg / .psd 채점 파일 예외사항 * 멀티미디어-003256-조은우(A) : 수험번호를 잘못입력한 psd 파일까지 총 4개의 psd파일 존재 * 멀티미디어-003666-최우진(A) : 1번 jpg psd 파일 누락 * 멀티미디어-005647-최영훈(A) : 2번 psd 파일 오류(2번 jpg파일의 확장자만 psd로 변경) * 멀티미디어-003361-장하린(B) : * 멀티미디어-001273-허윤서(C) : 수험번호 없는 psd파일 (멀티미디어_01-허윤서.psd)이 포함 * 멀티미디어-005156-임예지(D) : 1. 1번 파일 누락, 2번 파일만 작성 * 현재 차례대로 읽어 들여 채점 하는 방식 -> 1번 파일이 누락 된 수험자는 2번 파일이 1번 파일로 인식되어 채점 -> 1번 파일이 누락 되어 있으면 건너 뛰고 2번 파일을 채점하도록 수정해야 함 2. 3개 이상 파일이 있는 경우 ![alt text](image.png) * psd 1번, 2번 이후 3번째 psd 파일이 존재 하는 경우 * 프로그램 실행 예상 결과는 scoringResult[] 리스트의 1번 2번 인덱스에 psd가 저장되고 3번에 gmep가 저장되어야 하지만 4개이상의 psd 파일이 있는 경우 scoringResult[4] 위치까지 데이터가 저장됨 * gmep의 채점결과는 scoringResult[3]에 직접 저장하므로 * 결과 예상은 scoringResult[3]까지 저장되어야 하지만 scoringResult[4]에 더미 값이 저장됨 3. [3-15] [3-18] [3-21] 이미지 클립 트렌지션 xpath * 곰믹스-C형-003109-최시아 * [3-18] 이미지2.jpg 클립 트렌지션 [문 열기(앞으로 이동, 재생 시간 : 1.00)] 채점 문항 * '이미지2.jpg'가 비디오트랙에 2개 연속으로 삽입되어 있음 * 첫번째 '이미지2.jpg'의 클립 트렌지션은 채점기준에 부합하게 적용 되어있음 * 두번째 '이미지2.jpg'의 클립 트렌지션은 [3-21]문항에 적용되어야 할 '이미지1.jpg' 클립 트렌지션 [디졸브(앞으로 이동, 재생 시간 : 2.00)] 이 적용되어있음 (오적용 감점대상) * 프로그램 구조상 동일한 이미지가 있을 경우 마지막에 적용된 이미지의 클립 트렌지션을 확인하고 채점 * 현재 결과는 감점 처리 ![alt text](image-1.png) 4. (해결) 곰믹스-B형-000370-김태연 * (3-1) 미디어 소스 순서 : 동영상.mp4 > 이미지2.jpg > 이미지1.jpg > 이미지3.jpg * Type="0" 속성을 필터링 하기 위해서 ```xml ``` * 소스코드 변경 ```javascript const clipIndexes = xpath.select('CRTrackClip[not(@Type="0")]/@ClipIndex', trackListNode); ``` * 이미지2.jpg-이미지 클립길이 * [3-13] 이미지 클립 길이 [5.00] >> json파일 내부 xpath오타 수정 * 이미지1.jpg-클립 트랜지션 * [3-18] 문 열기(앞으로 이동, 재생 시간 : 1.00) ```xml ``` * ClipIndex="2" 인덱스 값은 이미지를 참조하고 있지만 실제로는 더미 태그 >> Type 속성까지 확인하도록 xpath 변경 * 이미지 클립 트랜지션 항목 Range 끝점과 시작점 차이로 길이 계산하도록 변경 5. todo * 자막 위치 검사하는 로직 원복 * 파일 명 split 해서 최대한 채점 파일 추려내기 * 이미지 클립 트랜지션 항목 Range 끝점과 시작점 차이로 길이 계산하도록 변경