예제 #1
0
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))
예제 #2
0
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))
예제 #4
0
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_())