初始提交:ai-review 项目当前版本(含赛道一/二提交规范修订与时间节点文档)
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
const Database = require('better-sqlite3');
|
||||
const db = new Database('data/ai-review.db');
|
||||
|
||||
// Replicate parseDimensions
|
||||
function parseDimensions(md) {
|
||||
const dims = [];
|
||||
const re = /##\s+(.+?)((\d+)[分%])\s*([\s\S]*?)(?=\n##\s|\n*$)/g;
|
||||
let match;
|
||||
while ((match = re.exec(md)) !== null) {
|
||||
dims.push({ name: match[1].trim(), maxScore: parseInt(match[2], 10) });
|
||||
}
|
||||
return dims;
|
||||
}
|
||||
|
||||
const std = db.prepare("SELECT * FROM standards WHERE name LIKE '%赛道一%'").get();
|
||||
const dims = parseDimensions(std.content);
|
||||
console.log('Content length:', std.content.length);
|
||||
console.log('Dimensions found:', dims.length);
|
||||
console.log('Total:', dims.reduce((s, d) => s + d.maxScore, 0));
|
||||
|
||||
// Try the exact operations from the route handler
|
||||
try {
|
||||
const dims2 = parseDimensions(std.content);
|
||||
const passLine = Math.round(dims2.reduce((s, d) => s + d.maxScore, 0) * 0.6);
|
||||
console.log('passLine:', passLine);
|
||||
} catch(e) {
|
||||
console.log('ERROR:', e.message);
|
||||
}
|
||||
|
||||
// Try creating an entry manually
|
||||
const id = require('crypto').randomUUID();
|
||||
try {
|
||||
db.prepare(`INSERT INTO entries (id, project_id, standard_id, title, repo_url, category_tag, participant, pass_line, standard_snapshot, branch)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(
|
||||
id, 'b1b5884e-ba85-4d8f-9a92-e524603587a0', std.id, 'Test', 'file://D:\\Projects\\kagedoku',
|
||||
'赛道一', '', passLine, JSON.stringify(dims2), ''
|
||||
);
|
||||
console.log('Insert OK:', id);
|
||||
db.prepare('DELETE FROM entries WHERE id = ?').run(id);
|
||||
} catch(e) {
|
||||
console.log('INSERT ERROR:', e.message);
|
||||
}
|
||||
db.close();
|
||||
Reference in New Issue
Block a user