Merge pull request #2925 from nicolargo/standardize-history-display-timestamp

chg: alerts - standardise history display timings
pull/2933/head
RazCrimson 2024-08-19 00:04:18 +05:30 committed by GitHub
commit 2493a1929f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 103 additions and 94 deletions

View File

@ -11,7 +11,6 @@
<div class="table-row" v-for="(alert, alertId) in alerts" :key="alertId">
<div class="table-cell text-left">
{{ formatDate(alert.begin) }}
{{ alert.tz }}
({{ alert.ongoing ? 'ongoing' : alert.duration }}) -
<span v-show="!alert.ongoing"> {{ alert.state }} on </span>
<span :class="alert.state.toLowerCase()">
@ -41,18 +40,17 @@ export default {
return this.data.stats['alert'];
},
alerts() {
return (this.stats || []).map((alertalertStats) => {
return (this.stats || []).map((alertStats) => {
const alert = {};
var tzoffset = new Date().getTimezoneOffset();
alert.state = alertalertStats.state;
alert.type = alertalertStats.type;
alert.begin = alertalertStats.begin * 1000 - tzoffset * 60 * 1000;
alert.end = alertalertStats.end * 1000 - tzoffset * 60 * 1000;
alert.ongoing = alertalertStats.end == -1;
alert.min = alertalertStats.min;
alert.avg = alertalertStats.avg;
alert.max = alertalertStats.max;
alert.top = alertalertStats.top.join(', ');
alert.state = alertStats.state;
alert.type = alertStats.type;
alert.begin = alertStats.begin * 1000;
alert.end = alertStats.end * 1000;
alert.ongoing = alertStats.end == -1;
alert.min = alertStats.min;
alert.avg = alertStats.avg;
alert.max = alertStats.max;
alert.top = alertStats.top.join(', ');
if (!alert.ongoing) {
const duration = alert.end - alert.begin;
@ -60,12 +58,9 @@ export default {
minutes = parseInt((duration / (1000 * 60)) % 60),
hours = parseInt((duration / (1000 * 60 * 60)) % 24);
alert.duration =
padStart(hours, 2, '0') +
':' +
padStart(minutes, 2, '0') +
':' +
padStart(seconds, 2, '0');
alert.duration = padStart(hours, 2, '0') +
':' + padStart(minutes, 2, '0') +
':' + padStart(seconds, 2, '0');
}
return alert;
@ -94,8 +89,22 @@ export default {
}
},
methods: {
formatDate(date) {
return new Date(date).toLocaleString();
formatDate(timestamp) {
const tzOffset = new Date().getTimezoneOffset();
const hours = Math.trunc(Math.abs(tzOffset) / 60);
const minutes = Math.abs(tzOffset % 60);
let tzString = tzOffset <= 0 ? '+' : '-';
tzString += String(hours).padStart(2, '0') + String(minutes).padStart(2, '0');
const date = new Date(timestamp);
return String(date.getFullYear()) +
'-' + String(date.getMonth()).padStart(2, '0') +
'-' + String(date.getDate()).padStart(2, '0') +
' ' + String(date.getHours()).padStart(2, '0') +
':' + String(date.getMinutes()).padStart(2, '0') +
':' + String(date.getSeconds()).padStart(2, '0') +
'(' + tzString + ')';
}
}
};

File diff suppressed because one or more lines are too long

View File

@ -144,8 +144,8 @@ class PluginModel(GlancesPluginModel):
# New line
ret.append(self.curse_new_line())
# Start
msg = str(datetime.fromtimestamp(alert['begin'], tz=datetime.now().astimezone().tzinfo))
ret.append(self.curse_add_line(msg))
alert_dt = datetime.fromtimestamp(alert['begin'], tz=datetime.now().astimezone().tzinfo)
ret.append(self.curse_add_line(alert_dt.strftime("%Y-%m-%d %H:%M:%S(%z)")))
# Duration
if alert['end'] > 0:
# If finished display duration