From 9e51eaa52fa432d71c8e380c271e866ad9eb7def Mon Sep 17 00:00:00 2001 From: DJ2LS Date: Sat, 20 Nov 2021 10:20:30 +0100 Subject: [PATCH] hamlib exception hamlib search order now working for openSUSE --- README.md | 2 +- tnc/daemon.py | 30 +++++++++++++++--------------- tnc/modem.py | 26 +++++++++++++------------- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 7b1dd4ad..4efb5e41 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ npm cache clean -f sudo npm install -g n sudo n stable sudo apt install python3 python3-hamlib portaudio19-dev python3-pyaudio python3-pip -pip3 install psutil crcengine ujson pyserial numpy +pip3 install psutil crcengine ujson pyserial numpy structlog git clone https://github.com/DJ2LS/FreeDATA.git cd FreeDATA/gui diff --git a/tnc/daemon.py b/tnc/daemon.py index 4d37d737..d5aaa8b3 100755 --- a/tnc/daemon.py +++ b/tnc/daemon.py @@ -58,29 +58,29 @@ def noalsaerr(): # sys.path.append("hamlib/linux") try: - from lib.hamlib.linux import Hamlib + from lib.hamlib.linux import Hamlib2 # https://stackoverflow.com/a/4703409 hamlib_version = re.findall(r"[-+]?\d*\.?\d+|\d+", Hamlib.cvar.hamlib_version) hamlib_version = float(hamlib_version[0]) hamlib_path = "lib/hamlib/" + sys.platform structlog.get_logger("structlog").info("[DMN] Hamlib found", version=hamlib_version, path=hamlib_path) -except ImportError: - import Hamlib - # https://stackoverflow.com/a/4703409 - hamlib_version = re.findall(r"[-+]?\d*\.?\d+|\d+", Hamlib.cvar.hamlib_version) - hamlib_version = float(hamlib_version[0]) - - min_hamlib_version = 4.1 - if hamlib_version > min_hamlib_version: - structlog.get_logger("structlog").info("[DMN] Hamlib found", version=hamlib_version, path="system") - else: - structlog.get_logger("structlog").critical("[DMN] Hamlib outdated", found=hamlib_version, needed=min_hamlib_version, path="system") -else: - # place for rigctld - pass +except ImportError: + try: + import Hamlib + + # https://stackoverflow.com/a/4703409 + hamlib_version = re.findall(r"[-+]?\d*\.?\d+|\d+", Hamlib.cvar.hamlib_version) + hamlib_version = float(hamlib_version[0]) + min_hamlib_version = 4.1 + if hamlib_version > min_hamlib_version: + structlog.get_logger("structlog").info("[DMN] Hamlib found", version=hamlib_version, path="system") + else: + structlog.get_logger("structlog").critical("[DMN] Hamlib outdated", found=hamlib_version, needed=min_hamlib_version, path="system") + except: + structlog.get_logger("structlog").critical("[DMN] Hamlib not found") crc_algorithm = crcengine.new('crc16-ccitt-false') # load crc8 library diff --git a/tnc/modem.py b/tnc/modem.py index 1507c4c2..d5eaceb5 100644 --- a/tnc/modem.py +++ b/tnc/modem.py @@ -63,20 +63,20 @@ try: hamlib_path = "/lib/hamlib/" + sys.platform structlog.get_logger("structlog").info("[TNC] Hamlib found", version=hamlib_version, path=hamlib_path) except ImportError: - import Hamlib + try: + import Hamlib - # https://stackoverflow.com/a/4703409 - hamlib_version = re.findall(r"[-+]?\d*\.?\d+|\d+", Hamlib.cvar.hamlib_version) - hamlib_version = float(hamlib_version[0]) - - min_hamlib_version = 4.1 - if hamlib_version > min_hamlib_version: - structlog.get_logger("structlog").info("[TNC] Hamlib found", version=hamlib_version, path="system") - else: - structlog.get_logger("structlog").critical("[TNC] Hamlib outdated", found=hamlib_version, needed=min_hamlib_version, path="system") -else: - # place for rigctld - pass + # https://stackoverflow.com/a/4703409 + hamlib_version = re.findall(r"[-+]?\d*\.?\d+|\d+", Hamlib.cvar.hamlib_version) + hamlib_version = float(hamlib_version[0]) + + min_hamlib_version = 4.1 + if hamlib_version > min_hamlib_version: + structlog.get_logger("structlog").info("[TNC] Hamlib found", version=hamlib_version, path="system") + else: + structlog.get_logger("structlog").critical("[TNC] Hamlib outdated", found=hamlib_version, needed=min_hamlib_version, path="system") + except: + structlog.get_logger("structlog").critical("[TNC] Hamlib not found") #import rigctld