update interval time, create regex version special

This commit is contained in:
joseph le 2023-10-07 10:02:58 +07:00
parent d8efb4487f
commit 97a270777d
4 changed files with 154 additions and 41 deletions

View File

@ -1,3 +1,4 @@
import Env from "@ioc:Adonis/Core/Env";
// const axios = require("axios");
// import fs from "fs";
@ -23,7 +24,8 @@ export const checkIndexSN = async (content, beginLine, nameF) => {
?.split(":")[1]
?.replace("\r", "")
.trim() !== "" &&
SN !== "N/A" && SN.length>4 &&
SN !== "N/A" &&
SN.length > 4 &&
i >= beginLine
) {
if (output.some((u) => u.SN === SN)) {
@ -170,10 +172,10 @@ export const checkIndexSN = async (content, beginLine, nameF) => {
if (output.filter((i) => i.PID !== "").length > 0) {
let token =
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FwaS5uc3d0ZWFtLm5ldC9hcGkvbG9naW4iLCJpYXQiOjE2ODkzOTEyMDMsImV4cCI6MTcyMDkyNzIwMywibmJmIjoxNjg5MzkxMjAzLCJqdGkiOiJreFA1MW9jck5rdEYzSzY3Iiwic3ViIjozNjkwLCJwcnYiOiJjOGVlMWZjODllNzc1ZWM0YzczODY2N2U1YmUxN2E1OTBiNmQ0MGZjIn0.p-aE0oWkKmdrcKWD94oSmMd_CMbY_4MoqADIwYIhIKw";
let token_int =
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2ludC5pcHN1cHBseS5jb20uYXUvYXBpL2xvZ2luIiwiaWF0IjoxNjg5ODYyNjAxLCJleHAiOjE3MjEzOTg2MDEsIm5iZiI6MTY4OTg2MjYwMSwianRpIjoiUElZVjNBM3ZPQVlMQ081SyIsInN1YiI6MSwicHJ2IjoiYzhlZTFmYzg5ZTc3NWVjNGM3Mzg2NjdlNWJlMTdhNTkwYjZkNDBmYyJ9.UcybIKMBjTAY9i0PfIDQMtqHyN72Ul0jC03ZDGLGpMI";
let data = {
data: output.filter((i) => i.PID !== ""),
urlAPI: "/api/test-log-serial-number/save-data",
@ -185,13 +187,15 @@ export const checkIndexSN = async (content, beginLine, nameF) => {
{ headers: { Authorization: "Bearer " + token } }
);
const response_int = await axios.post(
if (Env.get("RUN_ENV") !== "prod") {
const response_int = await axios.post(
"https://int.ipsupply.com.au/api/transferPostData",
data,
{ headers: { Authorization: "Bearer " + token_int } }
);
console.log(nameF + " response\n", response_int.data);
console.log(nameF + " response\n", response_int.data);
}
}
}
} catch (error) {

View File

@ -29,38 +29,47 @@ const zulip = require("zulip-js");
// In ra nội dung của trang mới
setTimeout(async () => {
const tableData = await page.evaluate(() => {
const tbody = document.querySelector('tbody'); // Lựa chọn thẻ <tbody> cần trích xuất
const rows = tbody.querySelectorAll('tr'); // Lựa chọn tất cả các hàng (thẻ <tr>) bên trong thẻ <tbody>
const tbody = document.querySelector("tbody"); // Lựa chọn thẻ <tbody> cần trích xuất
const rows = tbody.querySelectorAll("tr"); // Lựa chọn tất cả các hàng (thẻ <tr>) bên trong thẻ <tbody>
// Lặp qua từng hàng và lấy nội dung của các cột (thẻ <td>) trong hàng
const data = [];
rows.forEach((row) => {
const columns = Array.from(row.querySelectorAll('td')); // Lựa chọn tất cả các cột (thẻ <td>) trong hàng
const columns = Array.from(row.querySelectorAll("td")); // Lựa chọn tất cả các cột (thẻ <td>) trong hàng
const rowData = columns.map((column) => column.textContent.trim()); // Lấy nội dung của các cột và xóa khoảng trắng
data.push(rowData); // Thêm dữ liệu của hàng vào mảng data
});
return data.map(u=>u.join('\n\n'));
});
console.log('Table data:', tableData);
await browser.close();
return data.map((u) => u.join("\n\n"));
});
console.log("Table data:", tableData);
await browser.close();
let params = {
type: "stream",
to: "networkToolBot",
topic: "powerSchedule",
content:
":warning: :date: :warning:\n\n" + tableData.join("\n\n") + "\n-------",
};
client.messages.send(params);
if (
tableData.filter((i) => i.includes("KDC 91B") || i.includes("KDC91B")).length > 0
tableData.filter((i) => i.includes("KDC 91B") || i.includes("KDC91B"))
.length > 0
) {
let params = {
type: "stream",
to: "Result test - auto.nswteam.net",
topic: "Lịch cúp điện",
content:
":warning: :date: :warning:\n\n" +
tableData.filter((i) => i.includes("KDC 91B") || i.includes("KDC91B"))[0].replace(/KDC 91B/g,"**KDC 91B**") +
"\n-------",
};
type: "stream",
to: "Result test - auto.nswteam.net",
topic: "Lịch cúp điện",
content:
":warning: :date: :warning:\n\n" +
tableData
.filter((i) => i.includes("KDC 91B") || i.includes("KDC91B"))[0]
.replace(/KDC 91B/g, "**KDC 91B**") +
"\n-------",
};
client.messages.send(params);
}
}, 5000);
})();
})();

View File

@ -37,13 +37,26 @@ export async function runtimeCheckLogs(folderPath) {
const checkSpecialVersion = (paragraph) => {
try {
const regex = /\(CAT3K_CAA-UNIVERSALK9-M\), Version 16\.9\.[2-9]/;
const regex1 = /Version (\d+\.\d+\.\d+)/;
const regex1 =
/\(CAT3K_CAA-UNIVERSALK9-M\), Version 1[7-9]\.[0-9]\.[2-9]/;
const regex2 =
/\(CAT3K_CAA-UNIVERSALK9-M\), Version [2-9][0-9]\.[0-9]\.[2-9]/;
// Use the regular expression to find the match
const match = paragraph.match(regex);
if (match) {
const desiredSubstring = match[0];
const match2 = desiredSubstring.match(regex1);
return match2[0];
const match1 = paragraph.match(regex1);
const match2 = paragraph.match(regex2);
if (match || match1 || match2) {
if (match) {
return match[0];
}
if (match1) {
return match1[0];
}
if (match2) {
return match2[0];
}
} else {
return "";
}
@ -60,8 +73,8 @@ export async function runtimeCheckLogs(folderPath) {
if (
filePath?.split(".")[filePath.split(".").length - 1] === "log" &&
filePath.split("/")[filePath.split("/").length - 1]?.split("-")[0] ===
//localhost
// filePath.split("\\")[filePath.split("\\").length - 1]?.split("-")[0] ===
//localhost
// filePath.split("\\")[filePath.split("\\").length - 1]?.split("-")[0] ===
moment(Date.now()).format("YYYYMMDD").toString()
) {
//add information file to database
@ -92,6 +105,7 @@ export async function runtimeCheckLogs(folderPath) {
.map((file) => folderPath + "/" + file);
const watcher = chokidar.watch(listFileWatch, {
persistent: true,
usePolling: true,
interval: 300000,
});
@ -160,7 +174,7 @@ export async function runtimeCheckLogs(folderPath) {
for (let i = 0; i < contentFile.length; i += 1000) {
const chunk = contentFile.slice(i, i + 1000);
chunk.map((line, index) => {
chunk.map(async (line, index) => {
//check line the line with errors and exclude errors
listKeyValues
.map((obj) => obj.$original.value)
@ -193,10 +207,36 @@ export async function runtimeCheckLogs(folderPath) {
// if(checkSpecialVersion())
});
if (
checkSpecialVersion(line) !== "" &&
listExcludeErr.filter((err) => line.includes(err)).length === 0
) {
let checkVersion = checkSpecialVersion(line);
let log = allFile?.filter(
(i) => i.$original.file_name === fileName
)[0];
let checkLog = allReport?.filter(
(report) =>
report.$original.id_file === log?.id_ldf &&
report.$original.line === index + 1 &&
report.$original.detected_content === checkVersion
);
if (checkLog?.length === 0) {
await LogReport.create({
detected_content: checkVersion,
line: index + 1,
id_file: log?.id_ldf,
});
lines.push(index + 1);
}
}
});
}
} else {
contentFile.map((line, index) => {
contentFile.map(async (line, index) => {
//check line the line with errors and exclude errors
listKeyValues
.map((obj) => obj.$original.value)
@ -217,7 +257,7 @@ export async function runtimeCheckLogs(folderPath) {
report.$original.line === index + 1 &&
report.$original.detected_content === value
);
if (checkLog?.length === 0) {
await LogReport.create({
detected_content: value,
@ -230,6 +270,32 @@ export async function runtimeCheckLogs(folderPath) {
// if(checkSpecialVersion())
});
if (
checkSpecialVersion(line) !== "" &&
listExcludeErr.filter((err) => line.includes(err)).length === 0
) {
let checkVersion = checkSpecialVersion(line);
let log = allFile?.filter(
(i) => i.$original.file_name === fileName
)[0];
let checkLog = allReport?.filter(
(report) =>
report.$original.id_file === log?.id_ldf &&
report.$original.line === index + 1 &&
report.$original.detected_content === checkVersion
);
if (checkLog?.length === 0) {
await LogReport.create({
detected_content: checkVersion,
line: index + 1,
id_file: log?.id_ldf,
});
lines.push(index + 1);
}
}
});
}
@ -278,7 +344,7 @@ export async function runtimeCheckLogs(folderPath) {
let important = [
"Vxx",
"V00",
"(CAT3K_CAA-UNIVERSALK9-M), Version 16.9.",
"(CAT3K_CAA-UNIVERSALK9-M), Version",
];
listReport.map((log, index) => {
let item = listExtraItem.includes(log.detected_content)
@ -321,7 +387,9 @@ export async function runtimeCheckLogs(folderPath) {
let icon =
important.filter((i) => content.includes(i)).length > 0
? "------------\n\n:no_entry: :no_entry:**" + fileName + "**:no_entry: :no_entry:"
? "------------\n\n:no_entry: :no_entry:**" +
fileName +
"**:no_entry: :no_entry:"
: "------------\n\n:warning: :warning: **" + fileName + "**";
sendMessToZulip(
"stream",

View File

@ -1,8 +1,40 @@
let a = [1,2,3]
// let a = [1,2,3]
console.log(a.slice(0,4))
// console.log(a.slice(0,4))
const checkSpecialVersion = (paragraph) => {
try {
const regex = /\(CAT3K_CAA-UNIVERSALK9-M\), Version 16\.9\.[2-9]/;
const regex1 = /\(CAT3K_CAA-UNIVERSALK9-M\), Version 1[7-9]\.[0-9]\.[2-9]/;
const regex2 =
/\(CAT3K_CAA-UNIVERSALK9-M\), Version [2-9][0-9]\.[0-9]\.[2-9]/;
// Use the regular expression to find the match
const match = paragraph.match(regex);
const match1 = paragraph.match(regex1);
const match2 = paragraph.match(regex2);
if (match || match1 || match2) {
if (match) {
console.log(match[0]);
}
if (match1) {
console.log(match1[0]);
}
if (match2) {
console.log(match2[0]);
}
} else {
return "";
}
} catch (error) {
console.log(error);
}
};
checkSpecialVersion(
"Cisco IOS Software [Fuji], Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 16.9.1, RELEASE SOFTWARE (fc2)"
);
// const puppeteer = require("puppeteer");
// const zulip = require("zulip-js");