12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- '''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.RIDEW[currency]), private.RIDEW['name'],
- account_name=private.RIDEW[acc_currency]['name'],
- account_number=private.RIDEW[acc_currency]['number'],
- currency=private.RIDEW[acc_currency]['currency'],
- account_location=private.RIDEW['location'],
- account_agency=private.RIDEW['agency'],
- account_symbol=private.RIDEW['symbol'])
- df = pd.read_csv(r'c:\Users\vnc-console\Downloads\mentor\import\RIDEWAVE\RO69BTRLRONCRT0CP9775401.csv ', skiprows=14, keep_default_na=False).astype({'Sold contabil': '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['Descriere'].apply(utils.re_check)
- self.df['Name'] = self.df['Name'].apply(utils.clean_name)
- print(self.df['Name'])
- names = [name for name in self.df['Name'] if name != '']
- # print(names)
- df_dict = utils.get_partners(self.processor.partner_data)
- fiscal_codes = df_dict['CodFiscal']
- mentor_names = df_dict['Denumire']
- # print(mentor_names)
- for name2 in names:
- # index_ = name2.count(' ')
- # nname = name2 # ' '.join(name2.split()[:index_]).upper()
- # print(name2)
- for name in mentor_names:
- # index_ = name.count(' ')
- # if ' '.join(name.split()[:index_]).upper().count(' ') < 3:
- # index_ = 2
- # elif ' '.join(name.split()[:index_]).upper().count(' ') < 2:
- # index_ = 1
- if name2.upper() in name.upper():
- print(name)
- # for index, row in self.df.iterrows():
- # if row['Name'] == name2:
- # print(name)
- # df.loc[index, 'Name'] = 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__":
- CsvTest().test_df()
- # unittest.main()
|