add a feature check for js8py since it's optional now

This commit is contained in:
Jakob Ketterl 2021-09-22 13:11:27 +02:00
parent acc70b6449
commit 6589c9dbe1

View File

@ -2,7 +2,7 @@ import subprocess
from functools import reduce from functools import reduce
from operator import and_ from operator import and_
import re import re
from distutils.version import LooseVersion from distutils.version import LooseVersion, StrictVersion
import inspect import inspect
from owrx.config.core import CoreConfig from owrx.config.core import CoreConfig
from owrx.config import Config from owrx.config import Config
@ -80,7 +80,7 @@ class FeatureDetector(object):
"wsjt-x-2-4": ["wsjtx_2_4"], "wsjt-x-2-4": ["wsjtx_2_4"],
"packet": ["direwolf"], "packet": ["direwolf"],
"pocsag": ["digiham"], "pocsag": ["digiham"],
"js8call": ["js8"], "js8call": ["js8", "js8py"],
"drm": ["dream"], "drm": ["dream"],
} }
@ -449,6 +449,18 @@ class FeatureDetector(object):
""" """
return self.command_is_runnable("js8") return self.command_is_runnable("js8")
def has_js8py(self):
"""
The js8py library is used to decode binary JS8 messages into readable text. More information is available on
[its github page](https://github.com/jketterl/js8py).
"""
required_version = StrictVersion("0.1")
try:
from js8py.version import strictversion
return strictversion >= required_version
except ImportError:
return False
def has_alsa(self): def has_alsa(self):
""" """
Some SDR receivers are identifying themselves as a soundcard. In order to read their data, OpenWebRX relies Some SDR receivers are identifying themselves as a soundcard. In order to read their data, OpenWebRX relies