def main(): try: app = QApplication(sys.argv) #app.setStyle('cleanlooks') app.setStyleSheet(qdarkstyle.load_stylesheet()) db = Database('sample.db') icon = QIcon('app.ico') app.setWindowIcon(icon) # set the default font for the app app.setFont(MEDIUM_FONT) app.setStyle(BUTTON_STYLE) main_view = MainView() main_view.showMaximized() main_view.show() app.exec_() # clean up and exit code for model in main_view.models: model.submitAll() # commit all pending changes to all models db.close() app.quit() sys.exit(0) #os._exit(0) except SystemExit: print("Closing Window...") except Exception as e: print(str(e))
class MainViewTest(unittest.TestCase): def setUp(self): self.app = QtGui.QApplication(sys.argv) self.view = MainView() self.view.show() def tearDown(self): self.view.close() del self.view del self.app def test_adding_experiments(self): self.view.add_experiment_setup(-333, -100, -90, 0.5, 0.4) self.view.add_experiment_setup(-333, -100, -90, 0.2, 0.4) self.view.add_experiment_setup(-333, -100, -90, 0.3, 0.4) self.view.add_experiment_setup(-333, -100, -90, 0.8, 0.4) self.view.add_experiment_setup(-333, -100, -90, 3, 0.4) self.view.add_experiment_setup(-333, -100, -90, 2, 0.4) def test_deleting_experiments(self): self.view.add_experiment_setup(-333, -100, -90, 0.5, 0.4) self.view.add_experiment_setup(-333, -100, -90, 0.2, 0.4) self.view.add_experiment_setup(-333, -100, -90, 0.3, 0.4) self.view.add_experiment_setup(-333, -100, -90, 0.8, 0.4) self.view.del_experiment_setup(3) self.view.del_experiment_setup(1) self.view.del_experiment_setup(0)
class MainController(): """ Class MainController is a controller which coordinates work between MainView and MainModel """ def __init__(self, in_model): """ """ self.logger = logging.getLogger("MAIN." + __name__) self.model = in_model self.view = MainView(self, in_model=self.model) self.view.show() if self.model.developing: self.open_clicked() def help_clicked(self): QMessageBox.information(self.view, 'Help', """For any help contact:\n Dr. Sergey A. Denisov\n [email protected]""") def author_clicked(self): QMessageBox.information(self.view, 'Author information', """Author: Dr. Sergey A. Denisov\n e-mail: [email protected]\n telephone: +33625252159""") def quit_clicked(self, event): if not self.model.developing: reply = QMessageBox.question(self.view, 'Message', "Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: self.logger.info('Closing') self.model.kill_observes() QApplication.quit() else: event.ignore() else: self.logger.info('Closing') self.model.remove_tables() QApplication.quit() def open_clicked(self): try: if self.model.developing: file_name = 'C:\\Users\\saldenisov\\Dropbox\\Python\\QY\\test-excel.xlsx' else: file_name = QFileDialog.getOpenFileName(self.view, 'Open file', '')[0] if not file_name: raise MyException('FileNotFoundError') self.logger.info('Loading file:' + str(file_name)) modeltable = QYModel(app_folder=self.model.app_folder, developing=self.model.developing) tablecontroller = TableController(in_model=modeltable, mainmodel=self.model, name=file_name) tablecontroller.model.set_data(file_name) datastatus = tablecontroller.model.check_datastatus() tablecontroller.model.set_datastatus(datastatus) self.model.add_table(table=tablecontroller, name=file_name) except (MyException, FileNotFoundError) as e: self.empty_clicked() self.logger.info('Could not load file') self.logger.error(str(e)) def empty_clicked(self): try: modeltable = QYModel(app_folder=self.model.app_folder, developing=self.model.developing) name = 'Empty' + str(self.model.emptyfiles) self.model.emptyfiles += 1 tablecontroller = TableController(in_model=modeltable, mainmodel=self.model, name=name) tablecontroller.model.set_correction() datastatus = tablecontroller.model.check_datastatus() tablecontroller.model.set_datastatus(datastatus) self.model.add_table(table=tablecontroller, name=name) except MyException as e: self.logger.info('Could not open empty table') self.logger.error(str(e))
from LFSRGenerator import LFSR # from SSCGenerator import SSC # from CAutokey import CAutokey # # lfsr = LFSR() # lfsr_blocks = lfsr.generate_blocks("1001", "1101") # #print(lfsr_blocks) # # # # # ssc = SSC() # # encrypted = ssc.encrypt(lfsr_blocks, 'test.bin', 'out.bin') # # decrypted = ssc.decrypt(lfsr_blocks, 'out.bin', 'test1.bin') # # # # # cauto = CAutokey() # encrypted = cauto.encrypt("1001", "1101",'test.bin', 'out.bin') # decrypted = cauto.decrypt("1001", "1101",'out.bin', 'test11.bin') from PyQt5.QtWidgets import QApplication from views import CAutoKeyView, LFSRView, MainView, SSCView import sys app = QApplication(sys.argv) # window = LFSRView() #window = CAutoKeyView() # window = SSCView() window = MainView() window.show() sys.exit(app.exec_())