From 4941a7e5b8af2b428d90454abef29d66df6815ca Mon Sep 17 00:00:00 2001 From: Suresh Alse Date: Sat, 22 May 2021 12:41:47 -0700 Subject: [PATCH 1/4] Fix https://github.com/alseambusher/crontab-ui/issues/155 (#156) --- Dockerfile | 2 +- Makefile | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9d84c77..438cede 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # docker run -d -p 8000:8000 alseambusher/crontab-ui -FROM alpine:3.10 +FROM alpine:3.13.5 ENV CRON_PATH /etc/crontabs diff --git a/Makefile b/Makefile index 9280d1e..413851c 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VER=0.3.13 +VER=0.3.15 release: sed -i '' "s/version\": \".*/version\": \"$(VER)\",/" package.json diff --git a/package.json b/package.json index e851ddd..eceea42 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "crontab-ui", - "version": "0.3.14", + "version": "0.3.15", "description": "Easy and safe way to manage your crontab file", "main": "index.js", "scripts": { From f02c748c5249fee77146fbb78c79d88e2f56de8b Mon Sep 17 00:00:00 2001 From: Hasan Basri Date: Sat, 21 Aug 2021 00:00:14 +0700 Subject: [PATCH 2/4] add cRonstrue, parses a cron expression and outputs a human readable description of the cron schedule --- crontab.js | 4 +++- package.json | 1 + views/index.ejs | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/crontab.js b/crontab.js index d9a60f1..113036d 100644 --- a/crontab.js +++ b/crontab.js @@ -11,7 +11,6 @@ exports.crontab_db_file = path.join(exports.db_folder, 'crontab.db'); var db = new Datastore({ filename: exports.crontab_db_file}); var cronPath = "/tmp"; - if(process.env.CRON_PATH !== undefined) { console.log(`Path to crond files set using env variables ${process.env.CRON_PATH}`); cronPath = process.env.CRON_PATH; @@ -24,6 +23,8 @@ db.loadDatabase(function (err) { var exec = require('child_process').exec; var fs = require('fs'); var cron_parser = require("cron-parser"); +var cronstrue = require('cronstrue/i18n'); +var humanCronLocate = process.env.HUMANCRON ?? "en" crontab = function(name, command, schedule, stopped, logging, mailing){ @@ -71,6 +72,7 @@ exports.crontabs = function(callback){ docs[i].next = "Next Reboot"; else try { + docs[i].human = cronstrue.toString(docs[i].schedule, { locale: humanCronLocate }); docs[i].next = cron_parser.parseExpression(docs[i].schedule).next().toString(); } catch(err) { console.error(err); diff --git a/package.json b/package.json index eceea42..a243429 100755 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "body-parser": "latest", "connect-busboy": "latest", "cron-parser": "latest", + "cronstrue": "^1.115.0", "ejs": "latest", "express": "latest", "express-basic-auth": "^1.2.0", diff --git a/views/index.ejs b/views/index.ejs index 6eedf8a..cdad51a 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -82,7 +82,8 @@ <% } %> <%= crontab.command %> - <%= crontab.schedule %> + <%= crontab.schedule %>
<%= crontab.human %>
<%= moment(new Date(crontab.timestamp)).fromNow() %> From 10cf05ca2d4f8e6a0934c517ce625e142f7fdcc8 Mon Sep 17 00:00:00 2001 From: Hasan Basri Date: Mon, 23 Aug 2021 20:56:23 +0700 Subject: [PATCH 3/4] add cRonstrue, parses a cron expression and outputs a human readable description of the cron schedule --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a243429..6865651 100755 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "body-parser": "latest", "connect-busboy": "latest", "cron-parser": "latest", - "cronstrue": "^1.115.0", + "cronstrue": "latest", "ejs": "latest", "express": "latest", "express-basic-auth": "^1.2.0", From 9b7989e86eef21c955cb348578bfc42c9cd83b92 Mon Sep 17 00:00:00 2001 From: alse Date: Sun, 17 Oct 2021 17:56:31 -0700 Subject: [PATCH 4/4] Human readable schedule under glyphicon --- views/index.ejs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/views/index.ejs b/views/index.ejs index cdad51a..dffacdd 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -82,8 +82,14 @@ <% } %> <%= crontab.command %> - <%= crontab.schedule %>
<%= crontab.human %>
+ + + <%= crontab.schedule %> + + + + + <%= moment(new Date(crontab.timestamp)).fromNow() %>