Commit graph

2908 commits

Author SHA1 Message Date
Shaun Ruffell
86bb1465e8 getTracked does not need to read in entire database
Related to issue #245.
2020-01-17 17:48:57 +01:00
Shaun Ruffell
e9f860d8ce Remove call to getAllInclusions when initializing tag database 2020-01-17 17:48:57 +01:00
Shaun Ruffell
cf8c35ad55 intervalSummarize should not load the entire database
intervalSummarize is called at the end of most commands. The cost of parsing
all the lines in the database can be significant as the size of the database
grows.

Related to issue #245.
2020-01-17 17:48:57 +01:00
Shaun Ruffell
6af1101ea2 Database: Use reverse iterator in lastLine
Now that we have the iterators, we can standardize on their use.

Related to issue #245.
2020-01-17 17:48:57 +01:00
Shaun Ruffell
557fd4cb34 Database: Add forward/reverse iterator
This allows the database to be treated as a single collection of strings, but
can be used to avoid loading the entire database when only interested in recent
entries.

Related to issue #245.
2020-01-17 17:48:57 +01:00
Shaun Ruffell
ea3bbd0e85 Datafile: allLines() can return const reference instead of copy.
Not only does this eliminate the need to copy the stings to the caller, it will
also eliminate the need for any iterators over the entries in the Database from
having to hold a copy of the lines from the Datafile.

Related to #245.
2020-01-17 17:48:57 +01:00
Shaun Ruffell
ff56bc4759 test/simpletap: Look for functions that start with "test_" on exceptions
Since the switch to python3, there is another method that starts with "test"
higher up in the stack which produces unhelpful file / line information on a
failed test like:

  ERROR: CommandError on file /usr/lib/python3.6/unittest/case.py line 59 in testPartExecutor: 'yield':

This change restores the previous behavior from before the switch to python 3.
2020-01-17 17:48:57 +01:00
Shaun Ruffell
0e354da1c7 test: Use faketime instead of date -v for relative dates
Ubuntu 18.04.3 does not have the -v option to the date utility.
2020-01-17 17:48:57 +01:00
Thomas Lauf
5e385b84a1 Switch to python 3
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 19:01:26 +01:00
Thomas Lauf
3f3c4c3108 Switch to python 3
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 18:52:19 +01:00
Thomas Lauf
dc77a8c457 Use new style formatting
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 18:39:18 +01:00
Thomas Lauf
d746b422bf Accommodate PEP8
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 18:31:20 +01:00
Thomas Lauf
6c601cfeb8 Switch to python 3
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 18:30:28 +01:00
Thomas Lauf
4f657e57d9 Switch to python 3
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 15:30:17 +01:00
Thomas Lauf
7997c99106 Update README
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 15:12:33 +01:00
Thomas Lauf
42df2cb08b Update copyright years and holders
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 15:12:33 +01:00
Thomas Lauf
002a04db63 Merge same holidays from different regions
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 15:12:33 +01:00
Thomas Lauf
ff562b8a9e Simplify region filtering by setting a default value
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 15:12:33 +01:00
Thomas Lauf
bb905fd0b9 Inline variable
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 13:21:08 +01:00
Thomas Lauf
38a5afe88c Remove redundant character escape in regex
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 13:20:05 +01:00
Thomas Lauf
452cce6137 Switch to python 3
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-28 13:18:08 +01:00
Thomas Lauf
ddf713a722 Switch to python 3
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-27 19:08:57 +01:00
Thomas Lauf
f7a3e26d8e Move section 7 files to directory man7
- Amends #262

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-27 17:22:00 +01:00
Thomas Lauf
3e979a7d05 Update ChangeLog
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-27 16:11:16 +01:00
Thomas Lauf
03ffa70203 Add curly brackets
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-27 16:10:46 +01:00
Thomas Lauf
30740af3ba Resharpen error message for if command stop gets called with ids
- Amends #270

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-27 16:10:46 +01:00
Thomas Lauf
13a8edc7ef Resharpen test stop with id should suggest modify command
- Amends #270

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-27 16:10:28 +01:00
Shaun Ruffell
145af6603c Stop with id should suggest modify command
Recently I was trying to stop an interval that I had left open over the
weekend, but I had already started a new interval at the beginning of the
week. The error I was received was "The end of a date range must be after the
start." which was confusing to me.

After a few moments I realized I should have been using the modify command.
Now the stop command will suggest modify if someone attempts to use stop for
this purpose.
2019-12-27 15:47:39 +01:00
Thomas Lauf
80fe5e4221 Use pyenv to run tests with python3
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-22 13:09:19 +01:00
Thomas Lauf
eccf82ff56 Print version information at end
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-21 22:55:02 +01:00
Thomas Lauf
6ecdbc5cf7 Remove unneeded packages
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-21 22:53:59 +01:00
Thomas Lauf
c6fb6c4e3a Fix installation of python3-dateutil
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-21 22:53:10 +01:00
Thomas Lauf
6637452a1f Cleanup Dockerfiles
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-21 22:32:56 +01:00
Thomas Lauf
5c1e037abc Persist activation of scl package
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-21 22:32:55 +01:00
Thomas Lauf
8189652bbc Print version information at end
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-21 22:32:46 +01:00
Thomas Lauf
800062ace2 Consolidate package list
- Remove unnecessary packages
- Sort packages alphabetically

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-21 22:32:36 +01:00
Thomas Lauf
660816ae5f Put packages on separate lines for better readability
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-21 22:32:25 +01:00
Thomas Lauf
28a3db5579 Switch to python 3
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-21 22:31:05 +01:00
Thomas Lauf
e307e548e0 Require python 3 for running the testsuite
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-21 22:30:44 +01:00
Thomas Lauf
38ddb4ee5b Remove line break
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-11 10:20:33 +01:00
Thomas Lauf
09a77eddb3 Mark byte literals
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-11 10:20:33 +01:00
Thomas Lauf
c27344525b Remove compat.py
- There is only one string type in python3
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-11 10:20:33 +01:00
Thomas Lauf
c7e044373f Replace assertItemsEqual with assertSequenceEqual
- Add sorting for both lists
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-11 10:20:33 +01:00
Thomas Lauf
34a152c794 Replace assertRegexpMatches with assertRegex
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-11 10:20:33 +01:00
Thomas Lauf
9dd8257cc0 Replace assertEquals with assertEqual
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-11 10:20:33 +01:00
Thomas Lauf
7fa7ca5f04 Remove vim annotations
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-11 10:20:33 +01:00
Thomas Lauf
f53e1cef6d Switch to python 3
- #259

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-11 10:20:32 +01:00
Thomas Lauf
2f6d12fc9e Add performance tests
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-12-06 16:29:40 +01:00
Thomas Lauf
05a418592b Add test environment for macOS 10.14
- Small tweaks in test script

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-11-23 22:02:09 +01:00
Thomas Lauf
a2a53365ad Add commit hash for release 1.2.0
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2019-11-23 20:33:00 +01:00