sdementen / piecash

Pythonic interface to GnuCash SQL documents
Other
288 stars 75 forks source link

AttributeError when split.account is None #211

Open nareto opened 1 year ago

nareto commented 1 year ago

Calling book.splits_df() gives me

File [~/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py:567](https://file+.vscode-resource.vscode-cdn.net/home/bnh/code/spese_analytics/~/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py:567), in (.0)
    [551](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=550) fields = [
    [552](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=551)     "guid",
    [553](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=552)     "value",
   (...)
    [563](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=562)     "account.commodity.mnemonic",
    [564](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=563) ] + additional_fields
    [565](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=564) fields_getter = [attrgetter(fld) for fld in fields]
    [566](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=565) df_splits = pandas.DataFrame(
--> [567](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=566)     [[fg(sp) for fg in fields_getter] for sp in splits], columns=fields
    [568](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=567) )
    [569](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=568) df_splits = df_splits[df_splits["account.commodity.mnemonic"] != "template"]
    [570](file:///home/bnh/code/spese_analytics/.venv/lib/python3.11/site-packages/piecash/core/book.py?line=569) df_splits = df_splits.set_index("guid")

AttributeError: 'NoneType' object has no attribute 'fullname'

The problem is I have (multiple) splits sp that have sp.account is None. But in gnucash they look just like the others. Is this due to renaming/deleting of accounts (which I did do)? How can I fix it?

Potentially related to this