import datetime from schwifty import IBAN, BIC def mandatory(field: str) -> bool: return bool(field) def empty(field: str) -> bool: return not bool(field) def iso_date(field: str) -> bool: if not field: return False try: datetime.datetime.strptime(field, "%Y-%m-%d") return True except ValueError: return False def valid_iban(field: str) -> bool: if not field: return False if not type(field) == str: return False try: IBAN(field) return True except ValueError: return False def valid_bic(field: str) -> bool: if not field: return False if not type(field) == str: return False try: BIC(field) return True except ValueError: return False def valid_money_amount(field: str) -> bool: if not field: return False try: float(field) return True except (ValueError, TypeError): return False