add console logging in gui, remove progress bar from gui, add new logging function, refactor all print statements to use new log function

This commit is contained in:
Vxrtrauter
2026-01-14 11:27:22 +01:00
parent 9afced8a0b
commit a386269f29
15 changed files with 128 additions and 122 deletions
+2 -2
View File
@@ -1,5 +1,6 @@
from core.utils.config.settings import save_settings
from core.utils.data.state import state
from core.utils.general.logs import consoleLog
from PySide6 import QtWidgets
from PySide6.QtWidgets import (
QLineEdit,
@@ -16,8 +17,7 @@ from PySide6.QtWidgets import (
def settings_dialog(self):
if state.debug:
print("Settings dialog opened")
consoleLog("Settings dialog opened")
dialog = QDialog(self)
dialog.setWindowTitle("Settings")
dialog.setFixedSize(800, 400)
+28 -3
View File
@@ -16,6 +16,7 @@ from PySide6.QtWidgets import (
QHeaderView,
QMessageBox,
QTableWidget,
QTextEdit
)
from PySide6.QtGui import QIcon, QAction, QCloseEvent, QImage, QPixmap
@@ -28,6 +29,7 @@ import subprocess
import time
import sys
import json
from core.utils.general.logs import consoleLog
from core.utils.general.wrappers import run_thread
from core.utils.data.state import state
from core.utils.network.download import download_selected
@@ -43,7 +45,7 @@ def download_update(latest_version):
new_filename = f"SoftwareManager-dev-{latest_version.replace('-dev', '')}-windows.exe"
url = f"https://github.com/KeksPirates/SoftwareManager/releases/latest/download/SoftwareManager-dev-{latest_version.replace('-dev', '')}-windows.exe"
print("Downloading update...")
consoleLog("Downloading update...")
response = r.get(url, allow_redirects=True)
with open(new_filename, "wb") as f:
f.write(response.content)
@@ -63,8 +65,12 @@ def download_update(latest_version):
class MainWindow(QtWidgets.QMainWindow, QWidget):
log_signal = Signal(str) # Thread-safe signal for logging
def __init__(self):
super().__init__()
MainWindow._instance = self
self.log_signal.connect(self._on_log_signal)
build_info_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "build_info.json")
if os.path.exists(build_info_path):
@@ -115,6 +121,8 @@ class MainWindow(QtWidgets.QMainWindow, QWidget):
self.downloadList = QTableView()
self.emptyLibrary = QLabel("No items in library.")
self.emptyDownload = QLabel("No items in downloads.")
self.consoleLog = QTextEdit()
self.progressbar = QProgressBar()
# Table Widget for Item List
@@ -240,8 +248,10 @@ class MainWindow(QtWidgets.QMainWindow, QWidget):
toolbar.setMovable(False)
self.progressbar.setValue(0)
containerLayout.addWidget(self.progressbar)
# self.progressbar.setValue(0)
self.consoleLog.setReadOnly(True)
self.consoleLog.setFixedHeight(150)
containerLayout.addWidget(self.consoleLog)
self.progress_timer = QTimer()
self.progress_timer.timeout.connect(lambda: run_thread(threading.Thread(target=self.update_progress)))
@@ -251,6 +261,17 @@ class MainWindow(QtWidgets.QMainWindow, QWidget):
self.download_timer.timeout.connect(lambda: run_thread(threading.Thread(target=self.download_list_update)))
self.download_timer.start(500)
@staticmethod
def add_log(text):
if MainWindow._instance:
MainWindow._instance.log_signal.emit(text)
def _on_log_signal(self, text):
self.consoleLog.append(text)
self.consoleLog.verticalScrollBar().setValue(
self.consoleLog.verticalScrollBar().maximum()
)
def update_image_overlay(self, new_image_path):
self.image = QImage(new_image_path)
self.pixmap = QPixmap.fromImage(self.image)
@@ -288,3 +309,7 @@ class MainWindow(QtWidgets.QMainWindow, QWidget):
super().resizeEvent(event)
table_width = self.qtablewidget.viewport().width()
self.qtablewidget.setColumnWidth(1, int(table_width * 0.3))
+9 -15
View File
@@ -1,4 +1,5 @@
from PySide6.QtWidgets import QTableWidgetItem
from core.utils.general.logs import consoleLog
from core.data.scrapers.uztracker import scrape_uztracker
from core.data.scrapers.rutracker import scrape_rutracker
from core.data.scrapers.monkrus import scrape_monkrus_telegram
@@ -8,11 +9,9 @@ from core.utils.data.state import state
def return_pressed(self):
search_text = self.searchbar.text()
if search_text == "":
if state.debug:
print("Error: Can't search for nothing")
consoleLog("Error: Can't search for nothing")
return
if state.debug:
print("User searched for:", search_text)
consoleLog(f"User searched for: {search_text}")
if state.tracker == "uztracker":
response = scrape_uztracker(search_text)
@@ -28,13 +27,11 @@ def return_pressed(self):
self.qtablewidget.setItem(i, 0, QTableWidgetItem(title))
self.show_empty_results(False)
else:
if state.debug:
print(f"No Results for {search_text}")
consoleLog(f"No Results for {search_text}")
self.qtablewidget.clear()
self.show_empty_results(True)
else:
if state.debug:
print(f"No response from uztracker")
consoleLog(f"No response from uztracker")
self.qtablewidget.clear()
self.show_empty_results(True)
@@ -43,8 +40,7 @@ def return_pressed(self):
if response:
_, state.posts, _, _, cached = split_data(response)
if state.posts == []:
if state.debug:
print(f"No Results for {search_text}")
consoleLog(f"No Results for {search_text}")
self.qtablewidget.clear()
self.show_empty_results(True)
else:
@@ -58,10 +54,9 @@ def return_pressed(self):
for i, title in enumerate(state.post_titles):
self.qtablewidget.setItem(i, 0, QTableWidgetItem(title))
if state.debug == True:
print(f"Response Cached: {cached}")
consoleLog(f"Response Cached: {cached}")
else:
if state.debug:
print(f"No response from rutracker")
consoleLog(f"No response from rutracker")
self.qtablewidget.clear()
self.show_empty_results(True)
@@ -69,8 +64,7 @@ def return_pressed(self):
state.posts = scrape_monkrus_telegram(search_text)
if state.posts == []:
if state.debug:
print(f"No Results for {search_text}")
consoleLog(f"No Results for {search_text}")
self.qtablewidget.clear()
self.show_empty_results(True)
else: