'''Created Sep 9, 2023 deeejas''' import unittest import os from pymt940 import (PaymentsProcessorBtrl, private, utils, languages) from jinja2 import (Environment, PackageLoader) import pandas as pd home = os.path.expanduser('~') downloads_dir = os.path.join(home, 'Downloads', 'mentor', 'import', 'MZK') currency = 'ron' # currency = 'eur' # currency = 'usd' # currency = 'huf' acc_currency = 'accountron' # acc_currency = 'accounteur' # acc_currency = 'accountusd' # acc_currency = 'accounthuf' class CsvTest(unittest.TestCase): templates = Environment(loader=PackageLoader('pymt940', 'templates')) body_template = 'body_incomes.txt' # body_template = 'body_payments.txt' template = templates.get_template(body_template) processor = PaymentsProcessorBtrl(os.path.join(downloads_dir, private.MZK[currency]), private.MZK['name'], account_name=private.MZK[acc_currency]['name'], account_number=private.MZK[acc_currency]['number'], currency=private.MZK[acc_currency]['currency'], account_location=private.MZK['location'], account_agency=private.MZK['agency'], account_symbol=private.MZK['symbol']) df = pd.read_csv('../csv/RO26BTRL01301202N63584XX.csv', skiprows=14, keep_default_na=False).astype({'Balance': 'object'}) def test_df(self): # print(df['Description']) desc = [d for d in self.df['Description']] text = desc[2] first_semicolon_index_from_end = text.rfind(';') second_semicolon_index_from_end = text.rfind(';', 0, first_semicolon_index_from_end) third_semicolon_index_from_end = text.rfind(';', 0, second_semicolon_index_from_end) self.df['Name'] = self.df['Description'].apply(utils.re_check) print(self.df['Name']) def test_process_income(self): df = self.processor.process_income_data(lang=languages.LANG.EN) print(df['symbols'], df['Name'], df['Amount']) data = self.processor.to_dict(kind='TotalIncasari', month_back=1, std_client='MOZAIK CONSULTING SRL', acc_symbol=411.01) output = self.template.render(data) print(output) def test_process_payment(self): df = self.processor.process_payment_data(lang=languages.LANG.EN) # print(df['symbols'], df['Name'], df['Amount'], df['types']) data = self.processor.to_dict(kind='TotalPlati', month_back=1, std_client='MOZAIK CONSULTING SRL', acc_symbol=401) output = self.template.render(data) print(output) def test_mentor_names(self): df_dict = utils.get_partners(self.processor.partner_data) fiscal_codes = df_dict['CodFiscal'] mentor_names = df_dict['Denumire'] print(mentor_names) if __name__ == "__main__": # import sys;sys.argv = ['', 'Test.testName'] unittest.main()