code: def snapshots(self, xml_bytes):
          
          root = XML(xml_bytes)
          result = []
          for snapshot_data in root.find("snapshotSet"):
              snapshot_id = snapshot_data.findtext("snapshotId")
              volume_id = snapshot_data.findtext("volumeId")
              status = snapshot_data.findtext("status")
              start_time = snapshot_data.findtext("startTime")
              start_time = datetime.strptime(
                  start_time[:19], "%Y-%m-%dT%H:%M:%S")
              progress = snapshot_data.findtext("progress")[:-1]
              progress = float(progress or "0") / 100.
              snapshot = model.Snapshot(
                  snapshot_id, volume_id, status, start_time, progress)
              result.append(snapshot)
          return result
docs: Parse the XML returned by the C{DescribeSnapshots} function.
  
          @param xml_bytes: XML bytes with a C{DescribeSnapshotsResponse} root
              element.
          @return: A list of L{Snapshot} instances.
  
          TODO: ownersSet, restorableBySet, ownerId, volumeSize, description,
                ownerAlias.