곰픽(dpi) 채점 결과 업데이트

This commit is contained in:
2025-05-07 16:58:03 +09:00
parent 38a323c0b0
commit 5ee5330e13
9 changed files with 16 additions and 12 deletions

BIN
00_DPI_2504B_TEST.xlsx Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -459,7 +459,7 @@
}, },
"4": { "4": {
"type": "multiValue", "type": "multiValue",
"ele": "//Layer[Name[@value='{layer}']]/Effects/Item", "ele": "//Layer[Name[@value='{layer}']]/Effects/Item[EffectData/{option}]/Name/@value | //Layer[Name[@value='{layer}']]/Effects/Item/EffectData/{option}/@value",
"layer": "Flower", "layer": "Flower",
"option": "VibranceValue", "option": "VibranceValue",
"value": [ "value": [
@@ -492,8 +492,8 @@
"type": "size", "type": "size",
"ele": "//Layer//op_points", "ele": "//Layer//op_points",
"value": { "value": {
"width": 80, "width": 120,
"height": 80 "height": 120
}, },
"point": 3, "point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점" "desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
@@ -633,7 +633,7 @@
"16": { "16": {
"type": "exists", "type": "exists",
"ele": "//Layer/Shapes/Shape/shape_type/@value", "ele": "//Layer/Shapes/Shape/shape_type/@value",
"value": "RACTANGLE", "value": "RECTANGLE",
"point": 3 "point": 3
}, },
"17": { "17": {

View File

@@ -5,7 +5,7 @@ import unicodedata
def copy_dic_subdirs(source_root, target_root_a, target_root_b, target_root_c, target_root_d, target_root_e): def copy_dic_subdirs(source_root, target_root_a, target_root_b, target_root_c, target_root_d, target_root_e):
for root, dirs, files in os.walk(source_root): for root, dirs, files in os.walk(source_root):
for dir_name in dirs: for dir_name in dirs:
if dir_name.lower() == 'dic': # DIC 디렉토리 탐색 if dir_name.lower() == 'dic' or dir_name.lower() == 'dpi': # DIC 디렉토리 탐색
parent_dir = os.path.basename(os.path.dirname(os.path.join(root, dir_name))) parent_dir = os.path.basename(os.path.dirname(os.path.join(root, dir_name)))
target_root = None target_root = None
parent_dir = unicodedata.normalize('NFC', parent_dir) parent_dir = unicodedata.normalize('NFC', parent_dir)

View File

@@ -404,7 +404,7 @@ function getGpdpScore(gpdpData, scoringJson, index) {
else { else {
const result = xpath.select(ele, gpdpXmlDoc); const result = xpath.select(ele, gpdpXmlDoc);
const result2 = null; const result2 = null;
const isCheck = false; let isCheck = false;
if (ele === 'none') { if (ele === 'none') {
scoringResult[key] = "확인필요"; scoringResult[key] = "확인필요";

View File

@@ -12,11 +12,12 @@ 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 examTypes = [ const examTypes = [
'A', // 'A',
'B', 'B',
'C', // 'C',
// 'D' // 'D'
]; ];
@@ -55,17 +56,20 @@ examTypes.forEach(type => {
// 맥에서 한글 디렉토리 이름을 읽어서 엑셀에 저장 할 시 자소 분리가 되어 저장되는 문제 노말라이즈해서 해결 // 맥에서 한글 디렉토리 이름을 읽어서 엑셀에 저장 할 시 자소 분리가 되어 저장되는 문제 노말라이즈해서 해결
const name = student.normalize('NFC'); const name = student.normalize('NFC');
const studentDir = path.join(answerFilesDir, student); const studentDir = path.join(answerFilesDir, student);
const psdFiles = fs.readdirSync(studentDir).filter(file => file.endsWith('.psd')); // const psdFiles = fs.readdirSync(studentDir).filter(file => file.endsWith('.psd'));
const psdFiles = fs.readdirSync(studentDir).filter(file => file.toLowerCase().endsWith('.psd'));
// DIAT시험 프로젝트로 생성시 gmep확장자로 // DIAT시험 프로젝트로 생성시 gmep확장자로
// 교육용 프로젝프로 생성시 gmdp확장자로 생성됨 // 교육용 프로젝프로 생성시 gmdp확장자로 생성됨
// 두 경우 모두 처리 // 두 경우 모두 처리
const gmepFile = fs.readdirSync(studentDir).filter( const gmepFile = fs.readdirSync(studentDir).filter(
file => file.endsWith('.gmep') || file.endsWith('.gmdp') file => file.toLowerCase().endsWith('.gmep')
|| file.toLowerCase().endsWith('.gmdp')
); );
// 곰픽 파일 gpdp 파일 이거나 xml 파일 // 곰픽 파일 gpdp 파일 이거나 xml 파일
const gpdpFiles = fs.readdirSync(studentDir).filter( const gpdpFiles = fs.readdirSync(studentDir).filter(
file => file.endsWith('.xml') file => file.toLowerCase().endsWith('.xml')
); );
// 학생 이름을 key로 하는 객체 생성 // 학생 이름을 key로 하는 객체 생성