def _filter_already_processed_ledgers(form, ledgers): """Remove any ledgers that already have a ledger transaction for this form""" ledgers_by_id = {ledger.ledger_reference: ledger for ledger in ledgers} case_ids = [ledger.case_id for ledger in ledgers] for trans in LedgerAccessorSQL.get_ledger_transactions_for_form( form.form_id, case_ids): del ledgers_by_id[trans.ledger_reference] return ledgers_by_id.values()