コード例 #1
0
ファイル: Main.py プロジェクト: FrUh/userpass-manager
def main():
    app = QtGui.QApplication(sys.argv)
    
    logging.info("Absolute app root: '%s'", AppSettings.APP_ABS_ROOT)
    
    # set application icon
    app.setWindowIcon(QtGui.QIcon(AppSettings.APP_ICON_PATH))
    
    # create neccessary paths if missing
    ifNotExCreate(AppSettings.TMP_PATH)
    ifNotExCreate(AppSettings.BACKUP_PATH)
    ifNotExCreate(AppSettings.DATA_PATH)
    ifNotExCreate(AppSettings.DB_PATH)
    ifNotExCreate(AppSettings.ICONS_PATH)
    
    # preapare languages
    AppSettings.writeLanguage("sk")
    
    AppSettings.LANG = AppSettings.readLanguage()
    
    TransController.loadTranslation("sk")
    TransController.loadTranslation("en")
    
    # DB controller instance
    db_con = DbController()

    # login dialog instance
    login_dialog = LoginDialog(db_con)

    db_path = AppSettings.readDbFilePath()
    logging.info("DB path: '%s'", db_path)
    
    if (not os.path.exists(AppSettings.decodePath(db_path))):
        # if default DB file doesnt exists, run create DB dialog
        login_dialog.enLogIn(False)
    else:
        # leave only last 10 backups
        backups = sorted(os.listdir(AppSettings.BACKUP_PATH), reverse=True)

        if len(backups) >= 10:
            for i in range(9, len(backups)):
                os.remove(AppSettings.BACKUP_PATH + backups[i])
        # first backup database
        backup_file = AppSettings.BACKUP_PATH + time.strftime("%Y-%m-%dT%H:%M:%S_", time.localtime()) + os.path.basename(db_path)
        logging.info("backup file: '%s'", backup_file)
        
        shutil.copyfile(AppSettings.decodePath(db_path), AppSettings.decodePath(backup_file))

    login_dialog.show()
    w = MainWindow(db_con)
 
    # when succesfully logged load main window
    login_dialog.signalSuccessfullyLogged.connect(w.setUserReloadShow)
    
    sys.exit(app.exec_())