Source code for risk_propagation.transactions
"""
Configuration of a list of transactions
"""
from __future__ import annotations
from typing import Iterator, List, Optional
from .transaction import Transaction
[docs]
class Transactions:
"""
Class containing a list of transactions
"""
[docs]
def __init__(self, transactions: Optional[List[Transaction]] = None) -> None:
"""
Initializes a transaction list
:param transactions: Optional list of transactions
"""
self._list: List[Transaction] = transactions if transactions is not None else []
[docs]
def __iter__(self) -> Iterator[Transaction]:
"""
:return: iterator over the transaction list
"""
return iter(self._list)
[docs]
def __str__(self) -> str:
"""
:return: string representation of transactions, line-separated
"""
return "\n".join(str(_) for _ in self._list)
[docs]
def append(self, transaction: Transaction) -> None:
"""
Adds a transaction to the list
:param transaction: a transaction to add to the list
"""
self._list.append(transaction)