Skip to content

Commit

Permalink
Add config options for service restart
Browse files Browse the repository at this point in the history
Add error logging when service restart fails and release GUI
  • Loading branch information
NeonDaniel committed Dec 27, 2024
1 parent 21e6726 commit 120a865
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions ovos_PHAL_plugin_system/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ def __init__(self, bus=None, config=None):
self.bus.on("system.mycroft.service.restart.start", self.handle_mycroft_restarting)

self.core_service_name = config.get("core_service") or "ovos.service"
self.core_service_is_user = config.get("core_service_is_user", True)
# In Debian, ssh stays active, but sshd is removed when ssh is disabled
self.ssh_service = config.get("ssh_service") or "sshd.service"
self.use_root = config.get("sudo", True)
Expand Down Expand Up @@ -287,15 +288,13 @@ def handle_mycroft_restarting(self, message: Message):
def handle_mycroft_restart_request(self, message: Message):
service = self.core_service_name
self.bus.emit(message.forward("system.mycroft.service.restart.start", message.data))
# TODO - clean up this mess

try:
restart_service(service, sudo=False, user=True)
except:
try:
restart_service(service, sudo=True, user=False)
except:
LOG.error("No mycroft or ovos service installed")
return False
restart_service(service, sudo=self.use_root,
user=self.core_service_is_user)
except Exception as e:
LOG.error(f"Failed to restart service: {e}")
self.gui.clear() # Release the GUI

def handle_ssh_status(self, message: Message):
"""
Expand Down

0 comments on commit 120a865

Please sign in to comment.