dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/28159 )
Change subject: pySim-shell: more generic export options ......................................................................
pySim-shell: more generic export options
The as_json parameter has been added as an additional parameter to the export function. Lets use a dictionary here and put the parameter in it. This makes it easier to add more options in the future
Change-Id: Ie860eec918e7cdb01651642f4bc2474c9fb1924f --- M pySim-shell.py 1 file changed, 7 insertions(+), 6 deletions(-)
Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve dexter: Looks good to me, approved Jenkins Builder: Verified
diff --git a/pySim-shell.py b/pySim-shell.py index 33c18fd..7ec77d3 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -461,7 +461,7 @@ self._cmd.poutput(directory_str) self._cmd.poutput("%d files" % len(selectables))
- def walk(self, indent=0, action=None, context=None, as_json=False): + def walk(self, indent=0, action=None, context=None, **kwargs): """Recursively walk through the file system, starting at the currently selected DF""" files = self._cmd.rs.selected_file.get_selectables( flags=['FNAMES', 'ANAMES']) @@ -493,12 +493,12 @@ # If the DF was skipped, we never have entered the directory # below, so we must not move up. if skip_df == False: - self.walk(indent + 1, action, context, as_json) + self.walk(indent + 1, action, context, **kwargs) fcp_dec = self._cmd.rs.select("..", self._cmd)
elif action: df_before_action = self._cmd.rs.selected_file - action(f, context, as_json) + action(f, context, **kwargs) # When walking through the file system tree the action must not # always restore the currently selected file to the file that # was selected before executing the action() callback. @@ -510,7 +510,7 @@ """Display a filesystem-tree with all selectable files""" self.walk()
- def export(self, filename, context, as_json=False): + def export(self, filename, context, as_json): """ Select and export a single file """ context['COUNT'] += 1 df = self._cmd.rs.selected_file @@ -619,10 +619,11 @@ """Export files to script that can be imported back later""" context = {'ERR': 0, 'COUNT': 0, 'BAD': [], 'DF_SKIP': 0, 'DF_SKIP_REASON': []} + kwargs_export = {'as_json': opts.json} if opts.filename: - self.export(opts.filename, context, opts.json) + self.export(opts.filename, context, **kwargs_export) else: - self.walk(0, self.export, context, opts.json) + self.walk(0, self.export, context, **kwargs_export)
self._cmd.poutput(boxed_heading_str("Export summary"))