<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/pysim/+/23722">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">pySim-read: Migrate over to use shared argparse from transport<br><br>Now that we have a shared argparse definition for all reader related<br>options in the transport module, use that.<br><br>Change-Id: I12ca1a484a5d6e84820d9761c9701f8a94381f66<br>---<br>M docs/legacy.rst<br>M pySim-read.py<br>2 files changed, 12 insertions(+), 53 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/22/23722/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/docs/legacy.rst b/docs/legacy.rst</span><br><span>index dad83d8..ec3ddfc 100644</span><br><span>--- a/docs/legacy.rst</span><br><span>+++ b/docs/legacy.rst</span><br><span>@@ -84,18 +84,9 @@</span><br><span>  * EF.IST</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-::</span><br><span style="color: hsl(120, 100%, 40%);">+pySim-read usage</span><br><span style="color: hsl(120, 100%, 40%);">+~~~~~~~~~~~~~~~~</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  Usage: pySim-read.py [options]</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  Options:</span><br><span style="color: hsl(0, 100%, 40%);">-    -h, --help            show this help message and exit</span><br><span style="color: hsl(0, 100%, 40%);">-    -d DEV, --device=DEV  Serial Device for SIM access [default: /dev/ttyUSB0]</span><br><span style="color: hsl(0, 100%, 40%);">-    -b BAUD, --baud=BAUD  Baudrate used for SIM access [default: 9600]</span><br><span style="color: hsl(0, 100%, 40%);">-    -p PCSC, --pcsc-device=PCSC</span><br><span style="color: hsl(0, 100%, 40%);">-                          Which PC/SC reader number for SIM access</span><br><span style="color: hsl(0, 100%, 40%);">-    --modem-device=DEV    Serial port of modem for Generic SIM Access (3GPP TS</span><br><span style="color: hsl(0, 100%, 40%);">-                          27.007)</span><br><span style="color: hsl(0, 100%, 40%);">-    --modem-baud=BAUD     Baudrate used for modem's port [default: 115200]</span><br><span style="color: hsl(0, 100%, 40%);">-    --osmocon=PATH        Socket path for Calypso (e.g. Motorola C1XX) based</span><br><span style="color: hsl(0, 100%, 40%);">-                          reader (via OsmocomBB)</span><br><span style="color: hsl(120, 100%, 40%);">+.. argparse::</span><br><span style="color: hsl(120, 100%, 40%);">+   :module: pySim-read</span><br><span style="color: hsl(120, 100%, 40%);">+   :func: option_parser</span><br><span>diff --git a/pySim-read.py b/pySim-read.py</span><br><span>index 59c5762..9f32627 100755</span><br><span>--- a/pySim-read.py</span><br><span>+++ b/pySim-read.py</span><br><span>@@ -23,7 +23,7 @@</span><br><span> #</span><br><span> </span><br><span> import hashlib</span><br><span style="color: hsl(0, 100%, 40%);">-from optparse import OptionParser</span><br><span style="color: hsl(120, 100%, 40%);">+import argparse</span><br><span> import os</span><br><span> import random</span><br><span> import re</span><br><span>@@ -33,53 +33,21 @@</span><br><span> from pySim.ts_31_103 import EF_IST_map, EF_ISIM_ADF_map</span><br><span> </span><br><span> from pySim.commands import SimCardCommands</span><br><span style="color: hsl(0, 100%, 40%);">-from pySim.transport import init_reader</span><br><span style="color: hsl(120, 100%, 40%);">+from pySim.transport import init_reader, argparse_add_reader_args</span><br><span> from pySim.cards import card_detect, Card, UsimCard, IsimCard</span><br><span> from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn</span><br><span> from pySim.utils import format_xplmn_w_act, dec_spn, dec_st, dec_addr_tlv</span><br><span> from pySim.utils import h2s, format_ePDGSelection</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-def parse_options():</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-     parser = OptionParser(usage="usage: %prog [options]")</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- parser.add_option("-d", "--device", dest="device", metavar="DEV",</span><br><span style="color: hsl(0, 100%, 40%);">-                       help="Serial Device for SIM access [default: %default]",</span><br><span style="color: hsl(0, 100%, 40%);">-                      default="/dev/ttyUSB0",</span><br><span style="color: hsl(0, 100%, 40%);">-               )</span><br><span style="color: hsl(0, 100%, 40%);">-       parser.add_option("-b", "--baud", dest="baudrate", type="int", metavar="BAUD",</span><br><span style="color: hsl(0, 100%, 40%);">-                        help="Baudrate used for SIM access [default: %default]",</span><br><span style="color: hsl(0, 100%, 40%);">-                      default=9600,</span><br><span style="color: hsl(0, 100%, 40%);">-           )</span><br><span style="color: hsl(0, 100%, 40%);">-       parser.add_option("-p", "--pcsc-device", dest="pcsc_dev", type='int', metavar="PCSC",</span><br><span style="color: hsl(0, 100%, 40%);">-                   help="Which PC/SC reader number for SIM access",</span><br><span style="color: hsl(0, 100%, 40%);">-                      default=None,</span><br><span style="color: hsl(0, 100%, 40%);">-           )</span><br><span style="color: hsl(0, 100%, 40%);">-       parser.add_option("--modem-device", dest="modem_dev", metavar="DEV",</span><br><span style="color: hsl(0, 100%, 40%);">-                      help="Serial port of modem for Generic SIM Access (3GPP TS 27.007)",</span><br><span style="color: hsl(0, 100%, 40%);">-                  default=None,</span><br><span style="color: hsl(0, 100%, 40%);">-           )</span><br><span style="color: hsl(0, 100%, 40%);">-       parser.add_option("--modem-baud", dest="modem_baud", type="int", metavar="BAUD",</span><br><span style="color: hsl(0, 100%, 40%);">-                        help="Baudrate used for modem's port [default: %default]",</span><br><span style="color: hsl(0, 100%, 40%);">-                        default=115200,</span><br><span style="color: hsl(0, 100%, 40%);">-         )</span><br><span style="color: hsl(0, 100%, 40%);">-       parser.add_option("--osmocon", dest="osmocon_sock", metavar="PATH",</span><br><span style="color: hsl(0, 100%, 40%);">-                       help="Socket path for Calypso (e.g. Motorola C1XX) based reader (via OsmocomBB)",</span><br><span style="color: hsl(0, 100%, 40%);">-                     default=None,</span><br><span style="color: hsl(0, 100%, 40%);">-           )</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       (options, args) = parser.parse_args()</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-   if args:</span><br><span style="color: hsl(0, 100%, 40%);">-                parser.error("Extraneous arguments")</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  return options</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+option_parser = argparse.ArgumentParser(prog='pySim-read',</span><br><span style="color: hsl(120, 100%, 40%);">+                        description='Legacy tool for reading some parts of a SIM card',</span><br><span style="color: hsl(120, 100%, 40%);">+                        formatter_class=argparse.ArgumentDefaultsHelpFormatter)</span><br><span style="color: hsl(120, 100%, 40%);">+argparse_add_reader_args(option_parser)</span><br><span> </span><br><span> if __name__ == '__main__':</span><br><span> </span><br><span>  # Parse options</span><br><span style="color: hsl(0, 100%, 40%);">- opts = parse_options()</span><br><span style="color: hsl(120, 100%, 40%);">+        opts = option_parser.parse_args()</span><br><span> </span><br><span>        # Init card reader driver</span><br><span>    sl = init_reader(opts)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/pysim/+/23722">change 23722</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/pysim/+/23722"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: pysim </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I12ca1a484a5d6e84820d9761c9701f8a94381f66 </div>
<div style="display:none"> Gerrit-Change-Number: 23722 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>