コード例 #1
0
        public async Task Start()
        {
            // if we restarted, reset the stats, as uptime and since will be out of sync with counts
            StartClock();

            try
            {
                await foreach (var line in GetSampleStream())
                {
                    // v2 continue instead
                    // twitter appears to send empty lines occassionally
                    if (line == string.Empty)
                    {
                        continue;
                    }

                    // want to parse at least id and text out
                    var tweetDTO = TwitterTweetDTO.Deserialize(line);
                    if (tweetDTO == null)
                    {
                        anyNullTweets = true;
                        continue;
                    }

                    var tweet = new Tweet(tweetDTO);
                    // v2 is it better if TweetStream knows how to track stats or if TweetStatistics does?
                    stats.Track(tweet);
                }
            }
            catch (Exception ex)
            {
                anyExceptions = true;
            }
        }
コード例 #2
0
ファイル: Tweet.cs プロジェクト: me-tim/TwitterStatistics
        }                                                            // v2 remove?


        public Tweet(TwitterTweetDTO dto) : this(dto.Id, dto.Text, TweetMedia.From(dto.Includes?.Media))
        {
        }
コード例 #3
0
ファイル: Tweet.cs プロジェクト: me-tim/TwitterStatistics
 public static Tweet From(TwitterTweetDTO dto)
 {
     return(new Tweet(dto.Text, dto.Id, TweetMedia.From(dto.Includes.Media)));
 }