21 lines
751 B
Python
21 lines
751 B
Python
from __future__ import annotations
|
|
import re
|
|
from .base import amount, norm
|
|
|
|
def find(pattern,text,group=1,flags=re.I|re.M):
|
|
m=re.search(pattern,text,flags)
|
|
return norm(m.group(group)) if m else ''
|
|
|
|
def date_iso(s):
|
|
import pandas as pd
|
|
x=pd.to_datetime(s,errors='coerce',dayfirst=True)
|
|
return '' if pd.isna(x) else x.strftime('%Y-%m-%d')
|
|
|
|
def split_pages(text): return text.split('\f')
|
|
|
|
def infer_mode(n):
|
|
u=(n or '').upper()
|
|
for k,v in [('UPI','UPI'),('NEFT','NEFT'),('IMPS','IMPS'),('RTGS','RTGS'),('CASH DEPOSIT','Cash Deposit'),('CASH WITHDRAWAL','Cash Withdrawal'),('ATM','ATM'),('CHEQUE','Cheque'),('CHQ','Cheque'),('POS','POS'),('EDC','Card Settlement'),('ACH','ACH')]:
|
|
if k in u:return v
|
|
return 'Other'
|