Add error handling and print traceback in RFID tests

The update introduces IOError specific exception handling in the RFID tests. It also prints a traceback for both IOError and general exceptions. This is done to better diagnose issues related to connectivity and IO in the tests as and when they occur. The code is also cleaned for better readability by fixing indentation and removing unnecessary comments and spaces.
This commit is contained in:
eduardo 2024-06-20 08:01:06 +02:00
parent bd96cf59f7
commit e2d344cf1e

View File

@ -2,6 +2,7 @@ import logging
import platform import platform
import sys import sys
import time import time
import traceback
from datetime import datetime from datetime import datetime
from pathlib import Path from pathlib import Path
@ -10,7 +11,6 @@ import ndef
import nfc import nfc
from nfc.clf import RemoteTarget from nfc.clf import RemoteTarget
logging.basicConfig( logging.basicConfig(
format="{asctime}:{name}:{levelname}:{message}", format="{asctime}:{name}:{levelname}:{message}",
datefmt="%Y-%m-%dT%H-%M-%S%z", datefmt="%Y-%m-%dT%H-%M-%S%z",
@ -31,11 +31,11 @@ logging.basicConfig(
**({"errors": "surrogateescape"} if sys.version_info.major >= 3 and sys.version_info.minor >= 10 else {}), **({"errors": "surrogateescape"} if sys.version_info.major >= 3 and sys.version_info.minor >= 10 else {}),
) )
connected=False connected = False
is_win = platform.system().lower() == "windows" is_win = platform.system().lower() == "windows"
if is_win: if is_win:
dev_list=['com:COM5:pn532'] dev_list = ['com:COM5:pn532']
else: else:
dev_list = ['tty:USB0:pn532', 'tty:USB1:pn532', 'tty:USB2:pn532'] dev_list = ['tty:USB0:pn532', 'tty:USB1:pn532', 'tty:USB2:pn532']
while True: while True:
@ -80,9 +80,14 @@ while True:
print("NO TARGET") print("NO TARGET")
else: else:
print("NOT CONNECTED") print("NOT CONNECTED")
except IOError as io_err:
print(f"IOError: {io_err}")
traceback.print_exc()
connected = False
except Exception as e: except Exception as e:
print(f"EXCEPTION {e}") print(f"General Exception: {e}")
connected=False traceback.print_exc()
connected = False
time.sleep(1) time.sleep(1)
print("EXITING") print("EXITING")