getLastEpisodes method

Future<List> getLastEpisodes()

Implementation

Future<List> getLastEpisodes() async {
  // get request to base animeflv url
  final res = await http.Client().get(Uri.parse(BASE_URL));
  if (res.statusCode == 200) {
    // get html and look for last episodes list
    final body = res.body.toString();
    final soup = BeautifulSoup(body);
    var lastEpisodes = [];
    final lastEpisodesElements =
        soup.findAll('', selector: '.ListEpisodios li a.fa-play');
    // for every episode found we save some data
    for (var episode in lastEpisodesElements) {
      lastEpisodes.add({
        'anime': episode.find('', selector: '.Title')?.string,
        'episode': episode
            .find('', selector: '.Capi')
            ?.string
            .replaceAll('Episodio ', ''),
        'id': episode['href']?.split('ver/')[1],
        'imagePreview':
            '$BASE_URL${episode.find('', selector: '.Image img')?['src']}'
      });
    }
    // return last episodes found
    return lastEpisodes;
  }
  return [];
}