Commit graph

105 commits

Author SHA1 Message Date
Brett Smith
309ea4ac6a oreilly: New importer. 2018-07-03 10:24:21 -04:00
Brett Smith
b33c83af0a importers: Catch and handle CSV parse errors in can_import.
import2ledger bailed on one of these exceptions when trying to import
a recent XLS file that had a null byte on a line.
2018-06-20 15:59:56 -04:00
Brett Smith
cc0082814b hooks.ledger_entry: Warn when a template is unconfigured. 2018-02-22 14:58:38 -05:00
Brett Smith
c1baf3c38a main: Log key points of the main loop. 2018-02-22 14:58:08 -05:00
Brett Smith
6f139bbe90 README: Clean up vestigal "template foo bar" example key. 2018-02-22 14:57:36 -05:00
Brett Smith
5dfe2b1c7b main: Actually set logger level based on user's configuration. 2018-02-22 14:37:14 -05:00
Brett Smith
50376b2b78 README: Fix typo in Benevity Ledger entry key. 2018-02-22 14:36:55 -05:00
Brett Smith
ba871ffe34 CODE: Update for db59d2fc8c. 2018-01-26 15:35:07 -05:00
Brett Smith
eff9bdf856 README: Document `stripe payout ledger entry`. 2018-01-26 15:29:44 -05:00
Brett Smith
2de14e4573 stripe: Add payouts importer. 2018-01-25 17:59:19 -05:00
Brett Smith
f3e8f774c7 stripe: Extract more columns from payment data. 2018-01-25 12:11:58 -05:00
Brett Smith
5681545267 nbpy2017: Bugfix entry data key name for custom Ledger template. 2018-01-24 18:01:16 -05:00
Brett Smith
15bba54e4e setup: Add an [all_importers] extra for ease of installation. 2018-01-23 09:02:47 -05:00
Brett Smith
6fb447a43a setup: Modernize enum34 requirement declaration. 2018-01-23 09:01:59 -05:00
Brett Smith
055cab0703 setup: brightfunds depends on xlrd. 2018-01-23 08:40:41 -05:00
Brett Smith
37563ffae0 brightfunds: New importer.
This commit adds infrastructure to treat XLS files like CSV files, and
import them using the base classes that already exist for that.
2018-01-21 17:04:37 -05:00
Brett Smith
2502ca40dd TODO: Small additions from recent discussion. 2018-01-12 11:05:44 -05:00
Brett Smith
db59d2fc8c hooks.ledger_entry: Look up templates dynamically.
If there's a 'ledger entry' key in the entry data, use that value as the
name of the template to load.  Thanks to this, nbpy2017 could collapse
multiple importers into one.

Otherwise, build a default template name based on the importer source, and
try to use that.

All the configuration names now end with "ledger entry" instead of starting
with "template".  This makes it clearer what they're for, in case we
support other kinds of output templates in the future.

I ended up changing the names of some of the importers so the default
template name was nice, rather than specifying template names for all of
them, to reduce the amount of name discrepancies across the codebase.
2017-12-31 18:52:30 -05:00
Brett Smith
475de6db4e Clean stray file from initial development. 2017-12-31 17:58:47 -05:00
Brett Smith
cdec3d9aab hooks.ledger_entry: Bring in all Ledger-specific code.
This includes the old "template" module, plus the associated
template-loading code from config.
2017-12-31 17:29:14 -05:00
Brett Smith
6d1a7cb57d config: Make get_section a public method.
As hooks and importers both require more configuration, they're gonna need
to have lower-level access to configuration settings.
2017-12-31 16:50:07 -05:00
Brett Smith
76f2707aac hooks.ledger_entry: New hook to output Ledger entries.
This is roughly the smallest diff necessary to move output to a hook.
There's a lot of code reorganization that should still happen to bring it
better in line with this new structure.
2017-12-31 12:35:20 -05:00
Brett Smith
d2f8772e08 config: Add open_output_file method.
Make this functionality accessible to hooks.
2017-12-31 11:10:49 -05:00
Brett Smith
efe5768941 main: Set up a decimal context that safely handles currency. 2017-12-31 10:06:57 -05:00
Brett Smith
85b665200c hooks: Hooks declare what order they run in. 2017-12-30 18:11:41 -05:00
Brett Smith
e8bcbd5f99 hooks.add_entity: Remove common company suffixes from entity tags. 2017-12-30 17:29:54 -05:00
Brett Smith
fb947e6bb5 README: Document Benevity disbursement importer from 1b1e2d0.
With this, we've finished paying down our recent technical debt.
2017-12-30 16:55:12 -05:00
Brett Smith
e55e3151ba README: Document Amazon Affiliate Earnings importer from 25c6454. 2017-12-30 16:54:27 -05:00
Brett Smith
c7de107267 tests: Test Benevity disbursement importer from 1b1e2d0. 2017-12-30 16:39:38 -05:00
Brett Smith
e497561a7e tests: Test Amazon Affiliate Earnings importer from 25c6454. 2017-12-30 16:14:15 -05:00
Brett Smith
d9f68e9817 tests: Add template test for 40552d6. 2017-12-30 15:55:47 -05:00
Brett Smith
f6599a3deb tests: Add template test for 9f72052. 2017-12-30 15:55:25 -05:00
Brett Smith
52f2bdcd0e tests: Add render_lines shortcut to template tests. 2017-12-30 15:54:53 -05:00
Brett Smith
2c6211c9ea main: Ensure the source_dir variable is a string. 2017-12-30 10:18:33 -05:00
Brett Smith
06f5ae9f4c README: Document additional source variables from 07d2241. 2017-12-30 10:17:22 -05:00
Brett Smith
cdedd0fc7c importers: Add CSVImporterBase documentation for 0f4f83e. 2017-12-30 10:14:08 -05:00
Brett Smith
fdcc214f9f tests: AddEntityHook test for f2c869d. 2017-12-30 09:54:17 -05:00
Brett Smith
7bdd98075f tests: AddEntityHook tests for e758db3, 56cba14, 82e4bf5. 2017-12-30 09:49:33 -05:00
Brett Smith
73b50097a2 TODO: Additions from recent user feedback and development. 2017-12-28 11:35:19 -05:00
Brett Smith
ceba336665 TODO: Format as reST.
Just to reduce the number of things people need to know to contribute.
2017-12-28 10:34:19 -05:00
Brett Smith
25c6454e2d importers.amazon: Initial version. 2017-12-27 13:44:35 -05:00
Brett Smith
11eccb60dd strparse: Fix default limit argument in split functions.
The underlying string methods don't accept None.
2017-12-27 13:35:52 -05:00
Brett Smith
0f4f83e079 importers._csv: Refactor header reading into CSVImporterBase. 2017-12-27 13:14:12 -05:00
Brett Smith
1b1e2d038c importers.benevity: Initial version. 2017-12-27 11:54:34 -05:00
Brett Smith
f2c869d783 hooks.add_entity: Add a corp_entity from a corporation variable. 2017-12-27 11:51:14 -05:00
Brett Smith
82e4bf5bd8 hooks.add_entity: Add name prefixes: der, la 2017-12-27 11:50:58 -05:00
Brett Smith
56cba1456f hooks.add_entity: Maintain sequences of name prefixes. 2017-12-27 11:50:37 -05:00
Brett Smith
07d22418d4 main: Provide additional template variables about each source path. 2017-12-27 11:39:56 -05:00
Brett Smith
40552d665a template: Let users split an account multiple times per template. 2017-12-27 11:39:34 -05:00
Brett Smith
9f720527f1 template: Bugfix newline handling.
If a rendering ended with a zeroed out split, the output would contain an
extraneous trailing newline.  Rearrange the code to print a newline
preceding each content line.
2017-12-27 11:36:25 -05:00