refactor: consolidate aria2 process management into state and remove global variables

This commit is contained in:
Vxrtrauter
2025-10-09 15:55:39 +02:00
parent 13d0384a64
commit 5da7989157
5 changed files with 30 additions and 41 deletions
+15 -16
View File
@@ -1,20 +1,19 @@
from core.network.aria2_integration import set_threads
from core.utils.state import state
def restart_aria2c(aria2process):
import main # had to do this because of circle import :(
import signal
import atexit
main.kill_aria2server(aria2process)
aria2process.wait()
aria2process = main.run_aria2server()
signal.signal(signal.SIGINT, main.keyboardinterrupthandler)
atexit.unregister(main.kill_aria2server)
atexit.register(main.kill_aria2server, aria2process)
def restart_aria2c():
import main # had to do this because of circle import :(
import signal
import atexit
main.kill_aria2server()
state.aria2process.wait()
state.aria2process = main.run_aria2server()
signal.signal(signal.SIGINT, main.keyboardinterrupthandler)
atexit.unregister(main.kill_aria2server)
atexit.register(main.kill_aria2server)
def save_settings(thread_count, close, apiurl, aria2process):
global api_url
set_threads(thread_count)
api_url = apiurl
restart_aria2c(aria2process)
def save_settings(thread_count, close, apiurl):
state.aria2_threads = thread_count
state.api_url = apiurl
restart_aria2c()
close()
+3
View File
@@ -1,4 +1,5 @@
from dataclasses import dataclass
from typing import Optional, Any
@dataclass
@@ -6,6 +7,8 @@ class AppState:
debug: bool = False
tracker: str = "rutracker"
api_url: str = "https://api.michijackson.xyz"
aria2process: Optional[Any] = None
aria2_threads: int = 4
state = AppState()