msl.equipment.connection module
Base class for establishing a connection to the equipment.
- class msl.equipment.connection.Connection(record)[source]
Bases:
object
Base class for establishing a connection to the equipment.
Do not instantiate this class directly. Use the
connect()
method to connect to the equipment.- Parameters:
record (
EquipmentRecord
) – A record from an Equipment-Register Database.
- property equipment_record
The information about the equipment.
- Type:
- disconnect()[source]
Disconnect from the equipment.
This method should be overridden in the subclass if the subclass must implement tasks that need to be performed in order to safely disconnect from the equipment.
For example:
to clean up system resources from memory (e.g., if using a manufacturer’s SDK)
to configure the equipment to be in a state that is safe for people working in the lab when the equipment is not in use
Note
This method gets called automatically when the
Connection
object gets garbage collected, which happens when the reference count is 0.
- raise_exception(message)[source]
Raise an
MSLConnectionError
and log the error message.- Parameters:
message (
str
orException
) – The message to display in the exception class that was set byset_exception_class()
. If anException
object then its string representation is used as the message.
- static convert_to_enum(obj, enum, prefix=None, to_upper=False, strict=True)[source]
Convert obj to an Enum.
- Parameters:
obj – Any object to be converted to the specified enum. Can be a value of member of the specified enum.
enum – The
Enum
object that obj should be converted to.prefix (
str
, optional) – If obj is astr
, then ensures that prefix is included at the beginning of obj before converting obj to the enum.to_upper (
bool
, optional) – If obj is astr
, then whether to change obj to be upper case before converting obj to the enum.strict (
bool
, optional) – Whether errors should be raised. IfFalse
and obj cannot be converted to enum then obj is returned and the error is logged.
- Returns:
Enum
– The enum.- Raises:
ValueError – If obj is not in enum and strict is
True
.
- static log_debug(msg, *args, **kwargs)[source]
Log a debug message.
All input parameters are passed to
debug()
.
- static log_info(msg, *args, **kwargs)[source]
Log an info message.
All input parameters are passed to
info()
.
- static log_warning(msg, *args, **kwargs)[source]
Log a warning message.
All input parameters are passed to
warning()
.
- static log_error(msg, *args, **kwargs)[source]
Log an error message.
All input parameters are passed to
error()
.
- static log_critical(msg, *args, **kwargs)[source]
Log a critical message.
All input parameters are passed to
critical()
.
- set_exception_class(handler)[source]
Set the exception-handler class for this
Connection
.- Parameters:
handler (
MSLConnectionError
) – A subclass ofMSLConnectionError
- Raises:
TypeError – If the handler is not a subclass of
MSLConnectionError
- static parse_address(address)[source]
Determine whether a subclass should be used to connect to the equipment.
Attention
The subclass should override this method.
- Parameters:
address (
str
) – The address of aConnectionRecord
.- Returns:
dict
orNone
– If the address is in a valid format for the subclass to be able to connect to the equipment then adict
is returned containing the information necessary to connect to the equipment. Otherwise, if the address is not valid for the subclass to be able to connect to the equipment thenNone
is returned.