mirror of
https://gitea.osmocom.org/sim-card/pysim.git
synced 2026-03-26 15:28:35 +03:00
transport: Pass argparse.Namespace directly into transport classes
It's odd that the individual transport driver specifies their argparse options but then the core transport part evaluates them individually. This means we cannot add new options within a transport. Let's pass the Namespace instance into the constructor of the specific transport to improve this. Change-Id: Ib977007dd605ec9a9c09a3d143d2c2308991a12c
This commit is contained in:
@@ -34,18 +34,18 @@ from pySim.utils import h2i, i2h, Hexstr, ResTuple
|
||||
class PcscSimLink(LinkBase):
|
||||
""" pySim: PCSC reader transport link."""
|
||||
|
||||
def __init__(self, reader_number: int = 0, **kwargs):
|
||||
def __init__(self, opts: argparse.Namespace = argparse.Namespace(pcsc_dev=0), **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
if os.environ.get('PYSIM_INTEGRATION_TEST') == "1":
|
||||
print("Using PC/SC reader interface")
|
||||
else:
|
||||
print("Using PC/SC reader number %u" % reader_number)
|
||||
print("Using PC/SC reader number %u" % opts.pcsc_dev)
|
||||
r = readers()
|
||||
if reader_number >= len(r):
|
||||
raise ReaderError('No reader found for number %d' % reader_number)
|
||||
self._reader = r[reader_number]
|
||||
if opts.pcsc_dev >= len(r):
|
||||
raise ReaderError('No reader found for number %d' % opts.pcsc_dev)
|
||||
self._reader = r[opts.pcsc_dev]
|
||||
self._con = self._reader.createConnection()
|
||||
self._reader_number = reader_number
|
||||
self._reader_number = opts.pcsc_dev
|
||||
|
||||
def __del__(self):
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user