mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00
Specify ranges without ':' in configuration
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
This commit is contained in:
parent
edfabcc1e5
commit
c6130157c6
6 changed files with 17 additions and 18 deletions
|
@ -23,10 +23,10 @@ If the extension produces no output and a non-zero rc, then 255 is returned.
|
||||||
|
|
||||||
**reports.range**::
|
**reports.range**::
|
||||||
Sets the default date range for all reports.
|
Sets the default date range for all reports.
|
||||||
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).
|
||||||
Defaults to `:all`
|
Defaults to `all`
|
||||||
|
|
||||||
**reports.**__<name>__**.range**::
|
**reports.**__<name>__**.range**::
|
||||||
Set the date range for report _name_, used if no _range_ is given on the command line.
|
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').
|
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).
|
||||||
|
|
|
@ -63,8 +63,8 @@ Default value is 'yes'.
|
||||||
|
|
||||||
**reports.summary.range**::
|
**reports.summary.range**::
|
||||||
Set the date range for the summary report.
|
Set the date range for the summary report.
|
||||||
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).
|
||||||
Default value is ':day'
|
Default value is 'day'
|
||||||
|
|
||||||
**reports.summary.weekdays**::
|
**reports.summary.weekdays**::
|
||||||
Determines whether the weekday column is shown in the summary.
|
Determines whether the weekday column is shown in the summary.
|
||||||
|
|
|
@ -48,11 +48,11 @@ int CmdChartDay (
|
||||||
Rules& rules,
|
Rules& rules,
|
||||||
Database& database)
|
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);
|
auto report_hint = rules.get ("reports.day.range", default_hint);
|
||||||
|
|
||||||
Range default_range = {};
|
Range default_range = {};
|
||||||
expandIntervalHint (report_hint, default_range);
|
expandIntervalHint (":" + report_hint, default_range);
|
||||||
|
|
||||||
// Create a filter, and if empty, choose the current day.
|
// Create a filter, and if empty, choose the current day.
|
||||||
auto filter = cli.getFilter (default_range);
|
auto filter = cli.getFilter (default_range);
|
||||||
|
@ -66,11 +66,11 @@ int CmdChartWeek (
|
||||||
Rules& rules,
|
Rules& rules,
|
||||||
Database& database)
|
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);
|
auto report_hint = rules.get ("reports.week.range", default_hint);
|
||||||
|
|
||||||
Range default_range = {};
|
Range default_range = {};
|
||||||
expandIntervalHint (report_hint, default_range);
|
expandIntervalHint (":" + report_hint, default_range);
|
||||||
|
|
||||||
// Create a filter, and if empty, choose the current week.
|
// Create a filter, and if empty, choose the current week.
|
||||||
auto filter = cli.getFilter (default_range);
|
auto filter = cli.getFilter (default_range);
|
||||||
|
@ -84,11 +84,11 @@ int CmdChartMonth (
|
||||||
Rules& rules,
|
Rules& rules,
|
||||||
Database& database)
|
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);
|
auto report_hint = rules.get ("reports.month.range", default_hint);
|
||||||
|
|
||||||
Range default_range = {};
|
Range default_range = {};
|
||||||
expandIntervalHint (report_hint, default_range);
|
expandIntervalHint (":" + report_hint, default_range);
|
||||||
|
|
||||||
// Create a filter, and if empty, choose the current month.
|
// Create a filter, and if empty, choose the current month.
|
||||||
auto filter = cli.getFilter (default_range);
|
auto filter = cli.getFilter (default_range);
|
||||||
|
|
|
@ -128,11 +128,11 @@ int CmdReport (
|
||||||
}
|
}
|
||||||
|
|
||||||
auto script_name = getScriptName (script_path);
|
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);
|
auto report_hint = rules.get (format ("reports.{1}.range", script_name), default_hint);
|
||||||
|
|
||||||
Range default_range = {};
|
Range default_range = {};
|
||||||
expandIntervalHint (report_hint, default_range);
|
expandIntervalHint (":" + report_hint, default_range);
|
||||||
|
|
||||||
// Create a filter, and if empty, choose the current week.
|
// Create a filter, and if empty, choose the current week.
|
||||||
auto filter = cli.getFilter (default_range);
|
auto filter = cli.getFilter (default_range);
|
||||||
|
|
|
@ -47,12 +47,11 @@ int CmdSummary (
|
||||||
{
|
{
|
||||||
const bool verbose = rules.getBoolean ("verbose");
|
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);
|
auto report_hint = rules.get ("reports.summary.range", default_hint);
|
||||||
|
|
||||||
Range default_range = {};
|
Range default_range = {};
|
||||||
expandIntervalHint (report_hint, default_range);
|
expandIntervalHint (":" + report_hint, default_range);
|
||||||
|
|
||||||
auto filter = cli.getFilter (default_range);
|
auto filter = cli.getFilter (default_range);
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ class TestExtensions(TestCase):
|
||||||
"""Default range is applied when no range is given on the command line"""
|
"""Default range is applied when no range is given on the command line"""
|
||||||
self.t.add_default_extension("debug.py")
|
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 = datetime.now()
|
||||||
now_utc = now.utcnow()
|
now_utc = now.utcnow()
|
||||||
|
@ -85,7 +85,7 @@ class TestExtensions(TestCase):
|
||||||
"""Default range is overridden when range is given on the command line"""
|
"""Default range is overridden when range is given on the command line"""
|
||||||
self.t.add_default_extension("debug.py")
|
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 = datetime.now()
|
||||||
now_utc = now.utcnow()
|
now_utc = now.utcnow()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue