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_())