[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: ui: 'string->duration' supports hours and seconds.
From: |
Ludovic Courtès |
Subject: |
01/02: ui: 'string->duration' supports hours and seconds. |
Date: |
Thu, 9 Jun 2016 21:35:18 +0000 (UTC) |
civodul pushed a commit to branch master
in repository guix.
commit 638c5b79397aba92ab3211a1ea3b3418e112ec66
Author: Ludovic Courtès <address@hidden>
Date: Thu Jun 9 23:28:17 2016 +0200
ui: 'string->duration' supports hours and seconds.
* guix/ui.scm (string->duration): Add seconds and hours.
* tests/ui.scm ("duration, 1 second"): New test.
---
guix/ui.scm | 10 +++++++++-
tests/ui.scm | 6 +++++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/guix/ui.scm b/guix/ui.scm
index cbc9dc8..4d1b65c 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -968,7 +968,15 @@ following patterns: \"1d\", \"1w\", \"1m\"."
(make-time time-duration 0
(* 3600 hours (string->number (match:substring match 1)))))
- (cond ((string-match "^([0-9]+)d$" str)
+ (cond ((string-match "^([0-9]+)s$" str)
+ =>
+ (lambda (match)
+ (make-time time-duration 0
+ (string->number (match:substring match 1)))))
+ ((string-match "^([0-9]+)h$" str)
+ (lambda (match)
+ (hours->duration 1 match)))
+ ((string-match "^([0-9]+)d$" str)
=>
(lambda (match)
(hours->duration 24 match)))
diff --git a/tests/ui.scm b/tests/ui.scm
index 51577ac..058207e 100644
--- a/tests/ui.scm
+++ b/tests/ui.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <address@hidden>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -189,6 +189,10 @@ Second line" 24))
(string->duration "1m")
(string->duration "30d"))
+(test-equal "duration, 1 second"
+ (make-time time-duration 0 1)
+ (string->duration "1s"))
+
(test-equal "duration, integer"
#f
(string->duration "1"))