From 31acd6dbb57d1530ac429740010a7133bf7afed7 Mon Sep 17 00:00:00 2001 From: tgpethan Date: Thu, 2 Jan 2020 22:56:50 +0000 Subject: [PATCH] Add 12 hour time option for console output This pr adds functionality to the consoleHelper that allows it to have it's own module folder and config to enable options for other time formats. --- .gitignore | 3 ++- modules/consoleHelper.js | 38 +++++++++++++++++++++++++++++++++++--- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index ae6b3c6..0f38482 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ node_modules/ package-lock.json config/config.json -utils/ \ No newline at end of file +utils/ +modules/consoleHelper/config.json diff --git a/modules/consoleHelper.js b/modules/consoleHelper.js index c46a1a7..1a8ddcf 100644 --- a/modules/consoleHelper.js +++ b/modules/consoleHelper.js @@ -1,10 +1,24 @@ -const chalk = require("chalk"); +const chalk = require("chalk"), +fs = require("fs"); // Defines the function of this module const MODULE_FUNCTION = "handle_console", // Base path for module folder creation and navigation -BASE_PATH = null; +BASE_PATH = "/consoleHelper"; + +// Only ran on startup so using sync functions is fine +// Makes the folders for files of the module +if (!fs.existsSync(__dirname + BASE_PATH)) { + fs.mkdirSync(__dirname + BASE_PATH); + console.log(`[consoleHelper] Made consoleHelper module folder`); +} +if (!fs.existsSync(__dirname + BASE_PATH + "/config.json")) { + fs.writeFileSync(__dirname + BASE_PATH + "/config.json", JSON.stringify({"24hour":true})); + console.log(`[consoleHelper] Made consoleHelper config file`); +} + +const config = require(__dirname + BASE_PATH + "/config.json"); module.exports = { printInfo:function(emoji, s) { @@ -21,7 +35,25 @@ module.exports = { getTime24:function() { const time = new Date(); - return `${correctValue(time.getHours())}:${correctValue(time.getMinutes())}:${correctValue(time.getSeconds())}` + if (config["24hour"]) { + return `${correctValue(time.getHours())}:${correctValue(time.getMinutes())}:${correctValue(time.getSeconds())}`; + } else { + return this.t2412(`${correctValue(time.getHours())}:${correctValue(time.getMinutes())}:${correctValue(time.getSeconds())}`); + } + }, + + t2412:function(inp) { + if (parseInt(inp.split(":")[0]) > 11) { + const i = inp.split(":"); + let i1 = parseInt(i[0]) - 12; + if (i1 == 0) i1 = 12; + return i1 + ":" + i[1] + " PM"; + } else { + const i = inp.split(":"); + let i1 = parseInt(i[0]); + if (i1 == 0) i1 = 12; + return i1 + ":" + i[1] + " AM"; + } } } -- 2.47.0