def __init__(self, datafile, filedescriptor=FDB["NOTSHAREABLEFILE"] | FDB["DF"], lifecycle=LCB["ACTIVATED"], simpletlv_data=None, bertlv_data=None): MF.__init__(self, filedescriptor, lifecycle, simpletlv_data, bertlv_data, dfname="A00000003029057000AD13100101FF".decode('hex')) tree = ET.parse(datafile) root = tree.getroot() ns = {'f': 'urn:be:fedict:eid:dev:virtualcard:1.0'} DF00 = DF(self, 0xDF00, dfname="A000000177504B43532D3135".decode('hex')) self.append(DF00) DF01 = DF(self, 0xDF01) self.append(DF01) parent = self fid = 0 for f in root.findall('f:file', ns): id = f.find('f:id', ns).text content = f.find('f:content', ns).text if content is not None: if (len(id) == 12): fid = int(id[8:], 16) if (id[4:8] == 'DF00'): parent = DF00 if (id[4:8] == 'DF01'): parent = DF01 else: fid = int(id[4:], 16) parent.append( TransparentStructureEF(parent, fid, data=content.decode('hex')))