accounting.calc: `.error()` on bad txn-time fields..

Since i'm seeing IB records with a `None` value and i don't want to be
debugging every time order-mode boots up..

Also use `pdb=debug_mode` in `.open_ledger_dfs()`
hist_backfill_fixes
Tyler Goodlet 2025-10-02 12:17:57 -04:00
parent 0c7edb3223
commit d6f3f47df3
1 changed files with 23 additions and 9 deletions

View File

@ -289,15 +289,26 @@ def iter_by_dt(
else: else:
continue continue
# XXX: should never get here.. # XXX: we should never really get here bc it means some kinda
# bad txn-record (field) data..
#
# -> set the `debug_mode = True` if you want to trace such
# cases from REPL ;)
else: else:
with maybe_open_crash_handler(pdb=True): debug_mode: bool = False
raise ValueError( report: str = (
f'Invalid txn time ??\n' f'Invalid txn time ??\n'
f'txn-id: {k!r}\n' f'txn-id: {k!r}\n'
f'{k!r}: {v!r}\n' f'{k!r}: {v!r}\n'
) )
# assert v is not None, f'No valid value for `{k}`!?' if debug_mode:
with maybe_open_crash_handler(
pdb=debug_mode,
raise_on_exit=False,
):
raise ValueError(report)
else:
log.error(report)
if _invalid is not None: if _invalid is not None:
_invalid.append(tx) _invalid.append(tx)
@ -400,7 +411,10 @@ def open_ledger_dfs(
can update the ledger on exit. can update the ledger on exit.
''' '''
with maybe_open_crash_handler(pdb=debug_mode): with maybe_open_crash_handler(
pdb=debug_mode,
# raise_on_exit=False,
):
if not ledger: if not ledger:
import time import time
from ._ledger import open_trade_ledger from ._ledger import open_trade_ledger