From 9f8409f3754b1edb76edb4d51f36019a374343df Mon Sep 17 00:00:00 2001 From: Sven Sager Date: Sat, 10 Apr 2021 15:42:04 +0200 Subject: [PATCH] Get AVAHI IPv4 addresses with service_info --- .idea/revpicommander.iml | 4 ++++ requirements.txt | 3 +++ revpicommander/avahisearch.py | 10 +++------- revpicommander/debugios.py | 3 ++- revpicommander/revpicommander.py | 4 ++-- revpicommander/revpilogfile.py | 1 - revpicommander/revpiprogram.py | 4 ++-- 7 files changed, 16 insertions(+), 13 deletions(-) create mode 100644 requirements.txt diff --git a/.idea/revpicommander.iml b/.idea/revpicommander.iml index ac68996..50dc2a4 100644 --- a/.idea/revpicommander.iml +++ b/.idea/revpicommander.iml @@ -9,4 +9,8 @@ + + \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b9ba7ee --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +PyQt5>=5.14.1 +revpimodio2>=2.5.6 +zeroconf>=0.24.4 \ No newline at end of file diff --git a/revpicommander/avahisearch.py b/revpicommander/avahisearch.py index d74c659..e575a2c 100644 --- a/revpicommander/avahisearch.py +++ b/revpicommander/avahisearch.py @@ -6,10 +6,9 @@ __license__ = "GPLv3" from os import name as osname from re import compile -from socket import gethostbyname from PyQt5 import QtCore, QtGui, QtWidgets -from zeroconf import ServiceBrowser, Zeroconf +from zeroconf import IPVersion, ServiceBrowser, Zeroconf import helper import proginit as pi @@ -62,11 +61,8 @@ class AvahiSearchThread(QtCore.QThread): if not info: return - try: - ip = gethostbyname(info.server) - except Exception: - ip = self.tr("N/A") - self.added.emit(name, info.server, info.port, conf_type, ip) + for ip in info.parsed_addresses(IPVersion.V4Only): + self.added.emit(name, info.server, info.port, conf_type, ip) def run(self): pi.logger.debug("Started zero conf discovery.") diff --git a/revpicommander/debugios.py b/revpicommander/debugios.py index e690afb..944b355 100644 --- a/revpicommander/debugios.py +++ b/revpicommander/debugios.py @@ -112,7 +112,8 @@ class DebugIos(QtWidgets.QMainWindow, Ui_win_debugios): self.splitter.setSizes([1, 1]) - def _create_widget(self, name: str, byte_length: int, bit_address: int, byteorder: str, signed: bool, read_only: bool): + def _create_widget( + self, name: str, byte_length: int, bit_address: int, byteorder: str, signed: bool, read_only: bool): """Create widget in functions address space to use lambda functions.""" if bit_address >= 0: val = QtWidgets.QCheckBox() diff --git a/revpicommander/revpicommander.py b/revpicommander/revpicommander.py index 1ac91a9..bd8c41e 100755 --- a/revpicommander/revpicommander.py +++ b/revpicommander/revpicommander.py @@ -477,8 +477,8 @@ class RevPiCommander(QtWidgets.QMainWindow, Ui_win_revpicommander): if __name__ == "__main__": import sys - #QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True) - #QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True) + # QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True) + # QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True) app = QtWidgets.QApplication(sys.argv) diff --git a/revpicommander/revpilogfile.py b/revpicommander/revpilogfile.py index 5e22b6d..d45bbe7 100644 --- a/revpicommander/revpilogfile.py +++ b/revpicommander/revpilogfile.py @@ -20,7 +20,6 @@ class LogType(IntEnum): class DataThread(QtCore.QThread): - error_detected = QtCore.pyqtSignal(str) line_logged = QtCore.pyqtSignal(LogType, bool, str) diff --git a/revpicommander/revpiprogram.py b/revpicommander/revpiprogram.py index c9b8ba1..8abe674 100644 --- a/revpicommander/revpiprogram.py +++ b/revpicommander/revpiprogram.py @@ -9,7 +9,7 @@ import os import tarfile import zipfile from shutil import rmtree -from tempfile import mkdtemp, mkstemp +from tempfile import mkdtemp from xmlrpc.client import Binary from PyQt5 import QtCore, QtGui, QtWidgets @@ -174,7 +174,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program): self._load_settings() self._apply_acl() - + return super(RevPiProgram, self).exec() def reject(self) -> None: