148cf0ff8e
The addition of download_only option broke the download queue due to different positional arguments and tuple indices. Since using indices is awkward, models to represent the download and each item in the queue itself were added.
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
import os
|
|
|
|
|
|
class InstallOptionsModel:
|
|
def __init__(self, app_name: str, path: str = os.path.expanduser("~/legendary"),
|
|
max_workers: int = os.cpu_count() * 2, repair: bool = False, dl_only: bool = False,
|
|
ignore_free_space: bool = False, force: bool = False, sdl_list: list = ['']
|
|
):
|
|
self.app_name = app_name
|
|
self.path = path
|
|
self.max_workers = max_workers
|
|
self.repair = repair
|
|
self.dl_only = dl_only
|
|
self.ignore_free_space = ignore_free_space
|
|
self.force = force
|
|
self.sdl_list = sdl_list
|
|
|
|
|
|
class InstallDownloadModel:
|
|
def __init__(self, dlmanager, analysis, game, igame, repair: bool = False, repair_file: str = None):
|
|
self.dlmanager = dlmanager
|
|
self.analysis = analysis
|
|
self.game = game
|
|
self.igame = igame
|
|
self.repair = repair
|
|
self.repair_file = repair_file
|
|
|
|
|
|
class InstallQueueItemModel:
|
|
def __init__(self, queue, download: InstallDownloadModel, options: InstallOptionsModel):
|
|
self.queue = queue
|
|
self.download = download
|
|
self.options = options
|