diff --git a/scripts/extractSkinText.js b/scripts/extractSkinText.js index 2e532a53..82d95fa1 100644 --- a/scripts/extractSkinText.js +++ b/scripts/extractSkinText.js @@ -1,60 +1,6 @@ const path = require("path"); -const fs = require("fs"); -const md5File = require("md5-file"); var { exec } = require("child_process"); - -const METADATA_ROOT = path.join(__dirname, "../metadata/"); - -function getSkinMetadataPath(md5, key) { - return path.join(METADATA_ROOT, md5, `${key}.json`); -} - -function getSkinMetadata(md5, key) { - const skinMetadataPath = getSkinMetadataPath(md5, key); - return new Promise((resolve, reject) => { - fs.readFile(skinMetadataPath, "utf8", (err, data) => { - if (err != null) reject(err); - resolve(data); - }); - }); -} - -function ensureDirectoryExistence(filePath) { - var dirname = path.dirname(filePath); - if (fs.existsSync(dirname)) { - return true; - } - ensureDirectoryExistence(dirname); - fs.mkdirSync(dirname); -} - -async function writeSkinMetadata(md5, key, data) { - const skinMetadataPath = getSkinMetadataPath(md5, key); - ensureDirectoryExistence(skinMetadataPath); - return new Promise((resolve, reject) => { - fs.writeFile( - skinMetadataPath, - JSON.stringify(data, null, 2), - "utf8", - err => { - if (err != null) { - reject(err); - } - resolve(skinMetadataPath); - } - ); - }); -} - -function getFileMd5(filePath) { - return new Promise((resolve, reject) => { - md5File(filePath, (err, hash) => { - if (err) reject(err); - - resolve(hash); - }); - }); -} +const Utils = require("./utils"); async function extractTextData(path) { const reg = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/g; @@ -99,8 +45,12 @@ async function extractTextData(path) { async function writeTextData(skinPath) { const data = await extractTextData(skinPath); - const md5 = await getFileMd5(skinPath); - const skinMetadataPath = await writeSkinMetadata(md5, "extracted-data", data); + const md5 = await Utils.getFileMd5(skinPath); + const skinMetadataPath = await Utils.writeSkinMetadata( + md5, + "extracted-data", + data + ); console.log("Done", skinMetadataPath); } diff --git a/scripts/utils.js b/scripts/utils.js index a1fd3c72..40a5ac02 100644 --- a/scripts/utils.js +++ b/scripts/utils.js @@ -58,5 +58,6 @@ function getFileMd5(filePath) { module.exports = { getSkinMetadata, - writeSkinMetadata + writeSkinMetadata, + getFileMd5 };