From b4530e71b7337fb344a521691959fe756d3f8410 Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Tue, 6 Aug 2024 12:07:33 +0200 Subject: [PATCH] filesystem: add placeholder export method in CardFile base class We add export methods in subclasses of CardFile but the base class itself lacks an export method. To make the code more readable and to avoid unnecessary exceptions, les's add a default export method that just returns a comment. Related: OS#6092 Change-Id: Ife2a9bad14750db84a87fab907297028c33f1f7d --- pySim/filesystem.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 2151c212..a4659cf6 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -298,6 +298,17 @@ class CardFile: return True raise ValueError("self.service must be either int or list or tuple") + @staticmethod + def export(as_json: bool, lchan): + """ + Export file contents in the form of commandline script. This method is meant to be overloaded by a subclass in + case any exportable contents are present. The generated script may contain multiple command lines separated by + line breaks ("\n"), where the last commandline shall have no line break at the end + (e.g. "update_record 1 112233\nupdate_record 1 445566"). Naturally this export method will always refer to the + currently selected file of the presented lchan. + """ + return "# %s has no exportable contents" % str(lchan.selected_file) + class CardDF(CardFile): """DF (Dedicated File) in the smart card filesystem. Those are basically sub-directories."""