From bafcb26fbef0718c19c8f92cf0425f1217147a4d Mon Sep 17 00:00:00 2001 From: Lev Rusanov <30170278+JDM170@users.noreply.github.com> Date: Wed, 8 May 2024 22:36:47 +0700 Subject: [PATCH] Update * added progress dialog when download configs * updated requirements (again) * updated .gitignore * updated second window flags * warning fixes Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com> --- .gitignore | 3 +++ module_main/script.py | 20 ++++++++++---------- module_parsing/script.py | 22 +++++++++++++++++----- module_second/script.py | 2 +- requirements.txt | 2 +- 5 files changed, 32 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 2858629..757cd8a 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ ## Ignore .bak files *.bak + +## Ignore created 'update.cfg' file +update.cfg diff --git a/module_main/script.py b/module_main/script.py index c6128ec..4f4d36e 100644 --- a/module_main/script.py +++ b/module_main/script.py @@ -1,22 +1,22 @@ #!/usr/bin/python3 # -*- coding: utf-8 -*- -from os import getcwd, remove -from os.path import isfile +from ast import literal_eval from ctypes import CDLL +from os import getcwd, remove + from PyQt5.QtCore import Qt, QRegExp from PyQt5.QtGui import QRegExpValidator from PyQt5.QtWidgets import QDialog, QFileDialog -from ast import literal_eval -from .form import Ui_MainWindow -from util import * + from dataIO import dataIO -from module_second.script import SecondWindow from module_parsing.script import check_remote_hashes, update_configs +from module_second.script import SecondWindow from statics import update_config_name +from util import * +from .form import Ui_MainWindow - -libdecrypt = CDLL("{}\\SII_Decrypt.dll".format(getcwd())) +libDecrypt = CDLL("{}\\SII_Decrypt.dll".format(getcwd())) class MainWindow(QDialog, Ui_MainWindow): @@ -141,8 +141,8 @@ class MainWindow(QDialog, Ui_MainWindow): def get_file_data(self, file_path): bytes_file_path = file_path.replace("/", "\\").encode("utf-8") - if libdecrypt.GetFileFormat(bytes_file_path) == 2: - if libdecrypt.DecryptAndDecodeFile(bytes_file_path, bytes_file_path) != 0: + if libDecrypt.GetFileFormat(bytes_file_path) == 2: + if libDecrypt.DecryptAndDecodeFile(bytes_file_path, bytes_file_path) != 0: QMessageBox.critical(self, "Error", "Something went wrong with decrypting file. Try again.") return diff --git a/module_parsing/script.py b/module_parsing/script.py index 2779772..b1d96ef 100644 --- a/module_parsing/script.py +++ b/module_parsing/script.py @@ -1,18 +1,22 @@ #!/usr/bin/python3 # -*- coding: utf-8 -*- -from requests import get -from ast import literal_eval import os -from statics import github_link, update_config_name +from ast import literal_eval + +from PyQt5.QtCore import Qt +from PyQt5.QtWidgets import QProgressDialog, QApplication +from requests import get + from dataIO import dataIO +from statics import github_link from util import util def get_response_result(url): """ Getting the result from a given url - :param url: url where we get data + :param url: place where we get data :return: status code (True or False), response body """ response = get(url) @@ -26,7 +30,7 @@ def check_path(path): """ current_path = os.getcwd() for item in path.split("/"): - current_path = os.path.join(current_path, item) + current_path = os.path.join(str(current_path), item) if not os.path.exists(current_path): if item.find(".json") > 0: open(current_path, "w").close() @@ -52,6 +56,10 @@ def update_configs(cfg_list): """ :param cfg_list: config list to update """ + progress = QProgressDialog("Downloading configs...", None, 0, len(cfg_list), flags=Qt.Window | Qt.WindowTitleHint) + progress.setWindowTitle("Download progress") + progress.setWindowModality(Qt.WindowModal) + progress.show() for cfg in cfg_list: check_path(cfg) response_status, response = get_response_result(github_link + cfg) @@ -59,3 +67,7 @@ def update_configs(cfg_list): remote_cfg = literal_eval(response.text) if dataIO.is_valid_json(cfg) or os.path.exists(cfg): dataIO.save_json(cfg, remote_cfg) + progress.setValue(progress.value()+1) + QApplication.processEvents() + progress.setValue(len(cfg_list)) + QApplication.processEvents() diff --git a/module_second/script.py b/module_second/script.py index b65dd66..15ef2ad 100644 --- a/module_second/script.py +++ b/module_second/script.py @@ -17,7 +17,7 @@ garages_stat = { class SecondWindow(QDialog, Ui_SecondWindow): def __init__(self, selected_game, owns_list, parent=None): # Setup UI - QDialog.__init__(self, parent, flags=Qt.Window) + QDialog.__init__(self, parent, flags=(Qt.Window | Qt.WindowTitleHint | Qt.WindowCloseButtonHint)) Ui_SecondWindow.__init__(self) self.ui = Ui_SecondWindow() self.ui.setupUi(self) diff --git a/requirements.txt b/requirements.txt index 2ebff10..1e1ed61 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ altgraph==0.17.4 certifi==2023.11.17 charset-normalizer==3.3.2 -cx-Freeze==7.0.0 +cx_Freeze==7.0.0 cx-Logging==3.1.0 idna==3.6 lief==0.14.0