diff options
Diffstat (limited to 'pkg/util')
-rw-r--r-- | pkg/util/filters.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/pkg/util/filters.go b/pkg/util/filters.go new file mode 100644 index 000000000..bf16f89e3 --- /dev/null +++ b/pkg/util/filters.go @@ -0,0 +1,25 @@ +package util + +import ( + "time" + + "github.com/containers/podman/v3/pkg/timetype" + "github.com/pkg/errors" +) + +// ComputeUntilTimestamp extracts unitil timestamp from filters +func ComputeUntilTimestamp(filter string, filterValues []string) (time.Time, error) { + invalid := time.Time{} + if len(filterValues) != 1 { + return invalid, errors.Errorf("specify exactly one timestamp for %s", filter) + } + ts, err := timetype.GetTimestamp(filterValues[0], time.Now()) + if err != nil { + return invalid, err + } + seconds, nanoseconds, err := timetype.ParseTimestamps(ts, 0) + if err != nil { + return invalid, err + } + return time.Unix(seconds, nanoseconds), nil +} |