return "<{o.__class__.__name__}(status={o.status!r}, responses={o.responses!r}, data={o.data!r})>".format(o=self)
+class FinTSClientMode(Enum):
+ OFFLINE = 'offline'
+ NONINTERACTIVE = 'noninteractive'
+ INTERACTIVE = 'interactive'
+
+
class FinTS3Client:
def __init__(self,
bank_identifier, user_id, customer_id=None,
from_data: bytes=None,
product_id=None, product_version=version[:5],
- stay_offline=False):
+ mode=FinTSClientMode.NONINTERACTIVE):
self.accounts = []
if isinstance(bank_identifier, BankIdentifier):
self.bank_identifier = bank_identifier
self.product_name = product_id
self.product_version = product_version
self.response_callbacks = []
- self.stay_offline = stay_offline
+ self.mode = mode
self._standing_dialog = None
if from_data:
if self.paused:
raise FinTSDialogStateError("Cannot init() a paused dialog")
- if self.client.stay_offline:
- raise FinTSDialogOfflineError("Cannot open a dialog with stay_offline=True. "
+ from fints.client import FinTSClientMode
+ if self.client.mode == FinTSClientMode.OFFLINE:
+ raise FinTSDialogOfflineError("Cannot open a dialog with mode=FinTSClientMode.OFFLINE. "
"This is a control flow error, no online functionality "
"should have been attempted with this FinTSClient object.")