Coverage for jbank/management/commands/parse_saldo.py: 0%

22 statements  

« prev     ^ index     » next       coverage.py v7.2.2, created at 2023-03-27 13:36 +0700

1import logging 

2from pprint import pprint 

3from django.core.management.base import CommandParser 

4from jbank.services import create_account_balance 

5from jbank.parsers import parse_nordea_balance_query 

6from jutil.command import SafeCommand 

7 

8logger = logging.getLogger(__name__) 

9 

10 

11class Command(SafeCommand): 

12 help = "Parses Nordea SALDO file type" 

13 

14 def add_arguments(self, parser: CommandParser): 

15 parser.add_argument("filename", type=str) 

16 parser.add_argument("--bic", type=str, default="") 

17 parser.add_argument("--pprint", action="store_true") 

18 parser.add_argument("--store", action="store_true") 

19 

20 def do(self, *args, **kwargs): 

21 filename = kwargs["filename"] 

22 with open(filename, "rt", encoding="ISO-8859-1") as fp: 

23 content = fp.read() 

24 res = parse_nordea_balance_query(content) 

25 if kwargs["store"]: 

26 logger.info("%s created", create_account_balance(bic=kwargs["bic"], **res)) 

27 pprint(res)