Beispiel #1
0
        private static async Task <ImageAnalysisResult> PerformTweetImageAnalysisIfNotAlreadyDoneAsync(string partialFileName, string link)
        {
            // Download video locally (for later use)
            string fileExt         = link.Substring(link.Length - 3);
            string destinationFile = $"{partialFileName}.{fileExt}";

            if (!File.Exists(destinationFile))
            {
                await m_WebScraper.DownloadResourceAsync(link, destinationFile);
            }

            // Analyze the content pointed by link in the tweet (if not already done)
            Console.WriteLine($"\t\t{link}");
            destinationFile = $"{partialFileName}_results.txt";
            if (!File.Exists(destinationFile))
            {
                var linkContentAnalysisResult = await m_ContentAnalyzer.AnalyzeImageAsync(link);

                // Store results for later user
                await StoreInFileAsync(linkContentAnalysisResult, destinationFile);

                return(linkContentAnalysisResult);
            }
            else
            {
                return(await LoadFromFileAsync <ImageAnalysisResult>(destinationFile));
            }
        }