Skip to content

Commit 175d6d0

Browse files
committed
BUGFIX:
- ServiceBus: remote settings update did not work anymore - ModManager: remote calls did not work anymore
1 parent c60f74f commit 175d6d0

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

services/modmanager/service.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -379,9 +379,11 @@ def backup(p, names) -> list[str]:
379379
return True
380380

381381
@proxy
382-
async def install_package(self, server: Server, folder: Folder, package_name: str, version: str,
382+
async def install_package(self, server: Server, folder: Union[Folder, str], package_name: str, version: str,
383383
repo: Optional[str] = None) -> bool:
384384
self.log.info(f"Installing package {package_name}_v{version} ...")
385+
if isinstance(folder, str):
386+
folder = Folder(folder)
385387
config = self.get_config()
386388
path = os.path.expandvars(config[folder.value])
387389
if folder == Folder.SavedGames:
@@ -435,7 +437,10 @@ async def do_uninstall(self, reference: Union[Server, Node], folder: Folder, pac
435437
return True
436438

437439
@proxy
438-
async def uninstall_package(self, server: Server, folder: Folder, package_name: str, version: str) -> bool:
440+
async def uninstall_package(self, server: Server, folder: Union[Folder, str], package_name: str,
441+
version: str) -> bool:
442+
if isinstance(folder, str):
443+
folder = Folder(folder)
439444
if folder == Folder.RootFolder:
440445
return await self.uninstall_root_package(server.node, package_name, version)
441446
self.log.info(f"Uninstalling package {package_name}_v{version} ...")

services/servicebus/service.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from core.data.impl.serverimpl import ServerImpl
1717
from datetime import datetime, timedelta, timezone
1818
from enum import Enum
19+
from functools import reduce
1920
from psycopg.rows import dict_row
2021
from psycopg.types.json import Json
2122
from queue import Queue
@@ -626,7 +627,7 @@ async def handle_agent(self, data: dict):
626627
async def rpc(self, obj: object, data: dict) -> Optional[dict]:
627628
if 'method' in data:
628629
method_name = data['method']
629-
func = getattr(obj, method_name, None)
630+
func = reduce(lambda attr, part: getattr(attr, part, None), method_name.split('.'), obj)
630631
if not func:
631632
raise ValueError(f"Call to non-existing function {method_name}()")
632633

0 commit comments

Comments
 (0)