On Wed, Jul 8, 2020 at 2:39 PM <[email protected]> wrote:

>  After reading through the v3 design document, once thing that wasn't
> clear to me is whether it will be possible to access just the parser
> without running booking from the exposed API.
>
> Today, I have a workflow which:
> 1) Reads in my existing beancount files (I have many, ~ one per account)
> using loader.load_file() and (the unexposed) loader._parse_recursive(), the
> results of this gets categorized and preserved in memory
> 2) Parse data from PDF/OFX files which get converted into beancount objects
> 3) Run booking and validation on the new items to ensure they are complete
> and error-free (but don't rewrite them)
> 4) Categorize these new items and append to the categorization found in (1)
> 5) Write out new beancount files retaining order/file information for the
> items from (1), replacing the files from (1) (after backing them up of
> course)
>
> The key here is that I never run booking on the data that gets written
> out, because booking a transaction will create bean elements for the
> inferred transactions, and I don't want those saved in the bean-file.
> Additionally booking will convert CostSpec objects to Cost objects (filling
> in the inferred info), and again, I don't want that stored in my resultant
> beancount files.  The automation will update the beancount files, but the
> goal is to write unmodified entries exactly as they are read such that they
> are still easily manageable by human eyes, and preserve any manually-added
> goodness.
>
> I realize that automating the generation of beancount files is not a
> design-point of beancount, but I've found that it is very amenable to
> reversing the parser process, resulting in a very effective way to enter
> data into beancount.
>

That's pretty cool, I'd never heard of someone doing that in so structured
a way.



> By implementing the parser and booking both in C++, will it still be
> possible to run the parser, modify the results, and then (optionally) run
> the booking and validate functions all from the python layer?
>

I think so. I'll keep that in mind in defining the new schema.





> --
> You received this message because you are subscribed to the Google Groups
> "Beancount" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beancount/7eaed98c-78d2-44a2-b944-5c0603b87ef5o%40googlegroups.com
> <https://groups.google.com/d/msgid/beancount/7eaed98c-78d2-44a2-b944-5c0603b87ef5o%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/CAK21%2BhN%3DLvZswOV1c%3DrFFm42KAZiPPSUwzp217SUAukOwtdRSQ%40mail.gmail.com.

Reply via email to