From 23fc814eb3e9bbce7760d1580dfe610a5be7c612 Mon Sep 17 00:00:00 2001 From: gap579137 <30596626+gap579137@users.noreply.github.com> Date: Mon, 4 Nov 2024 21:31:38 -0600 Subject: [PATCH] Update generate-noip.js --- scripts/generate-noip.js | 59 ++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/scripts/generate-noip.js b/scripts/generate-noip.js index 7f4f8c1e..fe64f91f 100644 --- a/scripts/generate-noip.js +++ b/scripts/generate-noip.js @@ -3,32 +3,45 @@ const path = require("node:path"); (async () => { try { - const files = (await fs.readdir(path.join(__dirname, ".."))).filter( - (file) => file.endsWith(".txt"), - ); + // Define directories for better readability and maintainability + const baseDir = path.join(__dirname, ".."); + const outputDir = path.join(baseDir, "alt-version"); + + // Ensure the output directory exists, creating it if necessary + await fs.mkdir(outputDir, { recursive: true }); + + // Filter for .txt files in the base directory + const files = (await fs.readdir(baseDir)).filter((file) => file.endsWith(".txt")); + + // Process each file concurrently await Promise.all( files.map(async (file) => { - const fileContents = await fs.readFile( - path.join(__dirname, "..", file), - "utf8", - ); - const noIPFileContents = fileContents - .replaceAll(/^0\.0\.0\.0 /gmu, "") - .replaceAll(/^# 0\.0\.0\.0 /gmu, "# ") - .replace(/^# Title: (.*?)$/gmu, "# Title: $1 (NL)"); - await fs.writeFile( - path.join( - __dirname, - "..", - "alt-version", - file.replace(".txt", "-nl.txt"), - ), - noIPFileContents, - "utf8", - ); - }), + try { + // Read file contents + const filePath = path.join(baseDir, file); + const fileContents = await fs.readFile(filePath, "utf8"); + + // Perform replacements + const noIPFileContents = fileContents + .replace(/^0\.0\.0\.0 /gm, "") + .replace(/^# 0\.0\.0\.0 /gm, "# ") + .replace(/^# Title: (.*?)$/gm, "# Title: $1 (NL)"); + + // Define output file path + const outputFilePath = path.join(outputDir, file.replace(".txt", "-nl.txt")); + + // Write modified content to output file + await fs.writeFile(outputFilePath, noIPFileContents, "utf8"); + + console.log(`Processed: ${file}`); + } catch (fileError) { + console.error(`Error processing file "${file}":`, fileError); + } + }) ); + + console.log("All files processed successfully."); } catch (error) { - console.error("Error processing files:", error); + console.error("Error during file processing:", error); } })();