예제 #1
0
        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);
        }
예제 #2
0
        /// <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,
            });
        }
예제 #3
0
        public async Task TestSearchFirstNone()
        {
            var result = await R18Client.SearchFirst("noresult").ConfigureAwait(false);

            Assert.AreEqual(null, result);
        }