48 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
TODO
 | 
						|
====
 | 
						|
 | 
						|
Template multiplexing with action hooks
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
* Add a hook that simply reads information from a configuration file section ``[template variables]`` and adds it to the entry data.
 | 
						|
 | 
						|
* Add a hook that changes what template to use based on other entry data.  (This needs more specification.)
 | 
						|
  OR, should this be a hook that just adds more entry data, and trusts the Ledger entry template to use it?
 | 
						|
 | 
						|
Bug fixes
 | 
						|
---------
 | 
						|
 | 
						|
* Parsing open date ranges raises an exception
 | 
						|
 | 
						|
New importers
 | 
						|
-------------
 | 
						|
 | 
						|
* Stripe import via API
 | 
						|
  * This is going to require giving importer objects the configuration so they can read things like API keys.
 | 
						|
* YourCause
 | 
						|
* Network for Good
 | 
						|
 | 
						|
Other feature requests
 | 
						|
----------------------
 | 
						|
 | 
						|
* Some way of preventing re-imports
 | 
						|
 | 
						|
User niceties
 | 
						|
-------------
 | 
						|
 | 
						|
These haven't been requested yet but it's easy to imagine how they make the program more user-friendly.
 | 
						|
 | 
						|
* ``load_hooks`` and ``skip_hooks`` configuration options to limit what hooks are used.
 | 
						|
  Setting ``load_hooks`` means "skip everything not in this list."
 | 
						|
  Not setting ``load_hooks`` means "only skip what's listed in ``skip_hooks``."
 | 
						|
  If neither setting is set, ``skip_hooks`` should default to a list of hooks that have business-specific logic (currently just ``add_entity``).
 | 
						|
  If a hook is listed in both, it's either skipped or a configuration error (TBD).
 | 
						|
* Try all importers even after one fails
 | 
						|
* Clean up error reporting on bad configuration file syntax.
 | 
						|
 | 
						|
Code infrastructure
 | 
						|
-------------------
 | 
						|
 | 
						|
* Open files for import in binary mode; add a text-wrapping importer base
 | 
						|
* Write a utility dict transformer.  Given a source dictionary, it returns something like ``{new_key: transform(source[old_key]) for old_key, transform, new_key in configuration}``.
 | 
						|
  A lot of the CSV importers are doing this ad hoc now, so refactoring out a common way to do it could help speed up development of future importers.
 |