def _recursive_get_info(self, retries) -> Mapping[str, str]: try: device_info = self._send_command(GCODES['DEVICE_INFO']) return utils.parse_device_information(device_info) except utils.ParseError as e: retries -= 1 if retries <= 0: raise TempDeckError(e) sleep(DEFAULT_STABILIZE_DELAY) return self._recursive_get_info(retries)
def _get_info(self, retries) -> Mapping[str, str]: last_e: Any = None for _ in range(retries): try: device_info = self._send_command(GCODES['DEVICE_INFO']) return utils.parse_device_information(device_info) except utils.ParseError as e: log.exception("tempdeck device information parse failure") last_e = e sleep(DEFAULT_STABILIZE_DELAY) if last_e: raise last_e else: raise TempDeckError('Unknown error in temperature module')
async def get_device_info(self) -> Mapping[str, str]: _device_info_res = await self._write_and_wait(GCODES['DEVICE_INFO']) if _device_info_res: return utils.parse_device_information(_device_info_res) else: raise ThermocyclerError("Thermocycler did not return device info")