add new node js files to manage publishing processes and also backup other Markets Parsers and Delete them for improve Speed of Compilation ...

This commit is contained in:
2024-09-19 06:59:53 +03:30
parent cf11a36053
commit f3398901ef
2977 changed files with 1747361 additions and 49368 deletions
+72 -71
View File
@@ -8,12 +8,21 @@ const XColorTools = require("./Documents/JsModules/x-color.tools");
//
const packsPath = XFileTools.joinPath(".", "Packs");
//
handlePack();
async function handlePack() {
//
var date = new Date();
var folderName = date.toDateString()
.replace(" ", "");
//
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDate();
var hour = date.getHours();
var min = date.getMinutes();
//
var folderName = year.toString() + "-" + month.toString() + "-" + day.toString() + "(" + hour.toString() + "_" + min.toString() + ")";
//
const prjBasePath = XFileTools.joinPath(packsPath, folderName);
@@ -63,83 +72,75 @@ async function handlePack() {
const fSourcePath = XFileTools.joinPath(".", path);
//
// Copy Sources ...
const sourceFilesToCopy = await XFileTools.extractFiles(fSourcePath, [".mq5", ".mq4"]);
if (sourceFilesToCopy && sourceFilesToCopy.length > 0) {
// Source Copy ...
let fDestPath = XFileTools.joinPath(prjBaseSourcePath, path);
//
// Log ...
console.log(
XColorTools.applyForegroundColor("try to copy: ", XColorTools.COLOR_NAMES.Yellow),
XColorTools.applyForegroundColor(path, XColorTools.COLOR_NAMES.Blue),
XColorTools.applyForegroundColor(" to : ", XColorTools.COLOR_NAMES.Yellow),
XColorTools.applyForegroundColor(prjBaseSourcePath, XColorTools.COLOR_NAMES.Magenta)
);
//
// Copy Folder ...
let result = await XFileTools.copyFolder(fSourcePath, prjBaseSourcePath);
if (result) {
//
const fDestPath = XFileTools.joinPath(prjBaseSourcePath, path);
XFileTools.createDirectory(fDestPath);
const msg = "copy successfully ...";
console.log(
XColorTools.applyForegroundColor(msg, XColorTools.COLOR_NAMES.Green)
);
} else {
//
// Loop through Files ...
for (const f of sourceFilesToCopy) {
//
// Prepare Destination Path ...
//
// Log ...
console.log(
XColorTools.applyForegroundColor("try to copy: ", XColorTools.COLOR_NAMES.Yellow),
XColorTools.applyForegroundColor(f, XColorTools.COLOR_NAMES.Blue),
XColorTools.applyForegroundColor(" to : ", XColorTools.COLOR_NAMES.Yellow),
XColorTools.applyForegroundColor(fDestPath, XColorTools.COLOR_NAMES.Magenta)
);
//
let result = await XFileTools.copyFile(f, fDestPath);
if (result) {
//
const msg = "copy successfully ...";
console.log(
XColorTools.applyForegroundColor(msg, XColorTools.COLOR_NAMES.Green)
);
} else {
//
const msg = "copy failed ...";
console.log(XColorTools.applyForegroundColor(msg, XColorTools.COLOR_NAMES.Red));
throw msg;
}
}
const msg = "copy failed ...";
console.log(XColorTools.applyForegroundColor(msg, XColorTools.COLOR_NAMES.Red));
throw msg;
}
//
// Copy Compiled ...
const compiledFilesToCopy = await XFileTools.extractFiles(fSourcePath, [".ex5", ".ex4"]);
if (compiledFilesToCopy && compiledFilesToCopy.length > 0) {
// Cleanup Folder ...
const sourceFilesToRemove = await XFileTools.extractFiles(fDestPath, [".ex5", ".ex4"]);
for (const f of sourceFilesToRemove) {
await XFileTools.removeFile(f);
}
//
// Compile Copy ...
fDestPath = XFileTools.joinPath(prjBaseCompiledPath, path);
//
// Log ...
console.log(
XColorTools.applyForegroundColor("try to copy: ", XColorTools.COLOR_NAMES.Yellow),
XColorTools.applyForegroundColor(path, XColorTools.COLOR_NAMES.Blue),
XColorTools.applyForegroundColor(" to : ", XColorTools.COLOR_NAMES.Yellow),
XColorTools.applyForegroundColor(prjBaseCompiledPath, XColorTools.COLOR_NAMES.Magenta)
);
//
// Copy Folder ...
result = await XFileTools.copyFolder(fSourcePath, prjBaseCompiledPath);
if (result) {
//
const fDestPath = XFileTools.joinPath(prjBaseCompiledPath, path);
XFileTools.createDirectory(fDestPath);
const msg = "copy successfully ...";
console.log(
XColorTools.applyForegroundColor(msg, XColorTools.COLOR_NAMES.Green)
);
} else {
//
// Loop through Files ...
for (const f of compiledFilesToCopy) {
//
// Prepare Destination Path ...
const msg = "copy failed ...";
console.log(XColorTools.applyForegroundColor(msg, XColorTools.COLOR_NAMES.Red));
throw msg;
}
//
// Log ...
console.log(
XColorTools.applyForegroundColor("try to copy: ", XColorTools.COLOR_NAMES.Yellow),
XColorTools.applyForegroundColor(f, XColorTools.COLOR_NAMES.Blue),
XColorTools.applyForegroundColor(" to : ", XColorTools.COLOR_NAMES.Yellow),
XColorTools.applyForegroundColor(fDestPath, XColorTools.COLOR_NAMES.Magenta)
);
//
let result = await XFileTools.copyFile(f, fDestPath);
if (result) {
//
const msg = "copy successfully ...";
console.log(
XColorTools.applyForegroundColor(msg, XColorTools.COLOR_NAMES.Green)
);
} else {
//
const msg = "copy failed ...";
console.log(XColorTools.applyForegroundColor(msg, XColorTools.COLOR_NAMES.Red));
throw msg;
}
}
//
// Cleanup Folder ...
const compileFilesToRemove = await XFileTools.extractFiles(fDestPath, [".mq5", ".mq4"]);
for (const f of compileFilesToRemove) {
await XFileTools.removeFile(f);
}
}
}