From 66f6b264111c7afc493475e3bd9c415c652ebf45 Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Mon, 18 Apr 2016 08:24:15 -0400 Subject: [PATCH] helper: Direct filter range access --- src/helper.cpp | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/src/helper.cpp b/src/helper.cpp index 857a564b..ea17df19 100644 --- a/src/helper.cpp +++ b/src/helper.cpp @@ -173,12 +173,14 @@ Filter createFilterFromCLI (const CLI& cli) } } + Daterange range; + // if (args.size () == 1 && args[0] == "") { - filter.range ().start (Datetime (start)); - filter.range ().end (Datetime ("now")); + range.start (Datetime (start)); + range.end (Datetime ("now")); } // from @@ -186,8 +188,8 @@ Filter createFilterFromCLI (const CLI& cli) args[0] == "from" && args[1] == "") { - filter.range ().start (Datetime (start)); - filter.range ().end (Datetime ("now")); + range.start (Datetime (start)); + range.end (Datetime ("now")); } // to/- @@ -196,8 +198,8 @@ Filter createFilterFromCLI (const CLI& cli) (args[1] == "to" || args[1] == "-") && args[2] == "") { - filter.range ().start (Datetime (start)); - filter.range ().end (Datetime (end)); + range.start (Datetime (start)); + range.end (Datetime (end)); } // from/since to/- @@ -207,8 +209,8 @@ Filter createFilterFromCLI (const CLI& cli) (args[2] == "to" || args[2] == "-") && args[3] == "") { - filter.range ().start (Datetime (start)); - filter.range ().end (Datetime (end)); + range.start (Datetime (start)); + range.end (Datetime (end)); } // for @@ -217,8 +219,8 @@ Filter createFilterFromCLI (const CLI& cli) args[1] == "for" && args[2] == "") { - filter.range ().start (Datetime (start)); - filter.range ().end (Datetime (start) + Duration (duration).toTime_t ()); + range.start (Datetime (start)); + range.end (Datetime (start) + Duration (duration).toTime_t ()); } // from/since for @@ -228,8 +230,8 @@ Filter createFilterFromCLI (const CLI& cli) args[2] == "for" && args[3] == "") { - filter.range ().start (Datetime (start)); - filter.range ().end (Datetime (start) + Duration (duration).toTime_t ()); + range.start (Datetime (start)); + range.end (Datetime (start) + Duration (duration).toTime_t ()); } // before @@ -238,8 +240,8 @@ Filter createFilterFromCLI (const CLI& cli) args[1] == "before" && args[2] == "") { - filter.range ().start (Datetime (start) - Duration (duration).toTime_t ()); - filter.range ().end (Datetime (start)); + range.start (Datetime (start) - Duration (duration).toTime_t ()); + range.end (Datetime (start)); } // after @@ -248,16 +250,16 @@ Filter createFilterFromCLI (const CLI& cli) args[1] == "after" && args[2] == "") { - filter.range ().start (Datetime (start)); - filter.range ().end (Datetime (start) + Duration (duration).toTime_t ()); + range.start (Datetime (start)); + range.end (Datetime (start) + Duration (duration).toTime_t ()); } // else if (args.size () == 1 && args[0] == "") { - filter.range ().start (Datetime ("now") - Duration (duration).toTime_t ()); - filter.range ().end (Datetime ("now")); + range.start (Datetime ("now") - Duration (duration).toTime_t ()); + range.end (Datetime ("now")); } // Unrecognized date range construct. @@ -266,6 +268,7 @@ Filter createFilterFromCLI (const CLI& cli) throw std::string ("Unrecognized date range: '") + join (" ", args) + "'."; } + filter.range (range); return filter; } @@ -273,8 +276,8 @@ Filter createFilterFromCLI (const CLI& cli) Interval createIntervalFromFilter (const Filter& filter) { Interval interval; - interval.range ().start (filter.range ().start ()); - interval.range ().end (filter.range ().end ()); + interval.start (filter.range ().start ()); + interval.end (filter.range ().end ()); for (auto& tag : filter.tags ()) interval.tag (tag);