Skip to content
Snippets Groups Projects
grou.py 1.81 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jakub Štercl's avatar
    Jakub Štercl committed
    #!/usr/bin/env python3
    
    Jakub Štercl's avatar
    Jakub Štercl committed
    import sys
    
    import database_create
    from argparse import ArgumentParser
    
    Jakub Štercl's avatar
    Jakub Štercl committed
    from PyQt5 import QtWidgets as Qt
    
    from PyQt5.QtCore import QTranslator
    
    Jakub Štercl's avatar
    Jakub Štercl committed
    from controllers.mainwindow_controller import MainWindow
    
    Jakub Štercl's avatar
    Jakub Štercl committed
    from database import Database
    
    from globals import Global
    
    Jakub Štercl's avatar
    Jakub Štercl committed
    
    
    def main():
    
        script_path = os.path.dirname(os.path.abspath(__file__))
        parser = ArgumentParser()
        parser.add_argument(
            '-d',
            '--database',
            default=script_path + '/database.db',
            help='use specified file as database file, if not specified the default file (script_path/database.db} is used',
            metavar='PATH'
        )
        parser.add_argument(
            '-fc',
            '--force-database-create',
            action='store_true',
            help='force creation of database - program then overwrites file specified in -d or the default one!'
        )
        args = parser.parse_args()
        # clear and create database if -fc was given or create database if given file doesn't exist
        if args.force_database_create is True or not os.path.isfile(args.database):
            if os.path.isfile(args.database):
                overwrite = input("Are you sure, you want to overwrite file '" + args.database + "'?[Y/N]\n")
                if overwrite != 'Y':
                    exit()
                os.remove(args.database)
            database_create.create_db(args.database)
    
        try:
            Global.db = Database(args.database)
        except (sqlite3.DatabaseError, sqlite3.OperationalError) as e:
            print('The specified database file is invalid.\nTry rerunning with -fc?')
            exit()
    
    Jakub Štercl's avatar
    Jakub Štercl committed
        app = Qt.QApplication(sys.argv)
    
        translator.load(script_path + "translations/czech.qm")
    
        app.installTranslator(translator)
    
    Jakub Štercl's avatar
    Jakub Štercl committed
        form = MainWindow()
        form.show()
        app.exec_()
    
    Jakub Štercl's avatar
    Jakub Štercl committed
    
    if __name__ == '__main__':