0508 요청사항 수정 (자막 텍스트 찾는 방식 / 텍스트 공백처리)

This commit is contained in:
2025-05-12 16:42:09 +09:00
parent 56e38caa0f
commit e95ec9c050
8 changed files with 23 additions and 32 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -205,8 +205,10 @@
}, },
"5": { "5": {
"ele": "//CROwneUnit[{subtitleIndex}]/CRCUnitArr/@Name", "ele": "//CROwneUnit[{subtitleIndex}]/CRCUnitArr/@Name",
"ele2": "//CRCUnitArr[@Name='{search}']/@Name",
"type": "video", "type": "video",
"value": "화단의 꽃들", "value": "화단의 꽃들",
"search": "화단의 꽃들",
"point": 3 "point": 3
}, },
"6": { "6": {
@@ -350,7 +352,9 @@
}, },
"22": { "22": {
"ele": "//CROwneUnit[{subtitleIndex}]/CRCUnitArr/@Name", "ele": "//CROwneUnit[{subtitleIndex}]/CRCUnitArr/@Name",
"ele2": "//CRCUnitArr[@Name='{search}']/@Name",
"type": "opening", "type": "opening",
"search": "아름다운 꽃 축제 (Happy Flower Festival)",
"value": "아름다운 꽃 축제 (Happy Flower Festival)", "value": "아름다운 꽃 축제 (Happy Flower Festival)",
"point": 3 "point": 3
}, },
@@ -512,7 +516,7 @@
"반사", "반사",
"80" "80"
], ],
"point": 5, "point": 6,
"desc": "혼합모드(색 회피율, 불투명도 : 80)" "desc": "혼합모드(색 회피율, 불투명도 : 80)"
}, },
"11": { "11": {

View File

@@ -215,6 +215,11 @@ function getGpdpScore(gpdpData, scoringJson, index) {
else if (type == "exists") { else if (type == "exists") {
const result = xpath.select(ele, gpdpXmlDoc); const result = xpath.select(ele, gpdpXmlDoc);
const isMatch = result.some(v => { const isMatch = result.some(v => {
// 문자열 앞뒤 공백 제거
v.value = typeof v.value === 'string' ? v.value.trim() : v.value
rightAnswer = typeof rightAnswer === 'string' ? rightAnswer.trim() : rightAnswer
if (v.value === rightAnswer) { if (v.value === rightAnswer) {
totalScore += point; totalScore += point;
scoringResult[key] = point; scoringResult[key] = point;

View File

@@ -12,8 +12,8 @@ const getToday = require('./getToday.js');
const todayDate = getToday(); const todayDate = getToday();
const examRound = '2504'; const examRound = '2504';
const dic_or_dpi = 'DIC' // const dic_or_dpi = 'DIC'
// const dic_or_dpi = 'DPI' const dic_or_dpi = 'DPI'
const examTypes = [ const examTypes = [
// 'A', // 'A',
'B', 'B',
@@ -677,8 +677,8 @@ function getTrackClipNode(xmlDoc, type, videoStartTime, openingStartTime) {
const startTime = type === 'video' ? videoStartTime : openingStartTime; const startTime = type === 'video' ? videoStartTime : openingStartTime;
// xpath 구문을 통해 CRTrackClip 요소의 ClipIndex를 찾음 // xpath 구문을 통해 CRTrackClip 요소의 ClipIndex를 찾음
const trackClipNode1 = xpath.select1(`//CRTrackList[@Name='텍스트' or @Name='비디오2']/CRTrackClip[not(@ClipIndex='-1')][${subtitleOrder}]`, xmlDoc); const trackClipNode1 = xpath.select1(`//CRTrackList[@Name='텍스트' or @Name='비디오2']/CRTrackClip[sum(preceding-sibling::CRTrackClip/@Length) = ${startTime}]`, xmlDoc);
const trackClipNode2 = xpath.select1(`//CRTrackList[@Name='텍스트' or @Name='비디오2']/CRTrackClip[sum(preceding-sibling::CRTrackClip/@Length) = ${startTime}]`, xmlDoc); const trackClipNode2 = xpath.select1(`//CRTrackList[@Name='텍스트' or @Name='비디오2']/CRTrackClip[not(@ClipIndex='-1')][${subtitleOrder}]`, xmlDoc);
return trackClipNode = trackClipNode1 ?? trackClipNode2; return trackClipNode = trackClipNode1 ?? trackClipNode2;
} }

View File

@@ -1 +1 @@
[{"kind":2,"language":"xpath","value":"//Layer[Name[@value='Tracking']]/Effects/Item/Name/@value"},{"kind":2,"language":"xpath","value":"//Layer/Shapes/Shape[*[starts-with(name(), 'gradient')]]"},{"kind":2,"language":"xpath","value":"//Layer[Name[@value='Flower']]/Effects/Item/Name/@value | //Layer[Name[@value='Flower']]/Effects/Item/EffectData/VibranceValue/@value"},{"kind":2,"language":"xpath","value":"//Layer[Name[@value='{layer}']]/Effects/Item[EffectData/{option}]/Name/@value | //Layer[Name[@value='{layer}']]/Effects/Item/EffectData/{option}/@value"},{"kind":2,"language":"xpath","value":"//Layer[Name[@value='{layer}']]/Effects/Item/Name/@value | //Layer[Name[@value='{layer}']]/Effects/Item/EffectData/{option}/@value\r\n"},{"kind":2,"language":"xpath","value":"//CRTransFilter[@ClipIndex=count(//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지3.jpg']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='이미지3.jpg']/../preceding-sibling::CRClip)][1]/preceding-sibling::CRTrackClip)][@Type='2']/@*[name()='ID' or name()='Range' or name()='Type']"},{"kind":2,"language":"xpath","value":"//CRTransFilter[@ClipIndex=count(//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지3.jpg']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='이미지3.jpg']/../preceding-sibling::CRClip)][1]/preceding-sibling::CRTrackClip)][@Type='16']/@*[name()='ID' or name()='Range' or name()='Type']"}] [{"kind":2,"language":"xpath","value":"//Layer[Name[@value='Tracking']]/Effects/Item/Name/@value"},{"kind":2,"language":"xpath","value":"sum(//CRTrackList[@Name='텍스트' or @Name='비디오2']/CRTrackClip[@ClipIndex=0]/preceding-sibling::CRTrackClip/@Length)"},{"kind":2,"language":"xpath","value":"//CROwneUnit/CRCUnitArr[@Name=\"아름다운 꽃 축제 (Happy Flower Festival)\"]/@Name"},{"kind":2,"language":"xpath","value":"//Layer[Name[@value='{layer}']]/Effects/Item[EffectData/{option}]/Name/@value | //Layer[Name[@value='{layer}']]/Effects/Item/EffectData/{option}/@value"},{"kind":2,"language":"xpath","value":"//Layer[Name[@value='{layer}']]/Effects/Item/Name/@value | //Layer[Name[@value='{layer}']]/Effects/Item/EffectData/{option}/@value\r\n"},{"kind":2,"language":"xpath","value":"//CRTransFilter[@ClipIndex=count(//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지3.jpg']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='이미지3.jpg']/../preceding-sibling::CRClip)][1]/preceding-sibling::CRTrackClip)][@Type='2']/@*[name()='ID' or name()='Range' or name()='Type']"},{"kind":2,"language":"xpath","value":"//CRTransFilter[@ClipIndex=count(//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='이미지3.jpg']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='이미지3.jpg']/../preceding-sibling::CRClip)][1]/preceding-sibling::CRTrackClip)][@Type='16']/@*[name()='ID' or name()='Range' or name()='Type']"}]

View File

@@ -1,47 +1,29 @@
광일 김, [May 8, 2025 at 13:44:23]:
<DIW-C>
001912 문성빈
문구 (서울국제도서박람회) - 견고딕, 25pt, 가운데정렬 맞는데 오답처리
000076 박다은
특수문자 ① ◆, ② ◆, ③ ※ - ◆ 행사안내 ◆ 인데 1점
001419 김사랑
차트 X,Y,범례 기울임 없느데 정답처리됨
000076 박다은
000285 문예슬
001345 조수빈
000203 이지운
글맵시 있는데 오답처리
001473 노이솜
문구 (◆ 행사안내 ◆) - 궁서/가운데정렬 맞는데 오답처리(띄어쓰기 때문인듯)
001473 노이솜
문제1 줄간격 180% 맞는데 오답처리(마지막 엔터값 때문인듯)
<DIC-B형-곰믹스> <DIC-B형-곰믹스>
002016-조승연 002016-조승연
001464-이주아 001464-이주아
000047-전지인 000047-전지인
.gmep가 아니라 .gmdp라서 0점 .gmep가 아니라 .gmdp라서 0점
>> 수정완
001662-노연우 001662-노연우
"화단의 꽃들" 자막 텍스트 맞는데 오답처리 "화단의 꽃들" 자막 텍스트 맞는데 오답처리
"아름다운 꽃 축제(Happy Flower Festival)" 자막 텍스트 맞는데 오답처리 "아름다운 꽃 축제(Happy Flower Festival)" 자막 텍스트 맞는데 오답처리
>> 자막 텍스트는 순서나 시작시간에 상관없이 텍스트만 맞으면 정답처리
>> 수정완
<DPI곰픽> <DPI곰픽>
1-10문제 배점이 6점인데 5점으로 잘못기재한거죠? 1-10문제 배점이 6점인데 5점으로 잘못기재한거죠?
001682-노연우 >> 수정완
"화단의 꽃들" 자막 텍스트 맞는데 오답처리
000400-서보길 000400-서보길
"흰 꽃 사이 노란 꽃 " <- 마지막에 띄어쓰기때문에 오답처리 됨/trim한 텍스트로 비교할 수 있을까요? "흰 꽃 사이 노란 꽃 " <- 마지막에 띄어쓰기때문에 오답처리 됨/trim한 텍스트로 비교할 수 있을까요?
>> 수정완
다 수정 채점 해뒀습니다! 다 수정 채점 해뒀습니다!