import pandas as pd from bank_parsers.helpers import parse_norwegian_date, parse_norwegian_number, convert_memo def parse_sparebanken_norge(data): """ Parse Sparebanken Norge bank data """ result = [] for _, row in data.iterrows(): status = row.get('Status') if pd.isna(status): continue cleared = status == "Bokført" if row.get('Valuta') != 'NOK': raise ValueError(f"Unknown currency {row['Valuta']} in row:\n{row}") payee = convert_memo(row.get('Beskrivelse', '')) memo = convert_memo(row.get('Melding/KID/Fakt.nr', '')) date = row.get('Bokført dato') if cleared else row.get('Utført dato') result.append({ 'Date': parse_norwegian_date(date), 'Payee': payee, 'Memo': memo, 'Outflow': -parse_norwegian_number(row['Beløp ut']) or 0, 'Inflow': parse_norwegian_number(row['Beløp inn']) or 0, 'Cleared': cleared, }) return pd.DataFrame(result)