public async Task TestSearchFirst() { var expected = new Video( id: "mvsd00282", code: "MVSD-282", title: "Rei Mizuna's Three Hole Rape Fan Thanksgiving", actresses: new[] { "Rei Mizuna" }, genres: new[] { "Orgy", "Featured Actress", "Creampie", "Anal Play", "Cum Swallowing", "Digital Mosaic", "Hi-Def" }, studio: "M's Video Group", boxArt: "https://pics.r18.com/digital/video/mvsd00282/mvsd00282pl.jpg", cover: "https://pics.r18.com/digital/video/mvsd00282/mvsd00282ps.jpg", releaseDate: DateTime.Parse("2015-12-12") ); var result = await client.SearchFirst("MVSD-282"); Assert.AreEqual(expected, result); }
/// <inheritdoc /> public async Task <MetadataResult <Movie> > GetMetadata(MovieInfo info, CancellationToken cancelToken) { var originalTitle = Utility.GetVideoOriginalTitle(info, this.libraryManager); info.Name = originalTitle; this.logger.LogInformation("[JellyfinJav] R18 - Scanning: " + originalTitle); Api.Video?video; if (info.ProviderIds.ContainsKey("R18")) { video = await R18Client.LoadVideo(info.ProviderIds["R18"]).ConfigureAwait(false); } else { var code = Utility.ExtractCodeFromFilename(originalTitle); if (code is null) { return(new MetadataResult <Movie>()); } video = await R18Client.SearchFirst(code).ConfigureAwait(false); } if (!video.HasValue) { return(new MetadataResult <Movie>()); } return(new MetadataResult <Movie> { Item = new Movie { OriginalTitle = info.Name, Name = Utility.CreateVideoDisplayName(video.Value), PremiereDate = video.Value.ReleaseDate, ProviderIds = new Dictionary <string, string> { { "R18", video.Value.Id } }, Studios = new[] { video.Value.Studio }, Genres = video.Value.Genres.ToArray(), }, People = CreateActressList(video.Value), HasMetadata = true, }); }
public async Task TestSearchFirstNone() { var result = await R18Client.SearchFirst("noresult").ConfigureAwait(false); Assert.AreEqual(null, result); }