Lgndr: Monkeypatch modified DLManager into LegendaryCore at module import
This commit is contained in:
parent
a208c9b1d4
commit
7aded95a1f
|
@ -8,6 +8,9 @@ from legendary.models.manifest import ManifestMeta
|
||||||
from .api_exception import LgndrException, LgndrLogHandler
|
from .api_exception import LgndrException, LgndrLogHandler
|
||||||
from .manager import DLManager
|
from .manager import DLManager
|
||||||
|
|
||||||
|
# lk: Monkeypatch the modified DLManager into LegendaryCore
|
||||||
|
legendary.core.DLManager = DLManager
|
||||||
|
|
||||||
|
|
||||||
class LegendaryCore(legendary.core.LegendaryCore):
|
class LegendaryCore(legendary.core.LegendaryCore):
|
||||||
|
|
||||||
|
@ -28,30 +31,21 @@ class LegendaryCore(legendary.core.LegendaryCore):
|
||||||
disable_delta: bool = False, override_delta_manifest: str = '',
|
disable_delta: bool = False, override_delta_manifest: str = '',
|
||||||
egl_guid: str = '', preferred_cdn: str = None,
|
egl_guid: str = '', preferred_cdn: str = None,
|
||||||
disable_https: bool = False) -> (DLManager, AnalysisResult, ManifestMeta):
|
disable_https: bool = False) -> (DLManager, AnalysisResult, ManifestMeta):
|
||||||
_dlmanager = legendary.core.DLManager
|
dlm, analysis, igame = super(LegendaryCore, self).prepare_download(
|
||||||
legendary.core.DLManager = DLManager
|
game=game, base_game=base_game, base_path=base_path,
|
||||||
try:
|
status_q=status_q, max_shm=max_shm, max_workers=max_workers,
|
||||||
dlm, analysis, igame = super(LegendaryCore, self).prepare_download(
|
force=force, disable_patching=disable_patching,
|
||||||
game=game, base_game=base_game, base_path=base_path,
|
game_folder=game_folder, override_manifest=override_manifest,
|
||||||
status_q=status_q, max_shm=max_shm, max_workers=max_workers,
|
override_old_manifest=override_old_manifest, override_base_url=override_base_url,
|
||||||
force=force, disable_patching=disable_patching,
|
platform=platform, file_prefix_filter=file_prefix_filter,
|
||||||
game_folder=game_folder, override_manifest=override_manifest,
|
file_exclude_filter=file_exclude_filter, file_install_tag=file_install_tag,
|
||||||
override_old_manifest=override_old_manifest, override_base_url=override_base_url,
|
dl_optimizations=dl_optimizations, dl_timeout=dl_timeout,
|
||||||
platform=platform, file_prefix_filter=file_prefix_filter,
|
repair=repair, repair_use_latest=repair_use_latest,
|
||||||
file_exclude_filter=file_exclude_filter, file_install_tag=file_install_tag,
|
disable_delta=disable_delta, override_delta_manifest=override_delta_manifest,
|
||||||
dl_optimizations=dl_optimizations, dl_timeout=dl_timeout,
|
egl_guid=egl_guid, preferred_cdn=preferred_cdn,
|
||||||
repair=repair, repair_use_latest=repair_use_latest,
|
disable_https=disable_https
|
||||||
disable_delta=disable_delta, override_delta_manifest=override_delta_manifest,
|
)
|
||||||
egl_guid=egl_guid, preferred_cdn=preferred_cdn,
|
return dlm, analysis, igame
|
||||||
disable_https=disable_https
|
|
||||||
)
|
|
||||||
# lk: monkeypatch run_real (the method that emits the stats) into DLManager
|
|
||||||
# dlm.run_real = DLManager.run_real.__get__(dlm, DLManager)
|
|
||||||
return dlm, analysis, igame
|
|
||||||
except LgndrException as ret:
|
|
||||||
raise ret
|
|
||||||
finally:
|
|
||||||
legendary.core.DLManager = _dlmanager
|
|
||||||
|
|
||||||
def egl_import(self, app_name):
|
def egl_import(self, app_name):
|
||||||
try:
|
try:
|
||||||
|
@ -70,16 +64,7 @@ class LegendaryCore(legendary.core.LegendaryCore):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def prepare_overlay_install(self, path=None, status_q: Queue = None):
|
def prepare_overlay_install(self, path=None, status_q: Queue = None):
|
||||||
_dlmanager = legendary.core.DLManager
|
dlm, analysis_result, igame = super(LegendaryCore, self).prepare_overlay_install(path)
|
||||||
legendary.core.DLManager = DLManager
|
# lk: monkeypatch status_q (the queue for download stats)
|
||||||
try:
|
dlm.status_queue = status_q
|
||||||
dlm, analysis_result, igame = super(LegendaryCore, self).prepare_overlay_install(path)
|
return dlm, analysis_result, igame
|
||||||
# lk: monkeypatch status_q (the queue for download stats)
|
|
||||||
# lk: and run_real (the method that emits the stats) into DLManager
|
|
||||||
dlm.status_queue = status_q
|
|
||||||
# dlm.run_real = DLManager.run_real.__get__(dlm, DLManager)
|
|
||||||
return dlm, analysis_result, igame
|
|
||||||
except LgndrException as ret:
|
|
||||||
raise ret
|
|
||||||
finally:
|
|
||||||
legendary.core.DLManager = _dlmanager
|
|
||||||
|
|
Loading…
Reference in a new issue