private void Scraper_ScraperCompleted(object sender, ScraperCompletedEventArgs e) { InvokeUI(() => { Log("Scraper number " + e.Number + " done"); }); if (e.isCanceled) { UpdateListView(e.Number.ToString(), 2, "Canceled"); } }
private void Scraper_ScraperCompleted(object sender, ScraperCompletedEventArgs e) { InvokeUI(() => { Log("Scraper number " + e.Number + " done"); var d = DateTime.Now; textBox1.Text = d.ToShortDateString() + " - " + d.ToShortTimeString() + " :: " + "Scraper number " + e.Number + " done" + Environment.NewLine + textBox1.Text; }); if (e.isCanceled) { UpdateListView(e.Number.ToString(), 2, "Canceled"); } }
private void Scraper_ScraperCompleted(object sender, ScraperCompletedEventArgs e) { DateTime endT = DateTime.Now; timer1.Stop(); InvokeUI(() => { linkLabel1.Text = TwitterNetworkUtil.BuildSearchURL(URL: SampleURL); }); if (sampleTweets.Count > 0) { double size = 0; using (Stream s = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(s, sampleTweets); size = s.Length / 1024; } double sec = endT.Subtract(scraper.StartDateTime).TotalSeconds; double speed = size / sec; DateTime FirstTweet = sampleTweets[sampleTweets.Count - 1].Date; DateTime LastTweet = sampleTweets[0].Date; double TweetsTimespan = LastTweet.Subtract(FirstTweet).TotalSeconds; double SingleDayTweetsEstimate = (86400 / TweetsTimespan) * sampleTweets.Count; double QueriedDays = this.TwitterQuery.until.Subtract(TwitterQuery.since).TotalDays; TimeSpan ETA = new TimeSpan(Convert.ToInt64(((SingleDayTweetsEstimate * QueriedDays) / sampleTweets.Count) * sec) * 10000000); int Threads = Math.Min((90 / (int)cpu), Convert.ToInt32((InternetSpeed * 1024) / speed)); TimeSpan ETAThread = new TimeSpan(Convert.ToInt64(ETA.TotalSeconds / Threads) * 10000000); InvokeUI(() => { lblPUtilization.Text = Math.Round(cpu).ToString() + "%"; //Performance lblFileSize.Text = Math.Round(size, 2).ToString() + " kb"; label4.Text = sampleTweets.Count.ToString() + " downloaded in: "; lblTime.Text = Math.Round(sec, 2).ToString().ToString() + " sec(s)"; lblSpeed.Text = Math.Round(speed, 2).ToString() + " kbps"; lblFTDT.Text = FirstTweet.ToString(); lblLTDT.Text = LastTweet.ToString(); lblLargestDiff.Text = LargetTimeDifference.ToString() + " sec(s)"; //Estimation lblEstimatedTweets.Text = String.Format("{0:n0}", SingleDayTweetsEstimate * QueriedDays); lblETASingle.Text = ETA.Days.ToString() + " days, " + ETA.Minutes.ToString() + " mins, " + ETA.Seconds.ToString() + " secs."; lblThread.Text = Threads.ToString(); lblEstimatedThreads.Text = ETAThread.Days.ToString() + " days, " + ETAThread.Minutes.ToString() + " mins, " + ETAThread.Seconds.ToString() + " secs."; lblMessage.Text = "All done."; }); } else { InvokeUI(() => { lblMessage.Text = "The query provided is not invalid. Please click on link and see if Twitter is providing any Tweets. If Twitter has no result, please go back and correct your query."; }); } }