diff options
author | Harald Welte <laforge@osmocom.org> | 2021-04-06 20:08:39 +0200 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2021-04-06 20:20:57 +0200 |
commit | bcad86c08c3296013f2153557c3a045399143637 (patch) | |
tree | 1bfdf1b61d0aa88614f6258216b0e4e6ef3809f1 | |
parent | 9813dc958b05fb86c8c2f3d28df7bde2f4a2d309 (diff) |
pySim-shell: Add '--oneline' to read_{binary,record}_decoded
This allows for single-line output, rather than the default JSON
pretty-printing
Change-Id: I08e0e7b6f0d796626f4d6c3e9a2622c1ee0c210a
-rw-r--r-- | pySim/filesystem.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 3eea2f4..73348e1 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -397,10 +397,18 @@ class TransparentEF(CardEF): (data, sw) = self._cmd.rs.read_binary(opts.length, opts.offset) self._cmd.poutput(data) + read_bin_dec_parser = argparse.ArgumentParser() + read_bin_dec_parser.add_argument('--oneline', action='store_true', + help='No JSON pretty-printing, dump as a single line') + @cmd2.with_argparser(read_bin_dec_parser) def do_read_binary_decoded(self, opts): """Read + decode data from a transparent EF""" (data, sw) = self._cmd.rs.read_binary_dec() - self._cmd.poutput(json.dumps(data, indent=4)) + if opts.oneline: + output = json.dumps(data) + else: + output = json.dumps(data, indent=4) + self._cmd.poutput(output) upd_bin_parser = argparse.ArgumentParser() upd_bin_parser.add_argument('--offset', type=int, default=0, help='Byte offset for start of read') @@ -549,11 +557,17 @@ class LinFixedEF(CardEF): read_rec_dec_parser = argparse.ArgumentParser() read_rec_dec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + read_rec_dec_parser.add_argument('--oneline', action='store_true', + help='No JSON pretty-printing, dump as a single line') @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.rs.read_record_dec(opts.record_nr) - self._cmd.poutput(json.dumps(data, indent=4)) + if opts.oneline: + output = json.dumps(data) + else: + output = json.dumps(data, indent=4) + self._cmd.poutput(output) upd_rec_parser = argparse.ArgumentParser() upd_rec_parser.add_argument('record_nr', type=int, help='Number of record to be read') |