summaryrefslogtreecommitdiff
path: root/src/lib/kdm_cli.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-12-16 20:19:18 +0100
committerCarl Hetherington <cth@carlh.net>2024-01-28 02:01:58 +0100
commit5897991376f2aacd15d6c85161ff560dbb36fa3c (patch)
tree690066b044d517da57273de638ee2c8cd7beec23 /src/lib/kdm_cli.cc
parent896d787e218381b7b0b16b7a64b51993b7dc326a (diff)
Fix time parsing in KDM CLI to be a bit more lenient.
Diffstat (limited to 'src/lib/kdm_cli.cc')
-rw-r--r--src/lib/kdm_cli.cc22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/lib/kdm_cli.cc b/src/lib/kdm_cli.cc
index 112913042..1ad961928 100644
--- a/src/lib/kdm_cli.cc
+++ b/src/lib/kdm_cli.cc
@@ -425,6 +425,22 @@ dump_dkdm_group (shared_ptr<DKDMGroup> group, int indent, std::function<void (st
}
+static
+dcp::LocalTime
+time_from_string(string time)
+{
+ if (time == "now") {
+ return {};
+ }
+
+ if (time.length() > 10 && time[10] == ' ') {
+ time[10] = 'T';
+ }
+
+ return dcp::LocalTime(time);
+}
+
+
optional<string>
kdm_cli (int argc, char* argv[], std::function<void (string)> out)
try
@@ -502,11 +518,7 @@ try
container_name_format = dcp::NameFormat (optarg);
break;
case 'f':
- if (string(optarg) == "now") {
- valid_from = dcp::LocalTime();
- } else {
- valid_from = dcp::LocalTime(optarg);
- }
+ valid_from = time_from_string(optarg);
break;
case 't':
valid_to = dcp::LocalTime(optarg);