summaryrefslogtreecommitdiff
path: root/backend/src/localplatform.py
diff options
context:
space:
mode:
Diffstat (limited to 'backend/src/localplatform.py')
-rw-r--r--backend/src/localplatform.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/backend/src/localplatform.py b/backend/src/localplatform.py
new file mode 100644
index 00000000..028eff8f
--- /dev/null
+++ b/backend/src/localplatform.py
@@ -0,0 +1,52 @@
+import platform, os
+
+ON_WINDOWS = platform.system() == "Windows"
+ON_LINUX = not ON_WINDOWS
+
+if ON_WINDOWS:
+ from .localplatformwin import *
+ from . import localplatformwin as localplatform
+else:
+ from .localplatformlinux import *
+ from . import localplatformlinux as localplatform
+
+def get_privileged_path() -> str:
+ '''Get path accessible by elevated user. Holds plugins, decky loader and decky loader configs'''
+ return localplatform.get_privileged_path()
+
+def get_unprivileged_path() -> str:
+ '''Get path accessible by non-elevated user. Holds plugin configuration, plugin data and plugin logs. Externally referred to as the 'Homebrew' directory'''
+ return localplatform.get_unprivileged_path()
+
+def get_unprivileged_user() -> str:
+ '''Get user that should own files made in unprivileged path'''
+ return localplatform.get_unprivileged_user()
+
+def get_chown_plugin_path() -> bool:
+ return os.getenv("CHOWN_PLUGIN_PATH", "1") == "1"
+
+def get_server_host() -> str:
+ return os.getenv("SERVER_HOST", "127.0.0.1")
+
+def get_server_port() -> int:
+ return int(os.getenv("SERVER_PORT", "1337"))
+
+def get_live_reload() -> bool:
+ return os.getenv("LIVE_RELOAD", "1") == "1"
+
+def get_keep_systemd_service() -> bool:
+ return os.getenv("KEEP_SYSTEMD_SERVICE", "0") == "1"
+
+def get_log_level() -> int:
+ return {"CRITICAL": 50, "ERROR": 40, "WARNING": 30, "INFO": 20, "DEBUG": 10}[
+ os.getenv("LOG_LEVEL", "INFO")
+ ]
+
+def get_selinux() -> bool:
+ if ON_LINUX:
+ from subprocess import check_output
+ try:
+ if (check_output("getenforce").decode("ascii").strip("\n") == "Enforcing"): return True
+ except FileNotFoundError:
+ pass
+ return False