test_monet_import.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. '''
  2. Created on 13 May 2024 @author: vnc-console
  3. '''
  4. import unittest
  5. import os
  6. import datetime
  7. import pandas as pd
  8. from jinja2 import (Environment, PackageLoader)
  9. from py_mentor_imports import (Monetar, convert_date_format, get_last_month)
  10. class Test(unittest.TestCase):
  11. templates = Environment(loader=PackageLoader('py_mentor_imports', 'templates'))
  12. template = templates.get_template('monetars.txt')
  13. def test_monet(self) -> None:
  14. path = r'f:\Gdrive\Misc\Dosar-Contabilitate\Ridewave\2024_04\raport_z\20240507213946_from_010424_to_300424__from_5_to_29.xlsx'
  15. df = pd.read_excel(path)
  16. df = df.drop(['Unnamed: 1', 'Unnamed: 2', 'Unnamed: 3',
  17. 'Unnamed: 5', 'Unnamed: 6', 'Unnamed: 7',
  18. 'Unnamed: 9', 'Unnamed: 11', 'Unnamed: 13'], axis=1)
  19. df['4. Data raport Z'] = df['4. Data raport Z'].apply(convert_date_format)
  20. # print(df['4. Data raport Z'])
  21. monetars = []
  22. for zi, date, number, value in zip(df['1. Zi fiscala'], df['4. Data raport Z'], df['5. Numar\nbonuri'], df['6. Valoare\ntotala']):
  23. monetar = Monetar(zi_fiscala=zi, data_raport_z=date, numar_bonuri=number, value=value)
  24. monetars.append(monetar)
  25. first_nr_doc: int = int(input('number of the first doc'))
  26. data = {'AnLucru': datetime.date.today().year,
  27. 'LunaLucru': get_last_month(1),
  28. 'TotalMonetare': len(df),
  29. 'documents': monetars,
  30. 'FirstNrDoc': first_nr_doc,
  31. # 'NumarBonuri': [],
  32. # 'Data': [],
  33. # 'Observatii': [],
  34. 'Code': 'TRANSPMF'
  35. # 'Pret': []
  36. }
  37. output = self.template.render(data)
  38. print(output)
  39. home = os.path.expanduser('~')
  40. downloads_dir = os.path.join(home, 'Downloads', 'mentor', 'import', 'RIDEWAVE')
  41. output_file = os.path.join(downloads_dir, 'monetare.txt')
  42. with open(output_file, 'w') as text:
  43. text.write(output)
  44. if __name__ == "__main__":
  45. Test().test_monet()
  46. # unittest.main()