aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2021-04-11 12:31:40 +0200
committerHarald Welte <laforge@osmocom.org>2021-04-22 09:11:23 +0200
commit8fe1d202c7b01460e594484b9edb6273ff2494fc (patch)
tree776453b2a8c2a491ea5764e429504d3e51b1c9b8
parent28c2431f9ce5da6a051e6d7cbc0f15a461bb68e1 (diff)
pySim-read: Migrate over to use shared argparse from transport
Now that we have a shared argparse definition for all reader related options in the transport module, use that. Change-Id: I12ca1a484a5d6e84820d9761c9701f8a94381f66
-rw-r--r--docs/legacy.rst21
-rwxr-xr-xpySim-read.py46
2 files changed, 13 insertions, 54 deletions
diff --git a/docs/legacy.rst b/docs/legacy.rst
index dad83d8..ec3ddfc 100644
--- a/docs/legacy.rst
+++ b/docs/legacy.rst
@@ -84,18 +84,9 @@ Specifically, pySim-read will dump the following:
* EF.IST
-::
-
- Usage: pySim-read.py [options]
-
- Options:
- -h, --help show this help message and exit
- -d DEV, --device=DEV Serial Device for SIM access [default: /dev/ttyUSB0]
- -b BAUD, --baud=BAUD Baudrate used for SIM access [default: 9600]
- -p PCSC, --pcsc-device=PCSC
- Which PC/SC reader number for SIM access
- --modem-device=DEV Serial port of modem for Generic SIM Access (3GPP TS
- 27.007)
- --modem-baud=BAUD Baudrate used for modem's port [default: 115200]
- --osmocon=PATH Socket path for Calypso (e.g. Motorola C1XX) based
- reader (via OsmocomBB)
+pySim-read usage
+~~~~~~~~~~~~~~~~
+
+.. argparse::
+ :module: pySim-read
+ :func: option_parser
diff --git a/pySim-read.py b/pySim-read.py
index 8e4a512..ae10c1a 100755
--- a/pySim-read.py
+++ b/pySim-read.py
@@ -23,7 +23,7 @@
#
import hashlib
-from optparse import OptionParser
+import argparse
import os
import random
import re
@@ -33,53 +33,21 @@ from pySim.ts_31_102 import EF_UST_map, EF_USIM_ADF_map
from pySim.ts_31_103 import EF_IST_map, EF_ISIM_ADF_map
from pySim.commands import SimCardCommands
-from pySim.transport import init_reader
+from pySim.transport import init_reader, argparse_add_reader_args
from pySim.cards import card_detect, Card, UsimCard, IsimCard
from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn
from pySim.utils import format_xplmn_w_act, dec_spn, dec_st, dec_addr_tlv
from pySim.utils import h2s, format_ePDGSelection
-def parse_options():
-
- parser = OptionParser(usage="usage: %prog [options]")
-
- parser.add_option("-d", "--device", dest="device", metavar="DEV",
- help="Serial Device for SIM access [default: %default]",
- default="/dev/ttyUSB0",
- )
- parser.add_option("-b", "--baud", dest="baudrate", type="int", metavar="BAUD",
- help="Baudrate used for SIM access [default: %default]",
- default=9600,
- )
- parser.add_option("-p", "--pcsc-device", dest="pcsc_dev", type='int', metavar="PCSC",
- help="Which PC/SC reader number for SIM access",
- default=None,
- )
- parser.add_option("--modem-device", dest="modem_dev", metavar="DEV",
- help="Serial port of modem for Generic SIM Access (3GPP TS 27.007)",
- default=None,
- )
- parser.add_option("--modem-baud", dest="modem_baud", type="int", metavar="BAUD",
- help="Baudrate used for modem's port [default: %default]",
- default=115200,
- )
- parser.add_option("--osmocon", dest="osmocon_sock", metavar="PATH",
- help="Socket path for Calypso (e.g. Motorola C1XX) based reader (via OsmocomBB)",
- default=None,
- )
-
- (options, args) = parser.parse_args()
-
- if args:
- parser.error("Extraneous arguments")
-
- return options
-
+option_parser = argparse.ArgumentParser(prog='pySim-read',
+ description='Legacy tool for reading some parts of a SIM card',
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter)
+argparse_add_reader_args(option_parser)
if __name__ == '__main__':
# Parse options
- opts = parse_options()
+ opts = option_parser.parse_args()
# Init card reader driver
sl = init_reader(opts)