]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/actions/status.py
tools/helpers/http.py: also handle urllib.error.URLError exceptions instead of showin...
[waydroid.git] / tools / actions / status.py
index 00261cebd7012b8a9d088b05d6cea9a968079ed0..896a8af3acdf465707b6127650ed8154e8f6eb65 100644 (file)
@@ -1,19 +1,26 @@
 # Copyright 2021 Erfan Abdi
 # SPDX-License-Identifier: GPL-3.0-or-later
-import os
 import tools.config
+import tools.helpers.ipc
+import tools.helpers.net
+import dbus
 
 def print_status(args):
     cfg = tools.config.load(args)
-    if os.path.exists(tools.config.session_defaults["config_path"]):
-        session_cfg = tools.config.load_session()
-        print("Session:\tRUNNING")
-        print("Container:\t" + session_cfg["session"]["state"])
-        print("Vendor type:\t" + cfg["waydroid"]["vendor_type"])
-        print("Session user:\t{}({})".format(
-            session_cfg["session"]["user_name"], session_cfg["session"]["user_id"]))
-        print("Wayland display:\t" +
-                     session_cfg["session"]["wayland_display"])
-    else:
+    def print_stopped():
         print("Session:\tSTOPPED")
         print("Vendor type:\t" + cfg["waydroid"]["vendor_type"])
+
+    try:
+        session = tools.helpers.ipc.DBusContainerService().GetSession()
+        if session:
+            print("Session:\tRUNNING")
+            print("Container:\t" + session["state"])
+            print("Vendor type:\t" + cfg["waydroid"]["vendor_type"])
+            print("IP address:\t" + (tools.helpers.net.get_device_ip_address() or "UNKNOWN"))
+            print("Session user:\t{}({})".format(session["user_name"], session["user_id"]))
+            print("Wayland display:\t" + session["wayland_display"])
+        else:
+            print_stopped()
+    except dbus.DBusException:
+        print_stopped()