code: def parse_manifest(self, manifest_xml):
          
  
          manifest = dict()
          try:
              mdata = xmltodict.parse(manifest_xml)['modules']['module']
              for module in mdata:
                  mod = dict()
                  mod['type'] = module['@type']
                  mod['name'] = module['name']
                  mod['arch'] = module['arch']
                  mod['checksum'] = module['checksum']
                  mod['version'] = module['version']
                  mod['packager'] = module['packager']
                  mod['location'] = module['location']['@href']
                  mod['signature'] = module['signature']['@href']
                  mod['platform'] = module['platform']
                  manifest[mod['version']] = mod
  
          except Exception as e:
              raise
  
          return manifest
docs: Parse manifest xml file
  
          :type manifest_xml: str
          :param manifest_xml: raw xml content of manifest file