123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import re
- import sys
- from random import randint
- from datetime import date
- class CsvToMt940(object):
- def __init__(self):
- try:
- self.st_date = sys.argv[5]
- except IndexError:
- self.st_date = input('statement date (format: YYMMDD)==')
- if self.st_date == '':
- self.st_date = date.today().strftime('%y%m%d')
- # self.st_date = '200317'
- self.st_nr = randint(100000000, 199999999)
- def dig_it(self, search_in, fl_point=100, pattern=r'\d+'):
- if re.search('-', search_in):
- if len(search_in) == 4:
- fl_point=10
- return -int(''.join(re.findall(pattern, search_in))[:-1]) +\
- -int(''.join(re.findall(pattern, search_in))[-1:]) / fl_point
- else:
- return -int(''.join(re.findall(pattern, search_in))[:-2]) +\
- -int(''.join(re.findall(pattern, search_in))[-2:]) / fl_point
- else:
- if len(search_in) == 3:
- fl_point=10
- return int(''.join(re.findall(pattern, search_in))[:-1]) +\
- int(''.join(re.findall(pattern, search_in))[-1:]) / fl_point
- else:
- return int(''.join(re.findall(pattern, search_in))[:-2]) +\
- int(''.join(re.findall(pattern, search_in))[-2:]) / fl_point
- class TypeId:
- types = 'comis[a-z]*|commis[a-z]*|smart|fee|TFD|transfond|Int.[A-Za-z]*| \
- Abonament[A-Za-z0-9]*|COVER[A-Za-z]*|S21[A-Za-z0-9]*|SC[0-9]*'
- COMMISION = 'NCOM'
- TRANSFER = 'NTRF'
- FEXCHANGE = 'NFEX'
|