Specify ranges without ':' in configuration

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
This commit is contained in:
Thomas Lauf 2023-04-02 18:02:11 +02:00
parent edfabcc1e5
commit c6130157c6
6 changed files with 17 additions and 18 deletions

View file

@ -23,10 +23,10 @@ If the extension produces no output and a non-zero rc, then 255 is returned.
**reports.range**::
Sets the default date range for all reports.
The value has to be a range hint, see timew-hints(7).
Defaults to `:all`
The value has to correspond to a range hint, see timew-hints(7).
Defaults to `all`
**reports.**__<name>__**.range**::
Set the date range for report _name_, used if no _range_ is given on the command line.
Here, _name_ is the name of the report executable without its extension (i.e. a report executable 'foo.py' is referred to by 'foo').
The value has to be a range hint, see timew-hints(7).
The value has to correspond to a range hint, see timew-hints(7).

View file

@ -63,8 +63,8 @@ Default value is 'yes'.
**reports.summary.range**::
Set the date range for the summary report.
The value has to be a range hint, see timew-hints(7).
Default value is ':day'
The value has to correspond to a range hint, see timew-hints(7).
Default value is 'day'
**reports.summary.weekdays**::
Determines whether the weekday column is shown in the summary.

View file

@ -48,11 +48,11 @@ int CmdChartDay (
Rules& rules,
Database& database)
{
auto default_hint = rules.get ("reports.range", ":day");
auto default_hint = rules.get ("reports.range", "day");
auto report_hint = rules.get ("reports.day.range", default_hint);
Range default_range = {};
expandIntervalHint (report_hint, default_range);
expandIntervalHint (":" + report_hint, default_range);
// Create a filter, and if empty, choose the current day.
auto filter = cli.getFilter (default_range);
@ -66,11 +66,11 @@ int CmdChartWeek (
Rules& rules,
Database& database)
{
auto default_hint = rules.get ("reports.range", ":week");
auto default_hint = rules.get ("reports.range", "week");
auto report_hint = rules.get ("reports.week.range", default_hint);
Range default_range = {};
expandIntervalHint (report_hint, default_range);
expandIntervalHint (":" + report_hint, default_range);
// Create a filter, and if empty, choose the current week.
auto filter = cli.getFilter (default_range);
@ -84,11 +84,11 @@ int CmdChartMonth (
Rules& rules,
Database& database)
{
auto default_hint = rules.get ("reports.range", ":month");
auto default_hint = rules.get ("reports.range", "month");
auto report_hint = rules.get ("reports.month.range", default_hint);
Range default_range = {};
expandIntervalHint (report_hint, default_range);
expandIntervalHint (":" + report_hint, default_range);
// Create a filter, and if empty, choose the current month.
auto filter = cli.getFilter (default_range);

View file

@ -128,11 +128,11 @@ int CmdReport (
}
auto script_name = getScriptName (script_path);
auto default_hint = rules.get ("reports.range", ":all");
auto default_hint = rules.get ("reports.range", "all");
auto report_hint = rules.get (format ("reports.{1}.range", script_name), default_hint);
Range default_range = {};
expandIntervalHint (report_hint, default_range);
expandIntervalHint (":" + report_hint, default_range);
// Create a filter, and if empty, choose the current week.
auto filter = cli.getFilter (default_range);

View file

@ -47,12 +47,11 @@ int CmdSummary (
{
const bool verbose = rules.getBoolean ("verbose");
// Create a filter, and if empty, choose 'today'.
auto default_hint = rules.get ("reports.range", ":day");
auto default_hint = rules.get ("reports.range", "day");
auto report_hint = rules.get ("reports.summary.range", default_hint);
Range default_range = {};
expandIntervalHint (report_hint, default_range);
expandIntervalHint (":" + report_hint, default_range);
auto filter = cli.getFilter (default_range);

View file

@ -61,7 +61,7 @@ class TestExtensions(TestCase):
"""Default range is applied when no range is given on the command line"""
self.t.add_default_extension("debug.py")
self.t.config("reports.debug.range", "':day'")
self.t.config("reports.debug.range", "'day'")
now = datetime.now()
now_utc = now.utcnow()
@ -85,7 +85,7 @@ class TestExtensions(TestCase):
"""Default range is overridden when range is given on the command line"""
self.t.add_default_extension("debug.py")
self.t.config("reports.debug.range", "':day'")
self.t.config("reports.debug.range", "'day'")
now = datetime.now()
now_utc = now.utcnow()