Commit graph

27 commits

Author SHA1 Message Date
Brett Smith
7bdd98075f tests: AddEntityHook tests for e758db3, 56cba14, 82e4bf5. 2017-12-30 09:49:33 -05:00
Brett Smith
18eebbc0ed hooks: run() return value controls processing of entry data.
Instead of using in-band signaling with the entry_data dict.
I don't know why I didn't think of this in the first place.
2017-12-19 10:19:56 -05:00
Brett Smith
cc8c03ab62 main: Provide template variables about the file being imported. 2017-12-19 09:13:44 -05:00
Brett Smith
b41a7a99af hooks: Filter entries by setting entry_data['_hook_cancel'] to True.
The current method only works for plain dicts and other simple mappings.
Mapping that may still contain items after .clear(), like ChainMap, can't
rely on the old method.
2017-12-19 09:13:44 -05:00
Brett Smith
34b71baaf7 template: render() takes a single mapping argument.
This lets it receive other mapping types like ChainMap.
2017-12-19 09:13:00 -05:00
Brett Smith
1b98ab2015 util: Rename to strparse.
Better describes what the functions in the module do.
2017-12-19 06:42:05 -05:00
Brett Smith
6ea28c2c89 util: Add parse_currency_dec.
The current importers trim lots of extraneous symbols and whitespace from
currency strings before passing them to Decimal().  This function takes care
of all that in a single place.
2017-12-18 23:04:05 -05:00
Brett Smith
4796932cb7 importers.patreon: Handle commas in large amounts. 2017-12-18 14:09:54 -05:00
Brett Smith
a2120805ab tests: Remove noop cruft file. 2017-12-18 14:06:53 -05:00
Brett Smith
0b665d388e template: Add is_empty method.
This makes it easy to detect when a user has specifically cleared a
template; i.e., from a specific configuration section.
2017-12-18 12:35:18 -05:00
Brett Smith
474a0390e3 template: Support custom payee lines. 2017-12-18 12:23:18 -05:00
Brett Smith
668906b944 importers.nbpy2017: Yield entries for the original invoice.
This lets us write up a cleaner separation between the original act of
invoicing and the Stripe payment.
2017-12-18 10:47:04 -05:00
Brett Smith
fb0e4f2235 tests: Specify types in importers.yml, rather than munging them manually. 2017-12-18 10:28:05 -05:00
Brett Smith
f56571219b importers.nbpy2017: Don't deal with refunds.
Only one refund was actually issued, so we can deal with that manually.  But
the code did its job of revealing those cases and checking we were handling
them well.
2017-12-18 09:21:31 -05:00
Brett Smith
93fffe6666 importers: New importer for North Bay Python invoices.
This probably has no use outside Conservancy.
2017-12-17 20:46:00 -05:00
Brett Smith
a924d9fb1f tests: Support more Decimal values from importers without specifying them all. 2017-12-17 13:42:51 -05:00
Brett Smith
e3ec03cf19 template: Don't output accounts that end up having no amount. 2017-12-16 13:10:49 -05:00
Brett Smith
a1f815c60b template: Improve error detection and reporting in amount expressions. 2017-11-09 17:39:24 -05:00
Brett Smith
093834dd15 template: Support variables in account names. 2017-11-09 16:18:03 -05:00
Brett Smith
e5a0089eb9 importers: Add an importer for Stripe payments. 2017-11-09 16:18:03 -05:00
Brett Smith
3b821cbbee template: Template amounts are now written with fuller expressions.
This makes it possible to support transactions that divide funds in
ways other than a simple percentage split.  For example, there
might be tax withheld, or a flat fee expense on each transaction.
2017-11-09 16:17:58 -05:00
Brett Smith
cebd1481ec patreon: Import VAT withholdings. 2017-10-26 12:56:29 -04:00
Brett Smith
ab9c65d20d import2ledger: Support only importing entries in a date range. 2017-10-22 16:10:17 -04:00
Brett Smith
b37575eabc tests: Remove stray debug prints. 2017-10-22 16:08:37 -04:00
Brett Smith
f888b13c56 hooks.add_entity: Better handle common name prefix parts.
Keep these with the name they're attached to, rather than breaking the name
in the middle.
2017-10-22 14:05:56 -04:00
Brett Smith
f0dafcaed9 hooks.add_entity: ASCIIfy stroke characters. 2017-10-22 13:58:18 -04:00
Brett Smith
5c73c40bcc import2ledger: First version.
This is a pretty feature-complete version 1.
I don't know why I waited this long to commit anything.
2017-10-22 13:40:20 -04:00