public void UpdateCharactersKoreanIncremetns(bool specifictag = false, string tag = "") { samples.Clear(); Dictionary <string, Dictionary <int, int> > character_list = new Dictionary <string, Dictionary <int, int> >(); foreach (var metadata in HitomiData.Instance.metadata_collection) { if (metadata.Language == HitomiSetting.Instance.GetModel().Language&& metadata.Characters != null && (!specifictag || (metadata.Tags != null && metadata.Tags.Contains(tag)))) { foreach (var character in metadata.Characters.Where(character => !character_list.ContainsKey(character))) { character_list.Add(character, new Dictionary <int, int>()); } } } foreach (var data in datas) { foreach (var metadata in data.Value) { if (metadata.Language == HitomiSetting.Instance.GetModel().Language&& metadata.Characters != null && (!specifictag || (metadata.Tags != null && metadata.Tags.Contains(tag)))) { foreach (var character in metadata.Characters) { if (character_list[character].ContainsKey(data.Key)) { character_list[character][data.Key] += 1; } else { character_list[character].Add(data.Key, 1); } } } } } foreach (var character in character_list) { HitomiAnalysisTrendElement e = new HitomiAnalysisTrendElement(); e.name = character.Key; e.points = new List <Point>(); int nujuk = 0; foreach (var pair in character.Value) { nujuk += pair.Value; e.points.Add(new Point(pair.Key, nujuk)); } samples.Add(e); } samples.Sort((a, b) => b.points.Last().Y.CompareTo(a.points.Last().Y)); if (samples.Count > 100) { samples.RemoveRange(100, samples.Count - 100); } }
public void UpdateArtistsIncremetns(bool specifictag = false, string tag = "") { samples.Clear(); Dictionary <string, Dictionary <int, int> > artist_list = new Dictionary <string, Dictionary <int, int> >(); foreach (var metadata in HitomiData.Instance.metadata_collection) { if (metadata.Artists != null && (!specifictag || (metadata.Tags != null && metadata.Tags.Contains(tag)))) { foreach (var artist in metadata.Artists.Where(artist => !artist_list.ContainsKey(artist))) { artist_list.Add(artist, new Dictionary <int, int>()); } } } foreach (var data in datas) { foreach (var metadata in data.Value) { if (metadata.Artists != null && (!specifictag || (metadata.Tags != null && metadata.Tags.Contains(tag)))) { foreach (var artist in metadata.Artists) { if (artist_list[artist].ContainsKey(data.Key)) { artist_list[artist][data.Key] += 1; } else { artist_list[artist].Add(data.Key, 1); } } } } } foreach (var artist in artist_list) { HitomiAnalysisTrendElement e = new HitomiAnalysisTrendElement(); e.name = artist.Key; e.points = new List <Point>(); int nujuk = 0; foreach (var pair in artist.Value) { nujuk += pair.Value; e.points.Add(new Point(pair.Key, nujuk)); } samples.Add(e); } samples.Sort((a, b) => b.points.Last().Y.CompareTo(a.points.Last().Y)); if (samples.Count > 100) { samples.RemoveRange(100, samples.Count - 100); } }
public void UpdateTagKoreanIncrements() { samples.Clear(); Dictionary <string, Dictionary <int, int> > tag_list = new Dictionary <string, Dictionary <int, int> >(); foreach (var metadata in HitomiData.Instance.metadata_collection) { if (metadata.Language == HitomiSetting.Instance.GetModel().Language&& metadata.Tags != null) { foreach (var tag in metadata.Tags) { if (!tag_list.ContainsKey(tag)) { tag_list.Add(tag, new Dictionary <int, int>()); } } } } foreach (var data in datas) { foreach (var metadata in data.Value) { if (metadata.Language == HitomiSetting.Instance.GetModel().Language&& metadata.Tags != null) { foreach (var tag in metadata.Tags) { if (tag_list[tag].ContainsKey(data.Key)) { tag_list[tag][data.Key] += 1; } else { tag_list[tag].Add(data.Key, 1); } } } } } foreach (var tag in tag_list) { HitomiAnalysisTrendElement e = new HitomiAnalysisTrendElement(); e.name = tag.Key; e.points = new List <Point>(); int nujuk = 0; foreach (var pair in tag.Value) { nujuk += pair.Value; e.points.Add(new Point(pair.Key, nujuk)); } samples.Add(e); } samples.Sort((a, b) => b.points.Last().Y.CompareTo(a.points.Last().Y)); samples.RemoveRange(30, samples.Count - 30); }
public void UpdateGalleryVariation() { samples.Clear(); HitomiAnalysisTrendElement e = new HitomiAnalysisTrendElement(); e.name = "업로드 변동"; e.points = new List <Point>(); foreach (var data in datas) { e.points.Add(new Point(data.Key, data.Value.Count)); } samples.Add(e); }
public void UpdataGalleryIncrements() { samples.Clear(); HitomiAnalysisTrendElement e = new HitomiAnalysisTrendElement(); e.name = "업로드 수"; e.points = new List <Point>(); int nujuk = 0; foreach (var data in datas) { nujuk += data.Value.Count; e.points.Add(new Point(data.Key, nujuk)); } samples.Add(e); }
public void UpdateCharactersKoreanVariation() { samples.Clear(); Dictionary <string, Dictionary <int, int> > character_list = new Dictionary <string, Dictionary <int, int> >(); foreach (var metadata in HitomiData.Instance.metadata_collection) { if (metadata.Language == HitomiSetting.Instance.GetModel().Language&& metadata.Characters != null) { foreach (var series in metadata.Characters.Where(series => !character_list.ContainsKey(series))) { character_list.Add(series, new Dictionary <int, int>()); } } } foreach (var data in datas) { if (data.Key > 1125000) { foreach (var metadata in data.Value) { if (metadata.Language == HitomiSetting.Instance.GetModel().Language&& metadata.Characters != null) { foreach (var series in metadata.Characters) { if (character_list[series].ContainsKey(data.Key)) { character_list[series][data.Key] += 1; } else { character_list[series].Add(data.Key, 1); } } } } } } foreach (var series in character_list) { HitomiAnalysisTrendElement e = new HitomiAnalysisTrendElement(); e.name = series.Key; e.points = new List <Point>(); foreach (var pair in series.Value) { e.points.Add(new Point(pair.Key, pair.Value)); } samples.Add(e); } samples.Sort((a, b) => { int bb = 0; if (b.points.Count >= 1) { bb = b.points.Last().Y; } if (b.points.Count > 1) { for (int i = 0; i < b.points.Count - 2 && i < 5; i++) { bb += b.points[b.points.Count - i - 2].Y; } } int aa = 0; if (a.points.Count >= 1) { aa = a.points.Last().Y; } if (a.points.Count > 1) { for (int i = 0; i < a.points.Count - 2 && i < 5; i++) { aa += a.points[a.points.Count - i - 2].Y; } } return(bb.CompareTo(aa)); }); samples.RemoveRange(20, samples.Count - 20); }
public void UpdateTagKoreanVariation() { samples.Clear(); Dictionary <string, Dictionary <int, int> > tag_list = new Dictionary <string, Dictionary <int, int> >(); foreach (var metadata in HitomiData.Instance.metadata_collection) { if (metadata.Language == HitomiSetting.Instance.GetModel().Language&& metadata.Tags != null) { foreach (var tag in metadata.Tags) { if (!tag_list.ContainsKey(tag)) { tag_list.Add(tag, new Dictionary <int, int>()); } } } } foreach (var data in datas) { if (data.Key > 1125000) { foreach (var metadata in data.Value) { if (metadata.Language == HitomiSetting.Instance.GetModel().Language&& metadata.Tags != null) { foreach (var tag in metadata.Tags) { if (tag_list[tag].ContainsKey(data.Key)) { tag_list[tag][data.Key] += 1; } else { tag_list[tag].Add(data.Key, 1); } } } } } } foreach (var tag in tag_list) { HitomiAnalysisTrendElement e = new HitomiAnalysisTrendElement(); e.name = tag.Key; e.points = new List <Point>(); foreach (var pair in tag.Value) { e.points.Add(new Point(pair.Key, pair.Value)); } samples.Add(e); } samples.Sort((a, b) => { int bb = 0; if (b.points.Count >= 1) { bb = b.points.Last().Y; } if (b.points.Count > 1) { for (int i = 0; i < b.points.Count - 2 && i < 5; i++) { bb += b.points[b.points.Count - i - 2].Y; } } int aa = 0; if (a.points.Count >= 1) { aa = a.points.Last().Y; } if (a.points.Count > 1) { for (int i = 0; i < a.points.Count - 2 && i < 5; i++) { aa += a.points[a.points.Count - i - 2].Y; } } //return b.points.Last().Y.CompareTo(a.points.Last().Y); return(bb.CompareTo(aa)); }); samples.RemoveRange(20, samples.Count - 20); }