report_prisma_32.py 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import os
  2. import datetime
  3. from PyQt6 import QtCore, QtWidgets
  4. from interfaces.clientui import Ui_MainWindow
  5. from interfaces.drctryChoice import Ui_drctryChoice
  6. from interfaces.takeFiles import Ui_takeFiles
  7. class ReportPrisma32(QtWidgets.QMainWindow, Ui_MainWindow):
  8. def __init__(self):
  9. super().__init__()
  10. self.widget = QtWidgets.QWidget()
  11. """Описание работы UI приложения, связь кнопок с методами, выставление даты."""
  12. self.setupUi(self)
  13. self.runPassport.pressed.connect(self.report_on_click)
  14. self.openDirectory.pressed.connect(self.open_report_directory)
  15. self.openFileDirectory.pressed.connect(self.open_file_directory)
  16. self.dateEdit_2.setDate(QtCore.QDate(int(str(datetime.datetime.today()).split(' ')[0].split('-')[0]),
  17. int(str(datetime.datetime.today()).split(' ')[0].split('-')[1]),
  18. int(str(datetime.datetime.today()).split(' ')[0].split('-')[2])))
  19. self.dateEdit_2.setDisplayFormat("dd.MM.yyyy")
  20. self.dateEdit.setDate(QtCore.QDate(2020, 1, 1))
  21. self.dateEdit.setDisplayFormat("dd.MM.yyyy")
  22. def open_file_directory(self):
  23. """Описание работы всплывающей формы проводника с выбором папки с файлами ПРИЗМА.
  24. Производится запись в 2 файла -> 2 кластера, чтобы данные о папке сохранялись в отрыве от работы программы"""
  25. ui_file_drctry = Ui_takeFiles()
  26. ui_file_drctry.setupUi(self.widget)
  27. """Чтение пути папки с файлами ПРИЗМА"""
  28. try:
  29. with open('path_prisma_1cl_files.txt', 'r') as f:
  30. ui_file_drctry.lineEdit.setText(f.read())
  31. except FileNotFoundError:
  32. ui_file_drctry.lineEdit.setText("")
  33. try:
  34. with open('path_prisma_2cl_files.txt', 'r') as f2:
  35. ui_file_drctry.lineEdit_2.setText(f2.read())
  36. except FileNotFoundError:
  37. ui_file_drctry.lineEdit_2.setText("")
  38. """Запись в файл пути папки с файлами ПРИЗМА"""
  39. ui_file_drctry.pushButton.clicked.connect(
  40. lambda: Ui_takeFiles.get_file_directory(ui_file_drctry, 'path_prisma_1cl_files'))
  41. ui_file_drctry.pushButton_2.clicked.connect(
  42. lambda: Ui_takeFiles.get_file_directory(ui_file_drctry, 'path_prisma_2cl_files'))
  43. self.widget.show()
  44. def open_report_directory(self):
  45. """Описание работы всплывающей формы проводника с выбором папки сохранения справки о работе установки,
  46. картинок, файлов и т.д."""
  47. ui_report_drctry = Ui_drctryChoice()
  48. ui_report_drctry.setupUi(self.widget)
  49. ui_report_drctry.pushButton.clicked.connect(lambda: Ui_drctryChoice.get_report_directory(ui_report_drctry))
  50. try:
  51. with open('path_prisma_report.txt', 'r') as f:
  52. ui_report_drctry.lineEdit.setText(f.read())
  53. except FileNotFoundError:
  54. ui_report_drctry.lineEdit.setText("")
  55. self.widget.show()
  56. def report_on_click(self):
  57. """Метод, описывающий получение паспорта с помощью данных UI"""
  58. start_date = self.dateEdit.dateTime()
  59. end_date = self.dateEdit_2.dateTime()
  60. print(f'start_date - {start_date}, \n end_date - {end_date}')
  61. with open('path_prisma_report.txt', 'r') as f:
  62. report_path = f.read()
  63. picture_path = report_path + '/Pics'
  64. with open('path_prisma_1cl_files.txt', 'r') as f:
  65. file1cl = f.read()
  66. with open('path_prisma_2cl_files.txt', 'r') as f:
  67. file2cl = f.read()
  68. if ~os.path.exists(picture_path):
  69. try:
  70. os.mkdir(picture_path)
  71. except OSError:
  72. print(f"Создать директорию {picture_path} не удалось")
  73. else:
  74. print(f"Успешно создана директория {picture_path}")
  75. # проверяем нормальные даты или нет, если да, то графики и word файл строятся
  76. try:
  77. pass
  78. except ZeroDivisionError:
  79. pass
  80. # запуск основного окна
  81. app = QtWidgets.QApplication([])
  82. window = ReportPrisma32()
  83. window.show()
  84. app.exec()