virtual async public Task <List <InfosFilm> > loadInfosFilm(Film f) { // Page de recherche allocine pour trouver la ou les pages consacrees au film List <string> requetes = PageRecherche(f.Titre); if (requetes == null) { // Pas trouve return(null); } List <InfosFilm> alternatives = new List <InfosFilm>(); foreach (string requete in requetes) { MainForm.WriteMessageToConsole(requete); InfosFilm infos = await PageFilm(requete); if (infos != null && !infos.estVide()) { alternatives.Add(infos); } } return(alternatives); }
/// <summary> /// Recherche des informations pour un films /// </summary> /// <param name="film"></param> /// <returns></returns> internal async Task <List <InfosFilm> > rechercheInternet(Film film) { try { MainForm.WriteMessageToConsole("Recherche: " + nom); string url = string.Format(formatUrlRecherche, requete(film.Titre)); List <string> pagesFilms = extract(url, xpathRecherche); if (pagesFilms == null) { return(null); } List <InfosFilm> infos = new List <InfosFilm>(); foreach (string page in pagesFilms) { InfosFilm info = await chargePage(string.Format(formatUrlFilm, page)); if (!(info == null || info.estVide())) { infos.Add(info); } } return(infos); } catch (Exception e) { MainForm.WriteExceptionToConsole(e); return(null); } }