2505회 채점기준표 / 채점자료 추가 / xapth전처리 코드수정
This commit is contained in:
@@ -11,12 +11,12 @@ const getGpdpScore = require('./gpdpScoring.js');
|
||||
const getToday = require('./getToday.js');
|
||||
const todayDate = getToday();
|
||||
|
||||
const examRound = '2504';
|
||||
// const dic_or_dpi = 'DIC'
|
||||
const dic_or_dpi = 'DPI'
|
||||
const examRound = '2505';
|
||||
const dic_or_dpi = 'DIC'
|
||||
// const dic_or_dpi = 'DPI'
|
||||
const examTypes = [
|
||||
// 'A',
|
||||
'B',
|
||||
'A',
|
||||
// 'B',
|
||||
// 'C',
|
||||
// 'D'
|
||||
];
|
||||
@@ -191,6 +191,8 @@ function getGmepScore(gmepData, scoringJson, index) {
|
||||
const videoStartTime = scoringData.videoStartTime;
|
||||
const openingStartTime = scoringData.openingStartTime;
|
||||
|
||||
const image = scoringData[key].image;
|
||||
|
||||
console.log(`example number: ${key}`)
|
||||
|
||||
// xpath 전처리
|
||||
@@ -199,13 +201,24 @@ function getGmepScore(gmepData, scoringJson, index) {
|
||||
const clipIndex = getClipIndexBySubtitle(gmepXmlDoc, search);
|
||||
// const subtitleOrder = type === 'video' ? 2 : type === 'opening' ? 1 : null;
|
||||
// 2503회 문제오류 처리를 위한 임시 변경
|
||||
const subtitleOrder = (type === 'video' || type === 'videoIsExist') ? 2 : (type === 'opening' ? 1 : null);
|
||||
const subtitleOrder = type === 'video' ? 2 : type === 'opening' ? 1 : null;
|
||||
const startTime = type === 'video' ? videoStartTime : type === 'opening' ? openingStartTime : null;
|
||||
|
||||
[ele, ele2, ele3] = [ele, ele2, ele3].map(e => e?.replace(/{subtitleIndex}/g, subtitleIndex));
|
||||
[ele, ele2, ele3] = [ele, ele2, ele3].map(e => e?.replace(/{subtitleOrder}/g, subtitleOrder));
|
||||
[ele, ele2, ele3] = [ele, ele2, ele3].map(e => e?.replace(/{startTime}/g, startTime));
|
||||
[ele, ele2, ele3] = [ele, ele2, ele3].map(e => e?.replace(/{clipIndex}/g, clipIndex));
|
||||
let xpathList = [ele, ele2, ele3, existEle];
|
||||
xpathList = xpathList.map(e => e?e
|
||||
.replace(/{subtitleIndex}/g, subtitleIndex)
|
||||
.replace(/{subtitleOrder}/g, subtitleOrder)
|
||||
.replace(/{startTime}/g, startTime)
|
||||
.replace(/{clipIndex}/g, clipIndex)
|
||||
.replace(/{image}/g, image)
|
||||
:e
|
||||
);
|
||||
[ele, ele2, ele3, existEle] = xpathList;
|
||||
|
||||
// [ele, ele2, ele3] = [ele, ele2, ele3].map(e => e?.replace(/{subtitleIndex}/g, subtitleIndex));
|
||||
// [ele, ele2, ele3] = [ele, ele2, ele3].map(e => e?.replace(/{subtitleOrder}/g, subtitleOrder));
|
||||
// [ele, ele2, ele3] = [ele, ele2, ele3].map(e => e?.replace(/{startTime}/g, startTime));
|
||||
// [ele, ele2, ele3] = [ele, ele2, ele3].map(e => e?.replace(/{clipIndex}/g, clipIndex));
|
||||
|
||||
// search 값이 undefined 아니면 ele의 {search}부분을 search로 치환
|
||||
/**
|
||||
@@ -511,23 +524,6 @@ function getGmepScore(gmepData, scoringJson, index) {
|
||||
scoringResult[key] = 0;
|
||||
}
|
||||
}
|
||||
else if (type == "videoIsExist") {
|
||||
const result = ele ? xpath.select(ele, gmepXmlDoc) : [];
|
||||
const result2 = ele2 ? xpath.select(ele2, gmepXmlDoc) : [];
|
||||
const allResults = [...[result], ...[result2]];
|
||||
|
||||
// 정답이 존재하는지 확인
|
||||
const isMatch = allResults.some(result => rightAnswer.includes(result));
|
||||
if (isMatch) {
|
||||
totalScore += point;
|
||||
scoringResult[key] = point;
|
||||
console.log(`🚀 ~ result.forEach ~ 정답:${rightAnswer} / 작성답안:${allResults}`);
|
||||
}
|
||||
else {
|
||||
scoringResult[key] = 0;
|
||||
console.log("🚀 ~ result.forEach ~ 오답:", rightAnswer)
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user