From 036442aa692ad18b926a20a772d20df84372d50e Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Tue, 31 Dec 2019 18:44:47 +0100 Subject: [PATCH] allow services to be disabled on individual sdrs --- owrx/service.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/owrx/service.py b/owrx/service.py index 54d2a3b..5936f8f 100644 --- a/owrx/service.py +++ b/owrx/service.py @@ -120,6 +120,8 @@ class ServiceScheduler(object): self.source.removeClient(self) def scheduleSelection(self, time=None): + if self.source.getState() == SdrSource.STATE_FAILED: + return seconds = 10 if time is not None: delta = time - datetime.utcnow() @@ -199,6 +201,8 @@ class ServiceHandler(object): elif state == SdrSource.STATE_FAILED: logger.debug("sdr source failed; stopping services.") self.stopServices() + if self.scheduler: + self.scheduler.shutdown() def onBusyStateChange(self, state): pass @@ -385,7 +389,9 @@ class Services(object): if not PropertyManager.getSharedInstance()["services_enabled"]: return for source in SdrService.getSources().values(): - Services.handlers.append(ServiceHandler(source)) + props = source.getProps() + if "services" not in props or props["services"] != False: + Services.handlers.append(ServiceHandler(source)) @staticmethod def stop():