SIPPCompare/src/output_window.py

49 lines
1.9 KiB
Python

from PyQt6.QtWidgets import QWidget
from PyQt6 import uic
import datetime
import os
import platform_edit
class OutputWindow(QWidget):
def __init__(self):
super().__init__()
uic.loadUi("gui/output_window.ui", self)
self.res_save_but.clicked.connect(self.save_results)
self.results_str = ""
self.platform_name = ""
def save_results(self):
cur_time = datetime.datetime.now()
if not os.path.exists("output"):
os.makedirs("output")
filename_str = f"output/{self.platform_name}-{cur_time.year}.{cur_time.month}.{cur_time.day}.txt"
output_file = open(filename_str, "wt")
output_file.write(self.results_str)
def display_output(self, fund_plat_fees: float, fund_deal_fees: float,
share_plat_fees: float, share_deal_fees: float, plat_name: str):
self.platform_name = plat_name
self.results_str = f"Fees breakdown (Platform \"{self.platform_name}\"):"
self.results_str += "\n\nPlatform fees:"
self.results_str += f"\n\tFund platform fees: £{round(fund_plat_fees, 2):.2f}"
self.results_str += f"\n\tShare platform fees: £{round(share_plat_fees, 2):.2f}"
total_plat_fees = fund_plat_fees + share_plat_fees
self.results_str += f"\n\tTotal platform fees: £{round(total_plat_fees, 2):.2f}"
self.results_str += "\n\nDealing fees:"
self.results_str += f"\n\tFund dealing fees: £{round(fund_deal_fees, 2):.2f}"
self.results_str += f"\n\tShare dealing fees: £{round(share_deal_fees, 2):.2f}"
total_deal_fees = fund_deal_fees + share_deal_fees
self.results_str += f"\n\tTotal dealing fees: £{round(total_deal_fees, 2):.2f}"
total_fees = total_plat_fees + total_deal_fees
self.results_str += f"\n\nTotal fees: £{round(total_fees, 2):.2f}"
self.output.setText(self.results_str)