improve: name and description format
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
// struct-activity.mjs
|
||||
import pangu from 'pangu';
|
||||
import { logger } from '../utils/logger.mjs';
|
||||
|
||||
let clubSchema = {
|
||||
@@ -51,7 +52,15 @@ async function applyFields(field, structuredActivityData) {
|
||||
structuredActivityData.category = field.fData;
|
||||
break;
|
||||
case field.fID == "activityname":
|
||||
structuredActivityData.name = field.fData;
|
||||
structuredActivityData.name = field.fData.replaceAll(" "," ");
|
||||
structuredActivityData.name = structuredActivityData.name.replaceAll(")", ")");
|
||||
structuredActivityData.name = structuredActivityData.name.replaceAll("(", "(");
|
||||
structuredActivityData.name = structuredActivityData.name.replaceAll("’", "'");
|
||||
structuredActivityData.name = structuredActivityData.name.replaceAll(".", "");
|
||||
structuredActivityData.name = structuredActivityData.name.replaceAll("IssuesT台上的社会问题", "Issues T 台上的社会问题");
|
||||
structuredActivityData.name =
|
||||
structuredActivityData.name.replaceAll("校管弦乐团(新老成员都适用", "校管弦乐团(新老成员都适用)").replaceAll("))",")");
|
||||
structuredActivityData.name = pangu.spacing(structuredActivityData.name);
|
||||
break;
|
||||
case field.fID == "day":
|
||||
structuredActivityData.meeting.day = field.fData;
|
||||
@@ -91,8 +100,12 @@ async function applyFields(field, structuredActivityData) {
|
||||
}
|
||||
|
||||
async function postProcess(structuredActivityData) {
|
||||
// Format description
|
||||
structuredActivityData.description = structuredActivityData.description.replaceAll("<br/>","\n");
|
||||
structuredActivityData.description = structuredActivityData.description.replaceAll("\u000B","\v");
|
||||
structuredActivityData.description = pangu.spacing(structuredActivityData.description);
|
||||
structuredActivityData.description = structuredActivityData.description.replaceAll("\n ","\n");
|
||||
// Finishing fields
|
||||
if (structuredActivityData.name.search("Student-led") != -1 ||
|
||||
structuredActivityData.name.search("学生社团") != -1 ||
|
||||
structuredActivityData.name.search("(SL)") != -1) {
|
||||
@@ -107,8 +120,8 @@ async function postProcess(structuredActivityData) {
|
||||
if (!grades || grades.length < 3) {
|
||||
throw new Error('Invalid grade format in schedule');
|
||||
}
|
||||
structuredActivityData.grades.min = grades[1];
|
||||
structuredActivityData.grades.max = grades[2];
|
||||
structuredActivityData.grades.min = parseInt(grades[1]).toString(10);
|
||||
structuredActivityData.grades.max = parseInt(grades[2]).toString(10);
|
||||
} catch (error) {
|
||||
logger.error(`Failed to parse grades: ${error.message}`);
|
||||
structuredActivityData.grades.min = null;
|
||||
|
||||
Reference in New Issue
Block a user