Brett Smith
d145e22734
test_plugin_run: Simplify testing strategy.
...
Avoid keeping state in the hook classes/instances.
2020-03-05 19:31:07 -05:00
Brett Smith
e9e2bb9b00
plugin: Rename the main method of hooks from check
to run
.
...
This will be more appropriate when we have hooks that do more than
check metadata.
2020-03-05 17:48:59 -05:00
Brett Smith
53329c7a23
plugin: Start entry point.
...
This doesn't integrate with existing hooks but at least sketches out the
main loop.
2020-03-05 17:41:58 -05:00
Brett Smith
dbe9362987
meta_tax_implication: Initial module and tests.
2020-03-05 15:48:10 -05:00
Brett Smith
5849b562d0
expenseAllocation: Switch to own MetadataEnum class.
...
Python's own enum works fine for the simple values that expenseAllocation
uses, but it won't work as well for metadata like taxImplication where
many of the values aren't legal Python identifiers. Introduce our own
MetadataEnum class with the necessary functionality, and switch to that.
2020-03-05 15:33:27 -05:00
Brett Smith
16c47c64b2
expenseAllocation: Date-limit the transactions we work on.
...
This prevents the plugin from giving meaning to postings that
might not really be there.
2020-03-05 14:37:47 -05:00
Brett Smith
910b95c942
errors: Add a __repr__.
...
This makes the errors easier to understand in test failures.
2020-03-05 13:57:20 -05:00
Brett Smith
34090df23f
expenseAllocation: Set default values by account.
2020-03-05 13:44:36 -05:00
Brett Smith
a1ec25a33d
expenseAllocation: Test typos as invalid values.
2020-03-05 12:23:52 -05:00
Brett Smith
99f97d3f58
expenseAllocation: Accept 'admin' shorthand for 'administration'.
2020-03-05 12:23:03 -05:00
Brett Smith
2ac434b616
expenseAllocation: Test setting at transaction level.
2020-03-05 12:21:20 -05:00
Brett Smith
d436a388f7
expenseAllocation: Only check Expenses postings.
2020-03-05 12:10:05 -05:00
Brett Smith
7862919022
expenseAllocation: Start checker.
...
This is the simplest version of a common validation we're going to do:
make sure that a particular piece of metadata has one of a set of
values.
This checker needs some bounds checking but I wanted to err on the
side of committing this early because it introduces so much base
infrastructure.
2020-03-05 12:05:13 -05:00
Brett Smith
c5dd7984bc
Initial commit: license, setup.py, gitignore, skeleton structure.
2020-03-05 09:33:23 -05:00