code: async def parseResults(self, api_data):
      
      results = []
  
      # get xml results list
      xml_text = api_data.decode("utf-8")
      xml_root = xml.etree.ElementTree.fromstring(xml_text)
      status = xml_root.get("status")
      if status != "ok":
        raise Exception("Unexpected Last.fm response status: %s" % (status))
      img_elements = xml_root.findall("album/image")
  
      # build results from xml
      thumbnail_url = None
      thumbnail_size = None
      for img_element in img_elements:
        img_url = img_element.text
        if not img_url:
          # last.fm returns empty image tag for size it does not have
          continue
        lfm_size = img_element.get("size")
        if lfm_size == "mega":
          check_metadata = CoverImageMetadata.SIZE
        else:
          check_metadata = CoverImageMetadata.NONE
        try:
          size = __class__.SIZES[lfm_size]
        except KeyError:
          continue
        if (size[0] <= MAX_THUMBNAIL_SIZE) and ((thumbnail_size is None) or (size[0] < thumbnail_size)):
          thumbnail_url = img_url
          thumbnail_size = size[0]
        format = os.path.splitext(img_url)[1][1:].lower()
        format = SUPPORTED_IMG_FORMATS[format]
        results.append(LastFmCoverSourceResult(img_url,
                                               size,
                                               format,
                                               thumbnail_url=thumbnail_url,
                                               source=self,
                                               check_metadata=check_metadata))
  
      return results
docs: See CoverSource.parseResults.