Example #1
0
 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')))