refactor sources to be more flexible

This commit is contained in:
Jakob Ketterl
2019-12-28 00:26:45 +01:00
parent ca4d9771cc
commit 8371d3b67a
12 changed files with 283 additions and 233 deletions

View File

@ -1,14 +1,29 @@
from abc import ABCMeta, abstractmethod
from owrx.command import Option
from .connector import ConnectorSource
class SoapyConnectorSource(ConnectorSource):
class SoapyConnectorSource(ConnectorSource, metaclass=ABCMeta):
def __init__(self, id, props, port):
super().__init__(id, props, port)
self.getCommandMapper().setBase("soapy_connector").setMappings({
"antenna": Option("-a")
})
"""
must be implemented by child classes to be able to build a driver-based device selector by default.
return value must be the corresponding soapy driver identifier.
"""
@abstractmethod
def getDriver(self):
pass
def getEventNames(self):
return super().getEventNames() + [
"antenna",
]
def parseDeviceString(self, dstr):
def decodeComponent(c):