From 38d9c881b3b5ece91f428c87f0b7bb9efb3e88a8 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Fri, 23 Apr 2021 16:51:22 +0200 Subject: Updated for go 1.16 modules --- pkg/job/utils.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 pkg/job/utils.go (limited to 'pkg/job/utils.go') 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 +} -- cgit v1.2.3