dexter has uploaded this change for review.

View Change

pySim-shell: use upper case letters for positional arguments

When we define positional arguments for the argument parser, we usually
use upper case letters only. However, there are some code locations that
use lower case letters. Let's translate those to capital letters to
have a consistent appeariance.

Related: OS#6531
Change-Id: Iec1ff8262bc6e9cf87c3cbf7b32fa5f753b7e574
---
M pySim-shell.py
M pySim/filesystem.py
M pySim/ts_102_221.py
M pySim/ts_31_102.py
M pySim/ts_51_011.py
5 files changed, 36 insertions(+), 37 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/08/38008/1
diff --git a/pySim-shell.py b/pySim-shell.py
index 52e78d4..e0e0812 100755
--- a/pySim-shell.py
+++ b/pySim-shell.py
@@ -346,8 +346,7 @@
return -1

bulk_script_parser = argparse.ArgumentParser()
- bulk_script_parser.add_argument(
- 'script_path', help="path to the script file")
+ bulk_script_parser.add_argument('SCRIPT_PATH', help="path to the script file")
bulk_script_parser.add_argument('--halt_on_error', help='stop card handling if an exeption occurs',
action='store_true')
bulk_script_parser.add_argument('--tries', type=int, default=2,
@@ -363,7 +362,7 @@
"""Run script on multiple cards (bulk provisioning)"""

# Make sure that the script file exists and that it is readable.
- if not os.access(opts.script_path, os.R_OK):
+ if not os.access(opts.SCRIPT_PATH, os.R_OK):
self.poutput("Invalid script file!")
return

@@ -388,7 +387,7 @@
os.system(opts.pre_card_action)

# process the card
- rc = self._process_card(first, opts.script_path)
+ rc = self._process_card(first, opts.SCRIPT_PATH)
if rc == 0:
success_count = success_count + 1
self._show_success_sign()
@@ -440,13 +439,13 @@
first = False

echo_parser = argparse.ArgumentParser()
- echo_parser.add_argument('string', help="string to echo on the shell", nargs='+')
+ echo_parser.add_argument('STRING', help="string to echo on the shell", nargs='+')

@cmd2.with_argparser(echo_parser)
@cmd2.with_category(CUSTOM_CATEGORY)
def do_echo(self, opts):
"""Echo (print) a string on the console"""
- self.poutput(' '.join(opts.string))
+ self.poutput(' '.join(opts.STRING))

@cmd2.with_category(CUSTOM_CATEGORY)
def do_version(self, opts):
diff --git a/pySim/filesystem.py b/pySim/filesystem.py
index b166bc2..df6b59e 100644
--- a/pySim/filesystem.py
+++ b/pySim/filesystem.py
@@ -626,19 +626,19 @@
upd_bin_parser = argparse.ArgumentParser()
upd_bin_parser.add_argument(
'--offset', type=auto_uint16, default=0, help='Byte offset for start of read')
- upd_bin_parser.add_argument('data', type=is_hexstr, help='Data bytes (hex format) to write')
+ upd_bin_parser.add_argument('DATA', type=is_hexstr, help='Data bytes (hex format) to write')

@cmd2.with_argparser(upd_bin_parser)
def do_update_binary(self, opts):
"""Update (Write) data of a transparent EF"""
- (data, _sw) = self._cmd.lchan.update_binary(opts.data, opts.offset)
+ (data, _sw) = self._cmd.lchan.update_binary(opts.DATA, opts.offset)
if data:
self._cmd.poutput(data)

upd_bin_dec_parser = argparse.ArgumentParser()
upd_bin_dec_parser.add_argument('--json-path', type=str,
help='JSON path to modify specific element of file only')
- upd_bin_dec_parser.add_argument('data', help='Abstract data (JSON format) to write')
+ upd_bin_dec_parser.add_argument('DATA', help='Abstract data (JSON format) to write')

@cmd2.with_argparser(upd_bin_dec_parser)
def do_update_binary_decoded(self, opts):
@@ -646,9 +646,9 @@
if opts.json_path:
(data_json, _sw) = self._cmd.lchan.read_binary_dec()
js_path_modify(data_json, opts.json_path,
- json.loads(opts.data))
+ json.loads(opts.DATA))
else:
- data_json = json.loads(opts.data)
+ data_json = json.loads(opts.DATA)
(data, _sw) = self._cmd.lchan.update_binary_dec(data_json)
if data:
self._cmd.poutput_json(data)
@@ -841,13 +841,13 @@
read_rec_parser.add_argument(
'--count', type=auto_uint8, default=1, help='Number of records to be read, beginning at record_nr')
read_rec_parser.add_argument(
- 'record_nr', type=auto_uint8, help='Number of record to be read')
+ 'RECORD_NR', type=auto_uint8, help='Number of record to be read')

@cmd2.with_argparser(read_rec_parser)
def do_read_record(self, opts):
"""Read one or multiple records from a record-oriented EF"""
for r in range(opts.count):
- recnr = opts.record_nr + r
+ recnr = opts.RECORD_NR + r
(data, _sw) = self._cmd.lchan.read_record(recnr)
if len(data) > 0:
recstr = str(data)
@@ -859,12 +859,12 @@
read_rec_dec_parser.add_argument('--oneline', action='store_true',
help='No JSON pretty-printing, dump as a single line')
read_rec_dec_parser.add_argument(
- 'record_nr', type=auto_uint8, help='Number of record to be read')
+ 'RECORD_NR', type=auto_uint8, help='Number of record to be read')

@cmd2.with_argparser(read_rec_dec_parser)
def do_read_record_decoded(self, opts):
"""Read + decode a record from a record-oriented EF"""
- (data, _sw) = self._cmd.lchan.read_record_dec(opts.record_nr)
+ (data, _sw) = self._cmd.lchan.read_record_dec(opts.RECORD_NR)
self._cmd.poutput_json(data, opts.oneline)

read_recs_parser = argparse.ArgumentParser()
@@ -898,13 +898,13 @@

upd_rec_parser = argparse.ArgumentParser()
upd_rec_parser.add_argument(
- 'record_nr', type=auto_uint8, help='Number of record to be read')
- upd_rec_parser.add_argument('data', type=is_hexstr, help='Data bytes (hex format) to write')
+ 'RECORD_NR', type=auto_uint8, help='Number of record to be read')
+ upd_rec_parser.add_argument('DATA', type=is_hexstr, help='Data bytes (hex format) to write')

@cmd2.with_argparser(upd_rec_parser)
def do_update_record(self, opts):
"""Update (write) data to a record-oriented EF"""
- (data, _sw) = self._cmd.lchan.update_record(opts.record_nr, opts.data)
+ (data, _sw) = self._cmd.lchan.update_record(opts.RECORD_NR, opts.DATA)
if data:
self._cmd.poutput(data)

@@ -912,31 +912,31 @@
upd_rec_dec_parser.add_argument('--json-path', type=str,
help='JSON path to modify specific element of record only')
upd_rec_dec_parser.add_argument(
- 'record_nr', type=auto_uint8, help='Number of record to be read')
+ 'RECORD_NR', type=auto_uint8, help='Number of record to be read')
upd_rec_dec_parser.add_argument('data', help='Abstract data (JSON format) to write')

@cmd2.with_argparser(upd_rec_dec_parser)
def do_update_record_decoded(self, opts):
"""Encode + Update (write) data to a record-oriented EF"""
if opts.json_path:
- (data_json, _sw) = self._cmd.lchan.read_record_dec(opts.record_nr)
+ (data_json, _sw) = self._cmd.lchan.read_record_dec(opts.RECORD_NR)
js_path_modify(data_json, opts.json_path,
json.loads(opts.data))
else:
data_json = json.loads(opts.data)
(data, _sw) = self._cmd.lchan.update_record_dec(
- opts.record_nr, data_json)
+ opts.RECORD_NR, data_json)
if data:
self._cmd.poutput(data)

edit_rec_dec_parser = argparse.ArgumentParser()
edit_rec_dec_parser.add_argument(
- 'record_nr', type=auto_uint8, help='Number of record to be edited')
+ 'RECORD_NR', type=auto_uint8, help='Number of record to be edited')

@cmd2.with_argparser(edit_rec_dec_parser)
def do_edit_record_decoded(self, opts):
"""Edit the JSON representation of one record in an editor."""
- (orig_json, _sw) = self._cmd.lchan.read_record_dec(opts.record_nr)
+ (orig_json, _sw) = self._cmd.lchan.read_record_dec(opts.RECORD_NR)
with tempfile.TemporaryDirectory(prefix='pysim_') as dirname:
filename = '%s/file' % dirname
# write existing data as JSON to file
@@ -950,7 +950,7 @@
self._cmd.poutput("Data not modified, skipping write")
else:
(data, _sw) = self._cmd.lchan.update_record_dec(
- opts.record_nr, edited_json)
+ opts.RECORD_NR, edited_json)
if data:
self._cmd.poutput_json(data)

@@ -1302,12 +1302,12 @@

retrieve_data_parser = argparse.ArgumentParser()
retrieve_data_parser.add_argument(
- 'tag', type=auto_int, help='BER-TLV Tag of value to retrieve')
+ 'TAG', type=auto_int, help='BER-TLV Tag of value to retrieve')

@cmd2.with_argparser(retrieve_data_parser)
def do_retrieve_data(self, opts):
"""Retrieve (Read) data from a BER-TLV EF"""
- (data, _sw) = self._cmd.lchan.retrieve_data(opts.tag)
+ (data, _sw) = self._cmd.lchan.retrieve_data(opts.TAG)
self._cmd.poutput(data)

def do_retrieve_tags(self, _opts):
@@ -1317,24 +1317,24 @@

set_data_parser = argparse.ArgumentParser()
set_data_parser.add_argument(
- 'tag', type=auto_int, help='BER-TLV Tag of value to set')
+ 'TAG', type=auto_int, help='BER-TLV Tag of value to set')
set_data_parser.add_argument('data', type=is_hexstr, help='Data bytes (hex format) to write')

@cmd2.with_argparser(set_data_parser)
def do_set_data(self, opts):
"""Set (Write) data for a given tag in a BER-TLV EF"""
- (data, _sw) = self._cmd.lchan.set_data(opts.tag, opts.data)
+ (data, _sw) = self._cmd.lchan.set_data(opts.TAG, opts.data)
if data:
self._cmd.poutput(data)

del_data_parser = argparse.ArgumentParser()
del_data_parser.add_argument(
- 'tag', type=auto_int, help='BER-TLV Tag of value to set')
+ 'TAG', type=auto_int, help='BER-TLV Tag of value to set')

@cmd2.with_argparser(del_data_parser)
def do_delete_data(self, opts):
"""Delete data for a given tag in a BER-TLV EF"""
- (data, _sw) = self._cmd.lchan.set_data(opts.tag, None)
+ (data, _sw) = self._cmd.lchan.set_data(opts.TAG, None)
if data:
self._cmd.poutput(data)

diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py
index 9e0db68..15307a1 100644
--- a/pySim/ts_102_221.py
+++ b/pySim/ts_102_221.py
@@ -905,14 +905,14 @@
'Negotiated Duration: %u secs, Token: %s, SW: %s' % (duration, token, sw))

resume_uicc_parser = argparse.ArgumentParser()
- resume_uicc_parser.add_argument('token', type=str, help='Token provided during SUSPEND')
+ resume_uicc_parser.add_argument('TOKEN', type=str, help='Token provided during SUSPEND')

@cmd2.with_argparser(resume_uicc_parser)
def do_resume_uicc(self, opts):
"""Perform the REUSME UICC operation. Only supported on some UICC. Also: A power-cycle
of the card is required between SUSPEND and RESUME, and only very few non-RESUME
commands are permitted between SUSPEND and RESUME. See TS 102 221 Section 11.1.22."""
- self._cmd.card._scc.resume_uicc(opts.token)
+ self._cmd.card._scc.resume_uicc(opts.TOKEN)

term_cap_parser = argparse.ArgumentParser()
# power group
diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py
index c82cd2f..4161ad8 100644
--- a/pySim/ts_31_102.py
+++ b/pySim/ts_31_102.py
@@ -1706,14 +1706,14 @@
@with_default_category('Application-Specific Commands')
class AddlShellCommands(CommandSet):
authenticate_parser = argparse.ArgumentParser()
- authenticate_parser.add_argument('rand', type=is_hexstr, help='Random challenge')
- authenticate_parser.add_argument('autn', type=is_hexstr, help='Authentication Nonce')
+ authenticate_parser.add_argument('RAND', type=is_hexstr, help='Random challenge')
+ authenticate_parser.add_argument('AUTN', type=is_hexstr, help='Authentication Nonce')
#authenticate_parser.add_argument('--context', help='Authentication context', default='3G')

@cmd2.with_argparser(authenticate_parser)
def do_authenticate(self, opts):
"""Perform Authentication and Key Agreement (AKA)."""
- (data, _sw) = self._cmd.lchan.scc.authenticate(opts.rand, opts.autn)
+ (data, _sw) = self._cmd.lchan.scc.authenticate(opts.RAND, opts.AUTN)
self._cmd.poutput_json(data)

term_prof_parser = argparse.ArgumentParser()
diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py
index f6bd3cc..6d834f0 100644
--- a/pySim/ts_51_011.py
+++ b/pySim/ts_51_011.py
@@ -1072,12 +1072,12 @@
super().__init__()

authenticate_parser = argparse.ArgumentParser()
- authenticate_parser.add_argument('rand', type=is_hexstr, help='Random challenge')
+ authenticate_parser.add_argument('RAND', type=is_hexstr, help='Random challenge')

@cmd2.with_argparser(authenticate_parser)
def do_authenticate(self, opts):
"""Perform GSM Authentication."""
- (data, sw) = self._cmd.lchan.scc.run_gsm(opts.rand)
+ (data, sw) = self._cmd.lchan.scc.run_gsm(opts.RAND)
self._cmd.poutput_json(data)



To view, visit change 38008. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Iec1ff8262bc6e9cf87c3cbf7b32fa5f753b7e574
Gerrit-Change-Number: 38008
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier@sysmocom.de>