diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | cli.js | 5 | ||||
-rw-r--r-- | helper.js | 31 | ||||
-rw-r--r-- | package.json | 18 |
4 files changed, 45 insertions, 10 deletions
@@ -6,6 +6,7 @@ node_* *.log *.env *.csv +progs.json users.json profile/public/uploads/**/* @@ -96,9 +96,10 @@ if ((idx = params.indexOf("-r")) > -1) { // Be aware, I'm a longtime rhyme primer db.dump().then(async (data) => { + const y10progs = JSON.parse(await fs.readFile(__dirname + "/progs.json", "utf8")); await data.users.forEach(async (user) => { hay = data.profile.filter((e) => e.user_id === user.id); - const comments = user.comments; + let comments = user.comments; const chars = user.chars; const obj = { id: user.id, @@ -140,6 +141,8 @@ if ((idx = params.indexOf("-r")) > -1) { textex += "\\end{center}\\end{minipage}\\end{center}\n"; textex += "\\divider"; + if (y10progs[user.id] && y10progs[user.id].length > 0) + comments = [...comments, ...y10progs[user.id].map((comment) => ({ comment }))]; // Comments contents intents indents events if (comments && comments.length > 0) { diff --git a/helper.js b/helper.js new file mode 100644 index 0000000..0e1df41 --- /dev/null +++ b/helper.js @@ -0,0 +1,31 @@ +require("dotenv").config(); +const db = require("./db"); +const fs = require("fs").promises; + +async function main() { + let studs = await fs.readFile(__dirname + "/studs.csv", "utf8"); + const users = await db.query("SELECT id, username, name, surname FROM users"); + for (const user of users) { + studs = studs.replaceAll(`;${user.username};`, `;${user.id};`); + studs = studs.replaceAll(`${user.username};`, `${user.name} ${user.surname};`); + } + await fs.writeFile(__dirname + "/studsfix.csv", studs, "utf8"); + const json = await ssvToObj(studs); + await fs.writeFile(__dirname + "/progs.json", JSON.stringify(json), "utf8"); + console.log("Finished!"); +} + +async function ssvToObj(ssv) { + const obj = {}; + const lines = ssv.split("\n").slice(1, -1); + for (const line of lines) { + const [t, u, c] = line.split(";"); + if (obj.hasOwnProperty(u)) obj[u].push(`${c} - ${t}`); + else obj[u] = [`${c} - ${t}`]; + } + return obj; +} + +main() + .then(() => process.exit()) + .catch(console.error); diff --git a/package.json b/package.json index 0206d6d..4d5b37c 100644 --- a/package.json +++ b/package.json @@ -6,17 +6,17 @@ "author": "LarsVomMars <lars@kroenner.eu>", "license": "MIT", "dependencies": { - "bcrypt": "^5.0.0", - "connect-redis": "^5.0.0", - "dotenv": "^8.2.0", + "bcrypt": "^5.0.1", + "connect-redis": "^5.2.0", + "dotenv": "^10.0.0", "express": "^4.17.1", - "express-fileupload": "^1.2.0", - "express-rate-limit": "^5.1.3", - "express-session": "^1.17.1", + "express-fileupload": "^1.2.1", + "express-rate-limit": "^5.2.6", + "express-session": "^1.17.2", "log-timestamp": "^0.3.0", - "mariadb": "^2.4.2", - "nanoid": "^3.1.12", - "redis": "^3.0.2" + "mariadb": "^2.5.3", + "nanoid": "^3.1.23", + "redis": "^3.1.2" }, "scripts": { "format": "prettier --write \"**/*.{html,css,js}\"", |