/// <summary> /// The StoreDataAsync. /// </summary> /// <param name="data">The data<see cref="AvData"/>.</param> /// <returns>The <see cref="Task{bool}"/>.</returns> public async Task <bool> StoreDataAsync(AvData data) { return(await Task.Run(() => { if (data == null) { return false; } avCol.Insert(data); return true; })); }
/// <summary> /// The StoreDataAsync. /// </summary> /// <param name="data">The data<see cref="AvData"/>.</param> /// <returns>The <see cref="Task{bool}"/>.</returns> public Task <bool> StoreDataAsync(AvData data) { if (data == null) { return(Task.FromResult(false)); } return(Task.Run(() => { this.dictObj[data.Number] = data; return true; })); }
/// <summary> /// The ResolveContent. /// </summary> /// <param name="document">The document<see cref="IDocument"/>.</param> /// <param name="metaData">The metaData<see cref="AvMetaData"/>.</param> /// <returns>The <see cref="AvData"/>.</returns> private AvData ResolveContent(IDocument document, AvMetaData metaData) { var time = document.QuerySelector("body > section > div > div.movie-info-panel > div > div:nth-child(2) > nav > div:nth-child(2) > span")?.Text(); var outline = document.QuerySelector("body > section > div > h2 > strong")?.Text(); var duration = document.QuerySelector("body > section > div > div.movie-info-panel > div > div:nth-child(2) > nav > div:nth-child(3) > span")?.Text(); var director = document.QuerySelector("body > section > div > div.movie-info-panel > div > div:nth-child(2) > nav > div:nth-child(4) > span")?.Text(); var studio = document.QuerySelector("body > section > div > div.movie-info-panel > div > div:nth-child(2) > nav > div:nth-child(5) > span")?.Text(); var release = document.QuerySelector("body > section > div > div.movie-info-panel > div > div:nth-child(2) > nav > div:nth-child(6) > span")?.Text(); var category = document.QuerySelector("body > section > div > div.movie-info-panel > div > div:nth-child(2) > nav > div:nth-child(7) > span")?.Text(); var actor = document.QuerySelector("body > section > div > div.movie-info-panel > div > div:nth-child(2) > nav > div:nth-child(8) > span")?.Text(); var coverUrl = document.QuerySelector("body > section > div > div.movie-info-panel > div > div.column.column-video-cover > a > img")?.GetAttribute("src"); var previewUrl = document.QuerySelector("#preview-video > source")?.GetAttribute("src"); var images = document.QuerySelectorAll(".tile-item").Select(e => e.GetAttribute("href")).ToList(); var magnets = document.QuerySelectorAll(".magnet-name > a").Select(e => e.GetAttribute("href")).ToList(); AvData data = new AvData { Title = metaData.Title, Number = metaData.Number, WebSiteUrl = metaData.WebSiteUrl, ThumbUrl = metaData.ThumbUrl, Time = time?.Trim(), Year = time?.Substring(0, 4), Release = release, Studio = studio, MainCover = coverUrl, Actors = actor.Split(",".ToCharArray()).ToList(), Directors = director.Split(",".ToCharArray()).ToList(), PreviewVideo = previewUrl, Tags = category.Split(",".ToCharArray()).ToList(), Magnets = magnets, Source = this.GetKey(), Outline = outline }; return(data); }