Skip to content

Commit c613238

Browse files
Sabolikgastmaier
authored andcommitted
Apply suggestion from @gastmaier
Co-authored-by: Jorge Marques <2892061+gastmaier@users.noreply.github.com> Signed-off-by: Sabolik <55389620+Sabolik@users.noreply.github.com>
1 parent fdda33e commit c613238

1 file changed

Lines changed: 11 additions & 14 deletions

File tree

labgrid/util/agents/visa_instrument.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,21 @@
1111
"""
1212

1313
from importlib import import_module
14+
from importlib.util import find_spec
1415

1516

1617
class VISAInstrument:
1718
def __init__(self, device_identifier, backend, timeout):
18-
try:
19-
_py_pyvisa_module = import_module('pyvisa')
20-
except ModuleNotFoundError as e:
21-
raise ModuleNotFoundError("pyvisa module not found, please install it") from e
22-
else:
23-
_pyvisa_resource_manager = _py_pyvisa_module.ResourceManager(backend)
24-
if _pyvisa_resource_manager is None:
25-
raise ValueError("pyVISA backend not found")
26-
self._pyvisa_device = _pyvisa_resource_manager.open_resource(device_identifier)
27-
if 'SOCKET' in device_identifier:
28-
self._pyvisa_device.read_termination = '\n'
29-
self._pyvisa_device.write_termination = '\n'
30-
if self._pyvisa_device is None:
31-
raise ValueError("pyVISA device not found")
19+
if not find_spec("pyvisa"):
20+
raise ModuleNotFoundError("pyvisa module not found, please install it")
21+
22+
_py_pyvisa_module = import_module('pyvisa')
23+
_pyvisa_resource_manager = _py_pyvisa_module.ResourceManager(backend)
24+
if _pyvisa_resource_manager is None:
25+
raise ValueError("pyVISA backend not found")
26+
self._pyvisa_device = _pyvisa_resource_manager.open_resource(device_identifier)
27+
if self._pyvisa_device is None:
28+
raise ValueError("pyVISA device not found")
3229
try:
3330
self._pyvisa_device.clear()
3431
except _py_pyvisa_module.errors.VisaIOError as e:

0 commit comments

Comments
 (0)