add csdr version requirement

This commit is contained in:
Jakob Ketterl 2020-08-26 20:07:58 +02:00
parent 055269504b
commit f41814c6ca
2 changed files with 15 additions and 2 deletions

View File

@ -50,7 +50,7 @@ Support and info: https://groups.io/g/openwebrx
if not featureDetector.is_available("core"):
logger.error(
"you are missing required dependencies to run openwebrx. "
"please check that the following core requirements are installed:"
"please check that the following core requirements are installed and up to date:"
)
logger.error(", ".join(featureDetector.get_requirements("core")))
return

View File

@ -115,7 +115,20 @@ class FeatureDetector(object):
OpenWebRX uses the demodulator and pipeline tools provided by the csdr project. Please check out [the project
page on github](https://github.com/jketterl/csdr) for further details and installation instructions.
"""
return self.command_is_runnable("csdr")
required_version = LooseVersion("0.16.1")
csdr_version_regex = re.compile("^csdr version (.*)$")
try:
process = subprocess.Popen(["csdr", "version"], stderr=subprocess.PIPE)
matches = csdr_version_regex.match(process.stderr.readline().decode())
if matches is None:
return False
version = LooseVersion(matches.group(1))
process.wait(1)
return version >= required_version
except FileNotFoundError:
return False
def has_nmux(self):
"""