mirror of
https://github.com/KeksPirates/SoftwareManager.git
synced 2026-08-03 17:39:42 +02:00
feat: add flush_log_buffer function and update consoleLog to handle log entries
This commit is contained in:
@@ -29,7 +29,7 @@ import libtorrent as lt
|
||||
import time
|
||||
import sys
|
||||
import json
|
||||
from core.utils.general.logs import consoleLog, remove_download_log
|
||||
from core.utils.general.logs import consoleLog, remove_download_log, flush_log_buffer
|
||||
from core.utils.general.wrappers import run_thread
|
||||
from core.utils.data.state import state
|
||||
from core.utils.network.download import download_selected
|
||||
@@ -150,6 +150,8 @@ class MainWindow(QtWidgets.QMainWindow, QWidget):
|
||||
self.consoleLog = QTextEdit()
|
||||
self.progressbar = QProgressBar()
|
||||
|
||||
flush_log_buffer()
|
||||
|
||||
# Table Widget for Item List
|
||||
self.qtablewidget = QTableWidget()
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ import json
|
||||
import os
|
||||
import re
|
||||
|
||||
_log_buffer = []
|
||||
|
||||
|
||||
def add_download_log(title, url, magnet_uri, completed) -> DownloadList:
|
||||
downloads_file = os.path.join(state.settings_path, "downloads.json")
|
||||
@@ -189,15 +191,28 @@ def set_main_window(window):
|
||||
global _main_window
|
||||
_main_window = window
|
||||
|
||||
def flush_log_buffer(): # credits to claude
|
||||
global _log_buffer
|
||||
if _log_buffer:
|
||||
try:
|
||||
from core.interface.gui import MainWindow
|
||||
for log_entry in _log_buffer:
|
||||
MainWindow.add_log(log_entry)
|
||||
_log_buffer = []
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def consoleLog(text, printAnyways = False):
|
||||
now = datetime.now()
|
||||
current_time = now.strftime("%H:%M:%S")
|
||||
formatted_text = f"[{current_time}] {text}"
|
||||
|
||||
try:
|
||||
from core.interface.gui import MainWindow
|
||||
MainWindow.add_log(f"[{current_time}] {text}")
|
||||
MainWindow.add_log(formatted_text)
|
||||
except Exception:
|
||||
pass
|
||||
global _log_buffer
|
||||
_log_buffer.append(formatted_text)
|
||||
|
||||
if state.debug or printAnyways:
|
||||
print(f"[{current_time}] {text}")
|
||||
print(formatted_text)
|
||||
|
||||
@@ -47,7 +47,7 @@ if __name__ == "__main__":
|
||||
if args.debug:
|
||||
state.debug = args.debug # override of read_config
|
||||
signal.signal(signal.SIGINT, keyboardinterrupthandler)
|
||||
consoleLog("Started check_completed thread")
|
||||
consoleLog("Starting SoftwareManager...")
|
||||
consoleLog("Fetching Network Interfaces...")
|
||||
list_interfaces()
|
||||
consoleLog("Initialiting Interface variables...")
|
||||
@@ -58,6 +58,7 @@ if __name__ == "__main__":
|
||||
run_thread(threading.Thread(target=update_log, args=(shutdown_event,), daemon=True))
|
||||
consoleLog("Started Thread: update_log")
|
||||
run_thread(threading.Thread(target=check_completed, args=(downloads, state.autoresume)))
|
||||
consoleLog("Started Thread: check_completed")
|
||||
consoleLog("Launching GUI")
|
||||
run_gui()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user