mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00
data: Directly manipulates filter.range
This commit is contained in:
parent
a5b78cb366
commit
fb5fa50e7e
1 changed files with 11 additions and 25 deletions
36
src/data.cpp
36
src/data.cpp
|
@ -102,14 +102,11 @@ Interval getFilter (const CLI& cli)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Range range;
|
|
||||||
|
|
||||||
// <date>
|
// <date>
|
||||||
if (args.size () == 1 &&
|
if (args.size () == 1 &&
|
||||||
args[0] == "<date>")
|
args[0] == "<date>")
|
||||||
{
|
{
|
||||||
range.start = Datetime (start);
|
filter.range = {Datetime (start), Datetime ()};
|
||||||
range.end = Datetime ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// from <date>
|
// from <date>
|
||||||
|
@ -117,8 +114,7 @@ Interval getFilter (const CLI& cli)
|
||||||
args[0] == "from" &&
|
args[0] == "from" &&
|
||||||
args[1] == "<date>")
|
args[1] == "<date>")
|
||||||
{
|
{
|
||||||
range.start = Datetime (start);
|
filter.range = {Datetime (start), Datetime ()};
|
||||||
range.end = Datetime ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// <date> to/- <date>
|
// <date> to/- <date>
|
||||||
|
@ -127,8 +123,7 @@ Interval getFilter (const CLI& cli)
|
||||||
(args[1] == "to" || args[1] == "-") &&
|
(args[1] == "to" || args[1] == "-") &&
|
||||||
args[2] == "<date>")
|
args[2] == "<date>")
|
||||||
{
|
{
|
||||||
range.start = Datetime (start);
|
filter.range = {Datetime (start), Datetime (end)};
|
||||||
range.end = Datetime (end);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// from/since <date> to/- <date>
|
// from/since <date> to/- <date>
|
||||||
|
@ -138,8 +133,7 @@ Interval getFilter (const CLI& cli)
|
||||||
(args[2] == "to" || args[2] == "-") &&
|
(args[2] == "to" || args[2] == "-") &&
|
||||||
args[3] == "<date>")
|
args[3] == "<date>")
|
||||||
{
|
{
|
||||||
range.start = Datetime (start);
|
filter.range = {Datetime (start), Datetime (end)};
|
||||||
range.end = Datetime (end);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// <date> for <duration>
|
// <date> for <duration>
|
||||||
|
@ -148,8 +142,7 @@ Interval getFilter (const CLI& cli)
|
||||||
args[1] == "for" &&
|
args[1] == "for" &&
|
||||||
args[2] == "<duration>")
|
args[2] == "<duration>")
|
||||||
{
|
{
|
||||||
range.start = Datetime (start);
|
filter.range = {Datetime (start), Datetime (start) + Duration (duration).toTime_t ()};
|
||||||
range.end = Datetime (start) + Duration (duration).toTime_t ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// from/since <date> for <duration>
|
// from/since <date> for <duration>
|
||||||
|
@ -159,8 +152,7 @@ Interval getFilter (const CLI& cli)
|
||||||
args[2] == "for" &&
|
args[2] == "for" &&
|
||||||
args[3] == "<duration>")
|
args[3] == "<duration>")
|
||||||
{
|
{
|
||||||
range.start = Datetime (start);
|
filter.range = {Datetime (start), Datetime (start) + Duration (duration).toTime_t ()};
|
||||||
range.end = Datetime (start) + Duration (duration).toTime_t ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// <duration> before <date>
|
// <duration> before <date>
|
||||||
|
@ -169,8 +161,7 @@ Interval getFilter (const CLI& cli)
|
||||||
args[1] == "before" &&
|
args[1] == "before" &&
|
||||||
args[2] == "<date>")
|
args[2] == "<date>")
|
||||||
{
|
{
|
||||||
range.start = Datetime (start) - Duration (duration).toTime_t ();
|
filter.range = {Datetime (start) - Duration (duration).toTime_t (), Datetime (start)};
|
||||||
range.end = Datetime (start);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// <duration> after <date>
|
// <duration> after <date>
|
||||||
|
@ -179,8 +170,7 @@ Interval getFilter (const CLI& cli)
|
||||||
args[1] == "after" &&
|
args[1] == "after" &&
|
||||||
args[2] == "<date>")
|
args[2] == "<date>")
|
||||||
{
|
{
|
||||||
range.start = Datetime (start);
|
filter.range = {Datetime (start), Datetime (start) + Duration (duration).toTime_t ()};
|
||||||
range.end = Datetime (start) + Duration (duration).toTime_t ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// <duration> ago
|
// <duration> ago
|
||||||
|
@ -188,8 +178,7 @@ Interval getFilter (const CLI& cli)
|
||||||
args[0] == "<duration>" &&
|
args[0] == "<duration>" &&
|
||||||
args[1] == "ago")
|
args[1] == "ago")
|
||||||
{
|
{
|
||||||
range.start = Datetime () - Duration (duration).toTime_t ();
|
filter.range = {Datetime () - Duration (duration).toTime_t (), Datetime ()};
|
||||||
range.end = Datetime ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// for <duration>
|
// for <duration>
|
||||||
|
@ -197,16 +186,14 @@ Interval getFilter (const CLI& cli)
|
||||||
args[0] == "for" &&
|
args[0] == "for" &&
|
||||||
args[1] == "<duration>")
|
args[1] == "<duration>")
|
||||||
{
|
{
|
||||||
range.start = Datetime () - Duration (duration).toTime_t ();
|
filter.range = {Datetime () - Duration (duration).toTime_t (), Datetime ()};
|
||||||
range.end = Datetime ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// <duration>
|
// <duration>
|
||||||
else if (args.size () == 1 &&
|
else if (args.size () == 1 &&
|
||||||
args[0] == "<duration>")
|
args[0] == "<duration>")
|
||||||
{
|
{
|
||||||
range.start = Datetime () - Duration (duration).toTime_t ();
|
filter.range = {Datetime () - Duration (duration).toTime_t (), Datetime ()};
|
||||||
range.end = Datetime ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unrecognized date range construct.
|
// Unrecognized date range construct.
|
||||||
|
@ -215,7 +202,6 @@ Interval getFilter (const CLI& cli)
|
||||||
throw std::string ("Unrecognized date range: '") + join (" ", args) + "'.";
|
throw std::string ("Unrecognized date range: '") + join (" ", args) + "'.";
|
||||||
}
|
}
|
||||||
|
|
||||||
filter.range = range;
|
|
||||||
/*
|
/*
|
||||||
std::cout << "# getFilter:\n"
|
std::cout << "# getFilter:\n"
|
||||||
<< "# " << filter.dump () << "\n";
|
<< "# " << filter.dump () << "\n";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue