Hi Martin,

I didn't see how to get the version, I tried -h on bean-extract and
bean-check, but no version.  In __init__.py in beancount, it states
"This is v2, a complete rewrite of Beancount v1, simplified and
improved
drastically."

Apologies if I missed something simple.

On Mon, Jan 9, 2017 at 9:52 PM, Martin Blais <bl...@furius.ca> wrote:
> On Mon, Jan 9, 2017 at 8:54 PM, <jfs...@gmail.com> wrote:
>>
>> Hi Martin,
>>
>> I thought it might be a bug because you seem to be a too good and careful
>> coder to let an uncaught exception through.
>
>
> Oh I make a lot of mistakes, don't worry.
>
>
>>
>> Here is the simplest file that causes an exception for me.  It is the
>> original transaction that caused it.  Nothing sensitive there.  Besides,
>> Google already knows about it ;>)  Just add USD to the two Expenses lines
>> and everything is fine.
>
>
> What version are you using?
> Here's what the latest on the default branch does for me, which looks
> appropriate:
>
>
> bean-check test.beancount
> /tmp/test.beancount:13:      Failed to categorize posting 1
>
>    2016-11-16 * "BJ WHOLESALE #0209 HUDSON" "Groceries, Sonicare 4Pk"
>      txndate: 2016-11-15
>      Liabilities:US:FidelityVisa                               -77.26 USD
>      Expenses:PersonalCare        42.49 <class
> 'beancount.core.number.MISSING'>
>      Expenses:Food:Groceries      34.77 <class
> 'beancount.core.number.MISSING'>
>
>
> /tmp/test.beancount:14:      Failed to categorize posting 2
>
>    2016-11-16 * "BJ WHOLESALE #0209 HUDSON" "Groceries, Sonicare 4Pk"
>      txndate: 2016-11-15
>      Liabilities:US:FidelityVisa                               -77.26 USD
>      Expenses:PersonalCare        42.49 <class
> 'beancount.core.number.MISSING'>
>      Expenses:Food:Groceries      34.77 <class
> 'beancount.core.number.MISSING'>
>
>
>
>
>>
>>
>> Jonathan
>>
>> ;; -*- mode: org; mode: beancount; coding: utf-8; -*-
>> ****
>> /Users/jonathan/Documents/Beancount/documents/Expenses/Fidelity/2016-12-28FidelityVisa.csv
>>
>> ** Fidelity Investments
>>
>> 1982-01-01 open Liabilities:US:FidelityVisa                    USD
>>
>>
>>
>> 2016-11-16 * "BJ WHOLESALE #0209 HUDSON" | "Groceries, Sonicare 4Pk"
>>   txndate: 2016-11-15
>>   Liabilities:US:FidelityVisa  -77.26 USD
>>   Expenses:PersonalCare         42.49
>>   Expenses:Food:Groceries       34.77
>>
>> * Expenses
>> 1957-06-25 open Expenses:Food:Groceries
>> 1957-06-25 open Expenses:PersonalCare
>>
>>
>>
>> On Sunday, January 8, 2017 at 11:41:48 PM UTC-5, Martin Blais wrote:
>>>
>>> This looks like a bug. This should not happen. Beancount should never
>>> raise an uncaught exception.
>>>
>>> Could you copy your input, isolate the offending transaction, and wittle
>>> it down to the smallest file that will reproduce the problem?  Replace
>>> numbers and other private things if needed. I'd appreciate, would save me
>>> time. You can email to me directly if you're concerned about privacy.
>>>
>>> Thanks,
>>>
>>>
>>>
>>>
>>>
>>> On Sun, Jan 8, 2017 at 9:07 PM, <jfs...@gmail.com> wrote:
>>>>
>>>> Hi Martin,
>>>>
>>>> Happy New Year!
>>>>
>>>> I wasn't sure if this should be entered as an issue, thought I would let
>>>> you decide.  I am working on importing my credit card statements by running
>>>> bean-extract and saving to a file, copying the credit card opening 
>>>> statement
>>>> and expenses to the new file, and then adding the other half of the
>>>> transactions.  When I ran bean-check on the completed file, I got the
>>>> following error.  I figured I must have missed something in the new file, 
>>>> so
>>>> I copied all the completed transactions to my normal beancount file, which
>>>> had passed bean-check.  It then incurred the same error.  By process of
>>>> elimination, I found I had missed putting the 'USD' after a transaction.
>>>> After adding the 'USD', bean-check worked fine.  Your code seems to handle
>>>> most other errors, so I didn't think the Traceback was your way of 
>>>> notifying
>>>> of a syntax error.
>>>>
>>>> Jonathan
>>>>
>>>>
>>>> Enter code here...JFSMini1:Beancount$ bean-check jfsgmsbgn.bean
>>>>
>>>> Traceback (most recent call last):
>>>>
>>>>   File "/usr/local/bin/bean-check", line 2, in <module>
>>>>
>>>>     from beancount.scripts.check import main; main()
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/scripts/check.py",
>>>> line 39, in main
>>>>
>>>>     extra_validations=validation.HARDCORE_VALIDATIONS)
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/loader.py",
>>>> line 87, in load_file
>>>>
>>>>     extra_validations, encoding)
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/loader.py",
>>>> line 200, in wrapped
>>>>
>>>>     result = function(toplevel_filename, *args, **kw)
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/loader.py",
>>>> line 219, in _load_file
>>>>
>>>>     return _load([(filename, True)], *args, **kw)
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/loader.py",
>>>> line 460, in _load
>>>>
>>>>     extra_validations)
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/ops/validation.py",
>>>> line 395, in validate
>>>>
>>>>     new_errors = validation_function(entries, options_map)
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/ops/validation.py",
>>>> line 348, in validate_check_transaction_balances
>>>>
>>>>     "Transaction does not balance: {}".format(residual),
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/core/inventory.py",
>>>> line 104, in __str__
>>>>
>>>>     return self.to_string()
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/core/inventory.py",
>>>> line 96, in to_string
>>>>
>>>>     ', '.join(pos.to_string(dformat) for pos in sorted(self)))
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/core/position.py",
>>>> line 228, in __lt__
>>>>
>>>>     return self.sortkey() < other.sortkey()
>>>>
>>>>   File
>>>> "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/beancount/core/position.py",
>>>> line 210, in sortkey
>>>>
>>>>     order_units = CURRENCY_ORDER.get(currency, NCURRENCIES +
>>>> len(currency))
>>>>
>>>> TypeError: object of type 'type' has no len()
>>>>
>>>>
>>>> --
>>>> 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 beancount+...@googlegroups.com.
>>>> To post to this group, send email to bean...@googlegroups.com.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/beancount/df2169e7-a716-496d-9eb8-d38ea670c4da%40googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>> --
>> 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 beancount+unsubscr...@googlegroups.com.
>> To post to this group, send email to beancount@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/beancount/c622641e-77c4-44ee-bb28-ef95e55e2142%40googlegroups.com.
>>
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Beancount" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/beancount/VAUQSb8pa4g/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> beancount+unsubscr...@googlegroups.com.
> To post to this group, send email to beancount@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beancount/CAK21%2BhOOGe6M-V0R%3DKWZT%2BKZsoPAf0JLRM%2BJfTBxLe%3DS0NfFVA%40mail.gmail.com.
>
> For more options, visit https://groups.google.com/d/optout.

-- 
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 beancount+unsubscr...@googlegroups.com.
To post to this group, send email to beancount@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/CAP5qF_qt6xySE6ikXJVbK-OOvdxn2NCOdy7uz_YT4zYVX07S8A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to