diff options
author | Julien Dessaux | 2021-04-23 16:51:22 +0200 |
---|---|---|
committer | Julien Dessaux | 2021-04-23 16:51:22 +0200 |
commit | 38d9c881b3b5ece91f428c87f0b7bb9efb3e88a8 (patch) | |
tree | d3f7167fae6388f4db35a63e660d1816c9c2943e /pkg/job/utils.go | |
parent | Fixed wrongfully hardcoded path in tests. (diff) | |
download | bareos-zabbix-check-38d9c881b3b5ece91f428c87f0b7bb9efb3e88a8.tar.gz bareos-zabbix-check-38d9c881b3b5ece91f428c87f0b7bb9efb3e88a8.tar.bz2 bareos-zabbix-check-38d9c881b3b5ece91f428c87f0b7bb9efb3e88a8.zip |
Updated for go 1.16 modules1.2
Diffstat (limited to 'pkg/job/utils.go')
-rw-r--r-- | pkg/job/utils.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pkg/job/utils.go b/pkg/job/utils.go new file mode 100644 index 0000000..6537474 --- /dev/null +++ b/pkg/job/utils.go @@ -0,0 +1,35 @@ +package job + +// KeepOldestOnly filters a job list and keeps only the most recent entry for a job name +func KeepOldestOnly(jobs []Job) (results []Job) { +outerLoop: + for i := 0; i < len(jobs); i++ { + job := jobs[i] + for j := 0; j < len(results); j++ { + result := results[j] + if result.Name == job.Name { + continue outerLoop + } + } + for j := i + 1; j < len(jobs); j++ { + sec := jobs[j] + if sec.Name == job.Name && sec.Timestamp > job.Timestamp { + job = sec + } + } + results = append(results, job) + } + return +} + +// KeepSuccessOnly returns only the successful jobs from a job list (suiatble to write a new spool file) +func KeepSuccessOnly(jobs []Job) (result []Job) { + result = make([]Job, 0) + for i := 0; i < len(jobs); i++ { + job := jobs[i] + if job.Success { + result = append(result, job) + } + } + return +} |