From b960080e50b73fc13cb69471750dd62260ef327e Mon Sep 17 00:00:00 2001 From: Jonathan Weth Date: Thu, 1 Jul 2021 12:51:16 +0200 Subject: Move user settings to service and save settings after changing data instead of before --- rwa/support/sessionservice/config.py | 6 ------ rwa/support/sessionservice/service.py | 27 ++++++++++++++++----------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/rwa/support/sessionservice/config.py b/rwa/support/sessionservice/config.py index de5518d..f334e81 100644 --- a/rwa/support/sessionservice/config.py +++ b/rwa/support/sessionservice/config.py @@ -22,9 +22,3 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . - -import usersettings - -user_settings = usersettings.Settings("org.ArcticaProject.RWASupportSessionService") -user_settings.add_setting("web_app_hosts", list, ["http://127.0.0.1:8000"]) -user_settings.load_settings() diff --git a/rwa/support/sessionservice/service.py b/rwa/support/sessionservice/service.py index 23fd660..d205056 100755 --- a/rwa/support/sessionservice/service.py +++ b/rwa/support/sessionservice/service.py @@ -35,10 +35,10 @@ import click import dbus import dbus.mainloop.glib import dbus.service +import usersettings import validators from gi.repository import GLib -from .config import user_settings from .lock import is_locked, lock, unlock from .log import logging from .session import Session @@ -74,6 +74,11 @@ class RWASupportSessionService(dbus.service.Object): self.update_service_running = False self.sessions = {} + + self.settings = usersettings.Settings("org.ArcticaProject.RWASupportSessionService") + self.settings.add_setting("web_app_hosts", list, ["http://127.0.0.1:8000"]) + self.settings.load_settings() + super().__init__(name, "/RWASupportSessionService") logging.info("D-Bus service has been started.") @@ -93,7 +98,7 @@ class RWASupportSessionService(dbus.service.Object): Helper function: No D-Bus API. """ - hosts = user_settings.web_app_hosts + hosts = self.settings.web_app_hosts return json.dumps(hosts) @dbus.service.method("org.ArcticaProject.RWASupportSessionService", out_signature="s") @@ -133,8 +138,8 @@ class RWASupportSessionService(dbus.service.Object): logging.info('D-Bus method call: %s("%s")', "add_web_app_host", host) if self._is_url(host): - user_settings.save_settings() - user_settings.web_app_hosts.append(host) + self.settings.save_settings() + self.settings.web_app_hosts.append(host) logging.debug('Added "%s" to "web_app_hosts" in user_settings', host) else: logging.warning("Given URL is not valid!") @@ -158,15 +163,15 @@ class RWASupportSessionService(dbus.service.Object): """ logging.info("D-Bus method call: %s(%d)", "remove_web_app_host", host_idx) - if host_idx >= 0 and host_idx < len(user_settings.web_app_hosts): - host = user_settings.web_app_hosts[host_idx] - del user_settings.web_app_hosts[host_idx] - user_settings.save_settings() - logging.debug('Removed web_app_hosts[%d]="%s" in user_settings', host_idx, host) + if host_idx >= 0 and host_idx < len(self.settings.web_app_hosts): + host = self.settings.web_app_hosts[host_idx] + del self.settings.web_app_hosts[host_idx] + self.settings.save_settings() + logging.debug('Removed web_app_hosts[%d]="%s" in user settings', host_idx, host) else: logging.warning("Given host index is not valid!") logging.debug( - "Did not remove web_app_hosts[%d] (not existent!) in " "user_settings", host_idx + "Did not remove web_app_hosts[%d] (not existent!) in " "user settings", host_idx ) return self._get_web_app_hosts() @@ -209,7 +214,7 @@ class RWASupportSessionService(dbus.service.Object): return response try: - host = user_settings.web_app_hosts[host_idx] + host = self.settings.web_app_hosts[host_idx] logging.debug('web_app_hosts[%d] is the following host: "%s"', host_idx, host) except IndexError: logging.error("web_app_hosts[%d] does not exist!", host_idx) -- cgit v1.2.3