Esempio n. 1
0
        public async Task TestSauceNao(string art, string name)
        {
            var q  = new ImageQuery(art);
            var i  = new SauceNaoEngine();
            var rt = i.GetResultAsync(q);
            var t  = await rt;

            if (t.Status == ResultStatus.Cooldown)
            {
                Assert.Inconclusive();
            }

            t.Consolidate();


            var a = t.PrimaryResult.Artist.Contains(name);


            var b = t.OtherResults.Any(r =>
            {
                if (r.Artist != null)
                {
                    return(r.Artist.Contains(name));
                }
                else
                {
                    return(false);
                }
            });

            Assert.True(a || b);
        }
Esempio n. 2
0
        public static async Task Main(string[] args)
        {
            var q2 = new ImageQuery("https://i.imgur.com/QtCausw.jpg");


            var q = new ImageQuery(@"C:\Users\Deci\Pictures\fucking_epic.jpg");


            var cfg = new SearchConfig()
            {
                Query = q, SearchEngines = SearchEngineOptions.All
            };

            var cl = new SearchClient(cfg);

            var   r = cl.RunSearchAsync();
            await r;

            foreach (var result in cl.Results)
            {
                Console.WriteLine(result);
            }

            Console.WriteLine("--");

            var i  = new IqdbEngine();
            var i2 = i.GetResultAsync(q2);
            var r2 = await i2;

            Console.WriteLine(r2);
        }
Esempio n. 3
0
 private void Update(ImageQuery query)
 {
     m_cl.Config.Query     = query;
     inputTextBox.Text     = query.Value;
     uploadTextBox.Text    = m_cl.Config.Query.Uri.ToString();
     inputPictureBox.Image = Image.FromStream(query.Stream);
 }
Esempio n. 4
0
        public async Task TestIqdb(string art)
        {
            var q  = new ImageQuery(art);
            var i  = new IqdbEngine();
            var rt = i.GetResultAsync(q);
            var t  = await rt;

            if (t.Status == ResultStatus.Unavailable)
            {
                Assert.Inconclusive();
            }

            //t.Consolidate();


            var a = t.IsNonPrimitive;


            var b = t.OtherResults.Any(r =>
            {
                return(r.DetailScore >= 3 && r.Site != null);
            });

            Assert.True(a || b);
        }
Esempio n. 5
0
        protected SearchResult GetResult(ImageQuery query, out IRestResponse response)
        {
            var sr = new SearchResult(this);

            if (!GetInitialResult(query, out var rawUrl, out response))
            {
                sr.Status       = ResultStatus.Unavailable;
                sr.ErrorMessage = $"{response.ErrorMessage} | {response.StatusCode}";
            }
Esempio n. 6
0
        public async Task TestTraceMoe(string screenshot, string name)
        {
            var q  = new ImageQuery(screenshot);
            var i  = new TraceMoeEngine();
            var rt = i.GetResultAsync(q);
            var t  = await rt;

            Assert.True(t.OtherResults.Any(r => r.Source.Contains(name, StringComparison.InvariantCultureIgnoreCase)));
        }
Esempio n. 7
0
        public void GivenDefaultConfiguration_ShouldFindImagesWithUppercaseExtensions()
        {
            string searchPath  = "cased-data";
            string fileNameJpg = "uppercase-jpg.JPG";
            string fileNamePng = "uppercase-png.PNG";
            var    images      = ImageQuery.FindImages(searchPath, new RepoConfiguration());

            Assert.AreEqual(2, images.Length, $"Images found {string.Join("; ", images)}.");
            Assert.IsTrue(images.Any(s => s.Contains(fileNameJpg)));
            Assert.IsTrue(images.Any(s => s.Contains(fileNamePng)));
        }
Esempio n. 8
0
 public void AliasedTransformedSrcImages(ImageQuery imageQuery, Dictionary <string, int> imageResolutions)
 {
     foreach (string alias in imageResolutions.Keys)
     {
         imageQuery.transformedSrc(
             maxWidth: imageResolutions[alias],
             maxHeight: imageResolutions[alias],
             alias: alias
             );
     }
 }
Esempio n. 9
0
        public void GivenNestedSameFolder_ShouldFindAllImages()
        {
            var images = ImageQuery.FindImages("data_samenested", new RepoConfiguration());

            Assert.AreEqual(6, images.Length, $"Images found {string.Join("; ", images)}.");
            Assert.IsTrue(images.Any(s => s == "data_samenested/folder1/f1_a.jpg"));
            Assert.IsTrue(images.Any(s => s == "data_samenested/folder1/test_images/f1_test_a.jpg"));
            Assert.IsTrue(images.Any(s => s == "data_samenested/folder2/f2_b.png"));
            Assert.IsTrue(images.Any(s => s == "data_samenested/folder2/test_images/f2_test_b.png"));
            Assert.IsTrue(images.Any(s => s == "data_samenested/folder3/f3_c.png"));
            Assert.IsTrue(images.Any(s => s == "data_samenested/folder3/test_images/f3_test_c.png"));
        }
Esempio n. 10
0
        public void GivenWildcard_ShouldIgnoreAllImages()
        {
            var images = ImageQuery.FindImages("data", new RepoConfiguration
            {
                IgnoredFiles = new[]
                {
                    "*"
                }
            });

            Assert.AreEqual(0, images.Length);
        }
Esempio n. 11
0
        public void GivenDefaultConfiguration_ShouldFindAllImages()
        {
            var images = ImageQuery.FindImages("data", new RepoConfiguration());

            Assert.AreEqual(7, images.Length, $"Images found {string.Join("; ", images)}.");
            Assert.IsTrue(images.Any(s => s == "data/a.jpg"));
            Assert.IsTrue(images.Any(s => s == "data/b.png"));
            Assert.IsTrue(images.Any(s => s == "data/c.png"));
            Assert.IsTrue(images.Any(s => s == "data/folder/item1.png"));
            Assert.IsTrue(images.Any(s => s == "data/folder/item2.png"));
            Assert.IsTrue(images.Any(s => s == "data/folder/item3.jpg"));
            Assert.IsTrue(images.Any(s => s == "data/folder/deep/nested/deepimage.png"));
        }
Esempio n. 12
0
        public static async Task Main(string[] args)
        {
            Console.OutputEncoding = Encoding.Unicode;
            Console.InputEncoding  = Encoding.Unicode;



            var q  = new ImageQuery(@"C:\Users\Deci\Pictures\Test Images\Small1.png");
            var q2 = new ImageQuery("https://i.imgur.com/QtCausw.jpg");
            var i  = new Ascii2DEngine();
            var i2 = i.GetResultAsync(q2);
            var r2 = await i2;

            Console.WriteLine(">> {0}", r2);

            foreach (var result in r2.OtherResults)
            {
                Console.WriteLine($">{result}");
            }
            // var cfg = new SearchConfig() {Query = q, SearchEngines = SearchEngineOptions.All};
            //
            // var cl = new SearchClient(cfg);
            //
            // Console.WriteLine("Search 1");
            // cl.ResultCompleted += OnResult;
            // var r = cl.RunSearchAsync();
            // await r;

            /*foreach (var result in cl.Results) {
             *      Console.WriteLine(result);
             * }
             *
             * Console.WriteLine("--");
             *
             * var i  = new IqdbEngine();
             * var i2 = i.GetResultAsync(q2);
             * var r2 = await i2;
             *
             * Console.WriteLine(">> {0}",r2);
             *
             * cl.Reset();
             *
             * Console.WriteLine("Search 2");
             *
             * r = cl.RunSearchAsync();
             * await r;
             * foreach (var result in cl.Results)
             * {
             *      Console.WriteLine(result);
             * }*/
        }
Esempio n. 13
0
        private BaseMediaTagHelper CreateInnerTagHelper(TagHelperContext context, TagHelperOutput output)
        {
            BaseMediaTagHelper tagHelper = null;

            if (File.File.MediaType == MediaType.Image)
            {
                output.TagName = "img";
                tagHelper      = _tagHelperFactory.CreateTagHelper <ImageTagHelper>(ViewContext);
            }
            else if (ImageQuery?.NeedsProcessing() == true)
            {
                tagHelper = _tagHelperFactory.CreateTagHelper <ThumbnailTagHelper>(ViewContext);
            }
            else if (File.File.MediaType == MediaType.Video)
            {
                output.TagName = "video";
                tagHelper      = _tagHelperFactory.CreateTagHelper <VideoTagHelper>(ViewContext);
            }
            else if (File.File.MediaType == MediaType.Audio)
            {
                output.TagName = "audio";
                tagHelper      = _tagHelperFactory.CreateTagHelper <AudioTagHelper>(ViewContext);
            }

            if (tagHelper != null)
            {
                tagHelper.Init(context);

                tagHelper.Id          = Id;
                tagHelper.File        = File;
                tagHelper.FileId      = FileId;
                tagHelper.Host        = Host;
                tagHelper.Src         = Src;
                tagHelper.Initialized = Initialized;

                if (tagHelper is BaseImageTagHelper imgTagHelper)
                {
                    imgTagHelper.Model          = Model;
                    imgTagHelper.ImageQuery     = ImageQuery;
                    imgTagHelper.AnchorPosition = AnchorPosition;
                    imgTagHelper.Height         = Height;
                    imgTagHelper.NoFallback     = NoFallback;
                    imgTagHelper.ResizeMode     = ResizeMode;
                    imgTagHelper.Size           = Size;
                    imgTagHelper.Width          = Width;
                }
            }

            return(tagHelper);
        }