feat: add backend Mac support (#913)

Adds a Mac localplatform based on the Linux one

Signed-off-by: Gianni Spadoni <me@gio.blue>
This commit is contained in:
Gio
2026-06-07 23:25:20 +08:00
committed by GitHub
parent 5490961056
commit 00e866c39e
2 changed files with 64 additions and 1 deletions
@@ -1,11 +1,15 @@
import platform, os import platform, os
ON_WINDOWS = platform.system() == "Windows" ON_WINDOWS = platform.system() == "Windows"
ON_LINUX = not ON_WINDOWS ON_MAC = platform.system() == "Darwin"
ON_LINUX = not ON_WINDOWS and not ON_MAC
if ON_WINDOWS: if ON_WINDOWS:
from .localplatformwin import * from .localplatformwin import *
from . import localplatformwin as localplatform from . import localplatformwin as localplatform
elif ON_MAC:
from .localplatformmac import *
from . import localplatformmac as localplatform
else: else:
from .localplatformlinux import * from .localplatformlinux import *
from . import localplatformlinux as localplatform from . import localplatformlinux as localplatform
@@ -0,0 +1,59 @@
from ..enums import UserType
import os, sys
from . import localplatformlinux
# this should be public
def _get_effective_user_id() -> int:
return os.geteuid()
def chown(path : str, user : UserType = UserType.HOST_USER, recursive : bool = True) -> bool:
return localplatformlinux.chown(path, user, recursive)
def chmod(path : str, permissions : int, recursive : bool = True) -> bool:
return localplatformlinux.chmod(path, permissions, recursive)
def file_owner(path : str) -> UserType|None:
return localplatformlinux.file_owner(path)
def get_home_path(user : UserType = UserType.HOST_USER) -> str:
return localplatformlinux.get_home_path(user)
def setgid(user : UserType = UserType.HOST_USER):
return localplatformlinux.setgid(user)
def setuid(user : UserType = UserType.HOST_USER):
return localplatformlinux.setuid(user)
async def service_active(service_name : str) -> bool:
return True # Stubbed
async def service_stop(service_name : str) -> bool:
return True # Stubbed
async def service_start(service_name : str) -> bool:
return True # Stubbed
async def service_restart(service_name : str, block : bool = True) -> bool:
return True # Stubbed
def get_effective_username() -> str:
return localplatformlinux.get_effective_username()
def get_username() -> str:
return localplatformlinux.get_username()
def get_privileged_path() -> str:
'''On Mac, privileged_path is equal to unprivileged_path'''
return get_unprivileged_path()
def get_unprivileged_path() -> str:
return localplatformlinux.get_unprivileged_path()
def get_unprivileged_user() -> str:
return localplatformlinux.get_unprivileged_user()
async def restart_webhelper() -> bool:
return await localplatformlinux.restart_webhelper()
async def close_cef_socket():
return # Stubbed