This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
dexter gerrit-no-reply at lists.osmocom.orgdexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23533 ) Change subject: filesystem: add new command add_ef ...................................................................... filesystem: add new command add_ef Some cards may have additional propritary EF files which pySim-shell does not support. If the user knows the exact FID, the command add_ef can be used to manually add a new EF at runtime. The newly created file will then work like any other EF. Change-Id: Iafff97443130f8bb8c5bc68f51d2fe1d93fff07c Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 31 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/33/23533/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 04fa250..2c1fe8b 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -130,12 +130,43 @@ class CardDF(CardFile): """DF (Dedicated File) in the smart card filesystem. Those are basically sub-directories.""" + + @with_default_category('DF/ADF Commands') + class ShellCommands(CommandSet): + def __init__(self): + super().__init__() + + add_ef_parser = argparse.ArgumentParser() + add_ef_parser.add_argument('fid', type=str, default=None, help='file identifier (hexadecimal)') + add_ef_parser.add_argument('--name', type=str, default=None, help='human readable name') + add_ef_parser.add_argument('--desc', type=str, default=None, help='human readable description') + add_ef_parser.add_argument('--struct', type=str, default="TransparentEF", help='file structure (TransparentEF|LinFixedEF)') + @cmd2.with_argparser(add_ef_parser) + + def do_add_ef(self, opts): + """Add an EF representation at the current position in the file system""" + selected_file = self._cmd.rs.selected_file + + if not opts.name: + opts.name = "EF." + opts.fid + if not opts.desc: + opts.desc = "manually added at runtime" + + if opts.struct == "TransparentEF": + ef = TransparentEF(fid=opts.fid, sfid=None, name=opts.name, desc=opts.desc) + elif opts.struct == "LinFixedEF": + ef = LinFixedEF(fid=opts.fid, sfid=None, name=opts.name, desc=opts.desc) + else: + self._cmd.poutput("add_ef: error: invalid file type specified") + selected_file.add_files([ef]) + def __init__(self, **kwargs): if not isinstance(self, CardADF): if not 'fid' in kwargs: raise TypeError('fid is mandatory for all DF') super().__init__(**kwargs) self.children = dict() + self.shell_commands = [self.ShellCommands()] def __str__(self): return "DF(%s)" % (super().__str__()) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iafff97443130f8bb8c5bc68f51d2fe1d93fff07c Gerrit-Change-Number: 23533 Gerrit-PatchSet: 1 Gerrit-Owner: dexter <pmaier at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210329/000b00d0/attachment.htm>