transport: Move printing of reader number/name to generic code
Let's avoid copy+pasting print statements everywhere. The instances
do already have a __str__ method for the purpose of printing their name in a
generic way.
Change-Id: I663a9ea69bf7e7aaa6502896b6a71ef692f8d844
diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py
index d075878..59d4554 100644
--- a/pySim/transport/__init__.py
+++ b/pySim/transport/__init__.py
@@ -3,6 +3,7 @@
""" pySim: PCSC reader transport link base
"""
+import os
import abc
import argparse
from typing import Optional, Tuple
@@ -300,4 +301,10 @@
print("No reader/driver specified; falling back to default (Serial reader)")
from pySim.transport.serial import SerialSimLink
sl = SerialSimLink(opts, **kwargs)
+
+ if os.environ.get('PYSIM_INTEGRATION_TEST') == "1":
+ print("Using %s reader interface" % (sl.name))
+ else:
+ print("Using reader %s" % sl)
+
return sl
diff --git a/pySim/transport/calypso.py b/pySim/transport/calypso.py
index 01bbe23..dd30f80 100644
--- a/pySim/transport/calypso.py
+++ b/pySim/transport/calypso.py
@@ -76,14 +76,11 @@
class CalypsoSimLink(LinkBase):
"""Transport Link for Calypso based phones."""
+ name = 'Calypso-based (OsmocomBB) reader'
def __init__(self, opts: argparse.Namespace = argparse.Namespace(osmocon_sock="/tmp/osmocom_l2"), **kwargs):
sock_path = opts.osmocon_sock
super().__init__(**kwargs)
- if os.environ.get('PYSIM_INTEGRATION_TEST') == "1":
- print("Using Calypso-based (OsmocomBB) reader interface")
- else:
- print("Using Calypso-based (OsmocomBB) reader at socket %s" % sock_path)
# Make sure that a given socket path exists
if not os.path.exists(sock_path):
raise ReaderError(
diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py
index 9a4f0a5..88e6253 100644
--- a/pySim/transport/modem_atcmd.py
+++ b/pySim/transport/modem_atcmd.py
@@ -21,7 +21,6 @@
import time
import re
import argparse
-import os
from typing import Optional
from pySim.utils import Hexstr, ResTuple
@@ -34,16 +33,13 @@
class ModemATCommandLink(LinkBase):
"""Transport Link for 3GPP TS 27.007 compliant modems."""
+ name = "modem for Generic SIM Access (3GPP TS 27.007)"
def __init__(self, opts: argparse.Namespace = argparse.Namespace(modem_dev='/dev/ttyUSB0',
modem_baud=115200), **kwargs):
device = opts.modem_dev
baudrate = opts.modem_baud
super().__init__(**kwargs)
- if os.environ.get('PYSIM_INTEGRATION_TEST') == "1":
- print("Using modem for Generic SIM Access (3GPP TS 27.007)")
- else:
- print("Using modem for Generic SIM Access (3GPP TS 27.007) at port %s" % device)
self._sl = serial.Serial(device, baudrate, timeout=5)
self._echo = False # this will be auto-detected by _check_echo()
self._device = device
diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py
index b1c424f..8a99e9f 100644
--- a/pySim/transport/pcsc.py
+++ b/pySim/transport/pcsc.py
@@ -18,7 +18,6 @@
#
import argparse
-import os
import re
from typing import Optional, Union
@@ -34,6 +33,7 @@
class PcscSimLink(LinkBase):
""" pySim: PCSC reader transport link."""
+ name = 'PC/SC'
def __init__(self, opts: argparse.Namespace = argparse.Namespace(pcsc_dev=0), **kwargs):
super().__init__(**kwargs)
@@ -57,11 +57,6 @@
self._con = self._reader.createConnection()
- if os.environ.get('PYSIM_INTEGRATION_TEST') == "1":
- print("Using PC/SC reader interface")
- else:
- print("Using PC/SC reader %s" % self)
-
def __del__(self):
try:
# FIXME: this causes multiple warnings in Python 3.5.3
diff --git a/pySim/transport/serial.py b/pySim/transport/serial.py
index e6803be..fbf907f 100644
--- a/pySim/transport/serial.py
+++ b/pySim/transport/serial.py
@@ -29,14 +29,11 @@
class SerialSimLink(LinkBase):
""" pySim: Transport Link for serial (RS232) based readers included with simcard"""
+ name = 'Serial'
def __init__(self, opts = argparse.Namespace(device='/dev/ttyUSB0', baudrate=9600), rst: str = '-rts',
debug: bool = False, **kwargs):
super().__init__(**kwargs)
- if os.environ.get('PYSIM_INTEGRATION_TEST') == "1":
- print("Using serial reader interface")
- else:
- print("Using serial reader interface at port %s" % opts.device)
if not os.path.exists(opts.device):
raise ValueError("device file %s does not exist -- abort" % opts.device)
self._sl = serial.Serial(