private void add_to_enable_list(clsVideoEntry e, DateTime t) { if (Enable_List.ContainsKey(e)) return; Enable_List.Add(e, t); }
void sm_OnEntryUpdated(object Sender, clsDataPoint DataPoint, clsVideoEntry Entry) { if (this.InvokeRequired) { GenericDelegate dlg = delegate() { lb2.Items.Add(Entry.Title + ", " + DataPoint.Field.ToString() + ", " + DataPoint.Old.ToString() + " => " + DataPoint.New.ToString() ); }; lb2.Invoke(dlg); } else lb2.Items.Add(DataPoint.Field.ToString()); }
void _reader_OnEntryFetched(object Sender, clsVideoEntry Entry) { lb2.Items.Add(Entry.Title); }
private void _entry_fetched(YouTubeEntry Entry) { if (OnEntryFetched != null) { clsVideoEntry nEntry = new clsVideoEntry(Entry); nEntry.Time = DateTime.Now; nEntry.Account = new clsCredentials(_username, _password); OnEntryFetched(this, nEntry); } }
void sm_OnEntryAdded(object Sender, clsVideoEntry Entry) { lb.Items.Add(Entry.Title); }
private void _entry_added(clsVideoEntry Entry) { if (_file_logger != null) _file_logger.appendFile(Entry.ToString()); if (OnEntryAdded != null) OnEntryAdded(this, Entry); }
private void _entry_updated(clsDataPoint DataPoint, clsVideoEntry Entry) { if (_file_logger != null) _file_logger.appendFile(DataPoint.ToString()); if (OnEntryUpdated != null) OnEntryUpdated(this, DataPoint, Entry); }
private void _compare_stat(double Old, double New, clsDataPointField.VideoDataFields Field, clsVideoEntry Entry) { if (Old == New) return; else { clsDataPoint new_datapoint = new clsDataPoint(Old, New, new clsDataPointField(Field), Entry.VideoID); if (_historical_data.ContainsKey(Entry.VideoID)) _historical_data[Entry.VideoID].Add(new_datapoint); else { List<clsDataPoint> new_dp_list = new List<clsDataPoint>(); new_dp_list.Add(new_datapoint); _historical_data.Add(Entry.VideoID, new_dp_list); } _entry_updated(new_datapoint, Entry); } }
private void _compare_entries(clsVideoEntry OldEntry, clsVideoEntry NewEntry) { if (OldEntry.VideoID != NewEntry.VideoID) return; _compare_stat(OldEntry.AverageRating, NewEntry.AverageRating, clsDataPointField.VideoDataFields.AVERAGE_RATING, NewEntry); _compare_stat(OldEntry.CommentCount, NewEntry.CommentCount, clsDataPointField.VideoDataFields.COMMENT_COUNT, NewEntry); _compare_stat(OldEntry.FavoritedCount, NewEntry.FavoritedCount, clsDataPointField.VideoDataFields.FAVORITED_COUNT, NewEntry); _compare_stat(OldEntry.Raters, NewEntry.Raters, clsDataPointField.VideoDataFields.RATERS, NewEntry); _compare_stat(OldEntry.ViewsCount, NewEntry.ViewsCount, clsDataPointField.VideoDataFields.VIEWS, NewEntry); }
private void new_feed_OnEntryFetched(object Sender, clsVideoEntry Entry) { clsVideoEntry initial_entry; if ((initial_entry = _GetEntryByIdFromList(_initial_dataset, Entry.VideoID)) == null) { _initial_dataset.Add(Entry); _current_dataset.Add(Entry); _entry_added(Entry); } else { clsVideoEntry CurrentEntry = _GetEntryByIdFromList(_current_dataset, Entry.VideoID); if (CurrentEntry == null) { _current_dataset.Add(Entry); _compare_entries(initial_entry, Entry); } else { _current_dataset.Remove(CurrentEntry); _current_dataset.Add(Entry); _compare_entries(CurrentEntry, Entry); } } }
private static List<clsDataPoint> _compare_entities(clsVideoEntry e_adding, clsVideoEntry e_init) { clsDataPoint new_dp = null; List<clsDataPoint> ret = new List<clsDataPoint>(); if (e_adding.Time < e_init.Time) { if (e_adding.ViewsCount != e_adding.ViewsCount) { new_dp = new clsDataPoint((double)e_adding.ViewsCount, (double)e_init.ViewsCount, new clsDataPointField(clsDataPointField.VideoDataFields.VIEWS), e_init.VideoID); new_dp.Time = e_init.Time; ret.Add(new_dp); } if (e_adding.ViewsCount != e_adding.ViewsCount) { new_dp = new clsDataPoint((double)e_adding.Raters, (double)e_init.Raters, new clsDataPointField(clsDataPointField.VideoDataFields.RATERS), e_init.VideoID); new_dp.Time = e_init.Time; ret.Add(new_dp); } if (e_adding.ViewsCount != e_adding.ViewsCount) { new_dp = new clsDataPoint((double)e_adding.FavoritedCount, (double)e_init.FavoritedCount, new clsDataPointField(clsDataPointField.VideoDataFields.FAVORITED_COUNT), e_init.VideoID); new_dp.Time = e_init.Time; ret.Add(new_dp); } if (e_adding.ViewsCount != e_adding.ViewsCount) { new_dp = new clsDataPoint((double)e_adding.CommentCount, (double)e_init.CommentCount, new clsDataPointField(clsDataPointField.VideoDataFields.COMMENT_COUNT), e_init.VideoID); new_dp.Time = e_init.Time; ret.Add(new_dp); } if (e_adding.ViewsCount != e_adding.ViewsCount) { new_dp = new clsDataPoint((double)e_adding.AverageRating, (double)e_init.AverageRating, new clsDataPointField(clsDataPointField.VideoDataFields.AVERAGE_RATING), e_init.VideoID); new_dp.Time = e_init.Time; ret.Add(new_dp); } e_init = e_adding; } else { if (e_init.ViewsCount != e_init.ViewsCount) { new_dp = new clsDataPoint((double)e_init.ViewsCount, (double)e_adding.ViewsCount, new clsDataPointField(clsDataPointField.VideoDataFields.VIEWS), e_adding.VideoID); new_dp.Time = e_adding.Time; ret.Add(new_dp); } if (e_init.ViewsCount != e_init.ViewsCount) { new_dp = new clsDataPoint((double)e_init.Raters, (double)e_adding.Raters, new clsDataPointField(clsDataPointField.VideoDataFields.RATERS), e_adding.VideoID); new_dp.Time = e_adding.Time; ret.Add(new_dp); } if (e_init.ViewsCount != e_init.ViewsCount) { new_dp = new clsDataPoint((double)e_init.FavoritedCount, (double)e_adding.FavoritedCount, new clsDataPointField(clsDataPointField.VideoDataFields.FAVORITED_COUNT), e_adding.VideoID); new_dp.Time = e_adding.Time; ret.Add(new_dp); } if (e_init.ViewsCount != e_init.ViewsCount) { new_dp = new clsDataPoint((double)e_init.CommentCount, (double)e_adding.CommentCount, new clsDataPointField(clsDataPointField.VideoDataFields.COMMENT_COUNT), e_adding.VideoID); new_dp.Time = e_adding.Time; ret.Add(new_dp); } if (e_init.ViewsCount != e_init.ViewsCount) { new_dp = new clsDataPoint((double)e_init.AverageRating, (double)e_adding.AverageRating, new clsDataPointField(clsDataPointField.VideoDataFields.AVERAGE_RATING), e_adding.VideoID); new_dp.Time = e_adding.Time; ret.Add(new_dp); } } return ret; }
public void LoadDataFile(string LogFileContents) { List<clsVideoEntry> init = new List<clsVideoEntry>(); Dictionary<string, List<clsDataPoint>> hist = new Dictionary<string, List<clsDataPoint>>(); string log = LogFileContents; Regex r = new Regex("init : .+?{(.+?)}.+?{(.+?)}.+?{(.+?)}.+?{(.+?)}.+?{(.+?)}.+?{(.+?)}.+?{(.+?)}.+?{(.+?)}.+?{(.+?)}"); MatchCollection matches = r.Matches(log); foreach (Match m in matches) { Google.GData.YouTube.YouTubeEntry entry = new Google.GData.YouTube.YouTubeEntry(); entry.VideoId = m.Groups[3].Value; Google.GData.Extensions.FeedLink feedlink = new Google.GData.Extensions.FeedLink(); feedlink.CountHint = int.Parse(m.Groups[8].Value); entry.Comments = new Google.GData.Extensions.Comments(); entry.Comments.FeedLink = feedlink; entry.Statistics = new Google.GData.YouTube.Statistics(); entry.Statistics.ViewCount = m.Groups[7].Value; entry.Statistics.FavoriteCount = m.Groups[9].Value; entry.Rating = new Google.GData.Extensions.Rating(); entry.Rating.NumRaters = int.Parse(m.Groups[5].Value); entry.Rating.Average = double.Parse(m.Groups[6].Value); entry.Title = new Google.GData.Client.AtomTextConstruct(Google.GData.Client.AtomTextConstructElementType.Title, m.Groups[4].Value); clsVideoEntry new_e = new clsVideoEntry(entry); new_e.Time = DateTime.Parse(m.Groups[1].Value + " " + m.Groups[2].Value); clsVideoEntry old_entry = _GetEntryByIdFromList(init, new_e.VideoID); if ( old_entry == null) init.Add(new_e); else { List<clsDataPoint> new_dps = _compare_entities(new_e, old_entry); if (new_e.Time < old_entry.Time) old_entry = new_e; foreach (clsDataPoint dp in new_dps) { if (!hist.ContainsKey(new_e.VideoID)) hist.Add(new_e.VideoID, new List<clsDataPoint>()); hist[new_e.VideoID].Add(dp); } } } r = new Regex("upd : d{(.*)},t{(.*)},vId{(.*),(.*)},old{(.*)},new{(.*)}"); matches = r.Matches(log); foreach (Match m in matches) { string v = m.Groups[3].Value; string f = m.Groups[4].Value; double Iv = double.Parse(m.Groups[5].Value); double Nv = double.Parse(m.Groups[6].Value); if (!hist.ContainsKey(v)) hist.Add(v, new List<clsDataPoint>()); clsDataPointField field = new clsDataPointField(); switch (f) { case "VIEWS": field.Field = clsDataPointField.VideoDataFields.VIEWS; break; case "RATERS": field.Field = clsDataPointField.VideoDataFields.RATERS; break; case "AVERAGE_RATING": field.Field = clsDataPointField.VideoDataFields.AVERAGE_RATING; break; case "COMMENT_COUNT": field.Field = clsDataPointField.VideoDataFields.COMMENT_COUNT; break; case "FAVORITED_COUNT": field.Field = clsDataPointField.VideoDataFields.FAVORITED_COUNT; break; } clsDataPoint new_dp = new clsDataPoint(Iv, Nv, field, v); new_dp.Time = DateTime.Parse(m.Groups[1].Value + " " + m.Groups[2].Value); hist[v].Add(new_dp); } _initial_dataset = init; _historical_data = hist; _sort_historical_data(); }