public void addPosts() { int loaded = 0; List <Item> items = new List <Item>(); if (postCapasity <= 99) { WallGet response = WallGet.FromJson(API.getResponse("wall.get", "owner_id=-" + id + ",offset=2" + ",count=" + postCapasity.ToString())); foreach (Item item in response.Response.Items) { items.Add(item); } } else { while (postCapasity - loaded > 99) { WallGet response1 = WallGet.FromJson(API.getResponse("wall.get", "owner_id=-" + id + ",offset=" + loaded.ToString() + ",count=99")); loaded = loaded + 99; foreach (Item item in response1.Response.Items) { items.Add(item); } if (response1.Response.Items.Length < 99) { goto GA; } } WallGet response = WallGet.FromJson(API.getResponse("wall.get", "owner_id=-" + id + ",offset=" + loaded.ToString() + ",count=" + (postCapasity - loaded).ToString())); foreach (Item item in response.Response.Items) { items.Add(item); } } GA: foreach (Item item in items) { try { Post post = new Post(); post.id = item.Id.ToString(); post.item = item; post.already_posted = false; post.hist = new Queue <HistoryPoint>(historyVolume); HistoryPoint point = new HistoryPoint(); point.likes = Convert.ToInt32(item.Likes.Count); point.reposts = Convert.ToInt32(item.Reposts.Count); point.views = Convert.ToInt32(item.Views.Count); point.time = Convert.ToInt32(item.Date); post.hist.Enqueue(point); post = setFirstPoints(post); post.domain = domain; post.groupId = id; posts.Enqueue(post); } catch { } } }
public bool check_for_repeat(Post post) { if (post.item.PostType.ToString() == "Photo") { string url = post.item.getImageUrl(); pictureBox1.Load(url); using (WebClient client = new WebClient()) { client.DownloadFile(url, "temp1.jpg"); } Image img1 = Image.FromFile("temp1.jpg"); try { WallGet response = WallGet.FromJson(API.getResponse("wall.get", "owner_id=-165233859" + ",count=20")); foreach (Item item in response.Response.Items) { if (post.item.PostType == item.PostType) { url = item.getImageUrl(); using (WebClient client = new WebClient()) { client.DownloadFile(url, "temp2.jpg"); } Image img2 = Image.FromFile("temp2.jpg"); var points = new Color[3, 3]; int count = 0; Bitmap BM1 = new Bitmap(img1); Bitmap BM2 = new Bitmap(img2); int incI = 0; int incJ = 0; for (int i = BM1.Width / 6; i < BM1.Width; i = i + BM1.Width / 3) { incJ = 0; for (int j = BM1.Height / 6; j < BM1.Height; j = j + BM1.Height / 3) { if (BM1.GetPixel(i, j) == BM2.GetPixel(i, j)) { count++; } incJ++; } incI++; } if (count > 8) { return(true); } } } } catch { } } return(false); }
public string getGroupIdByDomain(string domain) { WallGet WallGet; if (domain.Contains("public")) { WallGet = WallGet.FromJson(getResponse("wall.get", "owner_id=-" + domain.Replace("public", "") + ",count=2")); } else { WallGet = WallGet.FromJson(getResponse("wall.get", "domain=" + domain + ",count=2")); } return(WallGet.Response.Items[0].FromId.ToString().Remove(0, 1)); }
public void updatePosts() { try { WallGet response = WallGet.FromJson(API.getResponse("wall.get", "owner_id=-" + id + ",count=" + postCapasity.ToString())); foreach (Item item in response.Response.Items) { for (int i = 0; i < posts.Count; i++) { if (posts.ElementAt(i).id == item.Id.ToString()) { HistoryPoint point = new HistoryPoint(); point.likes = Convert.ToInt32(item.Likes.Count); point.reposts = Convert.ToInt32(item.Reposts.Count); if (item.Views == null) { point.views = 0; } else { point.views = Convert.ToInt32(item.Views.Count); } point.time = Convert.ToInt32(item.Date); posts.ElementAt(i).hist.Enqueue(point); setFirstPoints(posts.ElementAt(i)); if (posts.ElementAt(i).hist.Count > historyVolume) { posts.ElementAt(i).hist.Dequeue(); } } } } foreach (Item item in response.Response.Items) { bool is_new = true; for (int i = 0; i < posts.Count; i++) { if (posts.ElementAt(i).id == item.Id.ToString()) { is_new = false; } } if (is_new) { new_post = true; Post post = new Post(); post.id = item.Id.ToString(); post.item = item; post.already_posted = false; HistoryPoint point = new HistoryPoint(); point.likes = Convert.ToInt32(item.Likes.Count); point.reposts = Convert.ToInt32(item.Reposts.Count); if (item.Views == null) { point.views = 0; } else { point.views = Convert.ToInt32(item.Views.Count); } point.time = Convert.ToInt32(item.Date); post.hist = new Queue <HistoryPoint>(historyVolume); post.hist.Enqueue(point); post = setFirstPoints(post); post.domain = domain; post.groupId = id; posts.Enqueue(post); posts.Dequeue(); } } } catch { } }
/* void updateGraphs(Post post) * { * var points = post.hist; * * GraphPane likesPane = graf.GraphPane; * GraphPane repostsPane = zedGraphControl1.GraphPane; * GraphPane viewsPane = zedGraphControl2.GraphPane; * PointPairList likesList = new PointPairList(); * PointPairList repostsList = new PointPairList(); * PointPairList viewsList = new PointPairList(); * likesPane.CurveList.Clear(); * repostsPane.CurveList.Clear(); * viewsPane.CurveList.Clear(); * int inc = 0; * for (int i = 0; i < points.Count; i++) * { * likesList.Add(inc, points.ElementAt(i).likes); * repostsList.Add(inc, points.ElementAt(i).reposts); * viewsList.Add(inc, points.ElementAt(i).views); * inc++; * } * * LineItem myCurve = likesPane.AddCurve("likes", likesList, Color.Green, SymbolType.None); * LineItem myCurve1 = repostsPane.AddCurve("reposts", repostsList, Color.Red, SymbolType.None); * LineItem myCurve2 = viewsPane.AddCurve("views", viewsList, Color.Blue, SymbolType.None); * graf.AxisChange(); * graf.Invalidate(); * zedGraphControl1.AxisChange(); * zedGraphControl1.Invalidate(); * zedGraphControl2.AxisChange(); * zedGraphControl2.Invalidate(); * } */ private void set_Wl(object sender, EventArgs e) { delegatelog("SET Wl...", Color.Cyan); WallGet response = WallGet.FromJson(API.getResponse("wall.get", "owner_id=-165233859" + ",count=10")); int max = 0; int min = 999999; var now = new DateTimeOffset(DateTime.Now); foreach (Item item in response.Response.Items) { if (now.ToUnixTimeSeconds() - item.Date < 60 * 60 * 24 * 7) { if (item.Likes.Count < min) { min = Convert.ToInt32(item.Likes.Count); } if (item.Likes.Count > max) { max = Convert.ToInt32(item.Likes.Count); } } } foreach (Item item in response.Response.Items) { if (now.ToUnixTimeSeconds() - item.Date < 60 * 60 * 24) { foreach (string line in API.alredyPosted) { if (line.Split('=')[1] == item.Id.ToString()) { for (int i = 0; i < groupList.Count; i++) { if (line.Split('=')[0].Split('_')[0] == groupList[i].id) { double old = groupList[i].Wl; double G; if (min == max && max == 0) { G = 0.25; } else if (min == max && max != 0) { G = 0.5; } else { G = (Convert.ToDouble(item.Likes.Count) - Convert.ToDouble(min)) / (Convert.ToDouble(max) - Convert.ToDouble(min)); } if (G > 0.5) { G = G + (G - 0.5) / 2; } if (groupList[i].Wl <= 1) { if (!(groupList[i].Wl + (G - 0.5) / Kgi < 0.5)) { double mew = groupList[i].Wl + (G - 0.5) / Kgi; groupList[i].Wl = groupList[i].Wl + (G - 0.5) / Kgi; } } else { if (!(groupList[i].Wl + (G - 0.5) * 2 / Kgi > 2)) { double mew = groupList[i].Wl + (G - 0.5) * 2 / Kgi; groupList[i].Wl = groupList[i].Wl + (G - 0.5) * 2 / Kgi; } } if (item.Likes.Count > 0) { old = groupList[i].Wl; } else { old = groupList[i].Wl; } } } } } } } //write Wl changing /* string s = ""; * if (File.ReadAllLines("Gl.txt").Length == 0) * { * s = ""; * for (int i = 0; i < groupList.Count; i++) * { s = s + groupList[i].domain + ';'; } * File.WriteAllText("Gl.txt", s + '\r' + '\n'); * } * s = ""; * for (int i = 0; i < groupList.Count; i++) * { * s = s + groupList[i].Wl + ';'; * } * File.AppendAllText("Gl.txt", s + '\r' + '\n'); * delegatelog("Success", Color.Cyan); */ string[] s = new string[groupList.Count]; var file = File.ReadAllLines(pathPrefics + "Gl.txt"); if (file.Length == 0) { for (int i = 0; i < groupList.Count; i++) { s[i] = groupList[i].domain + ';'; } File.WriteAllLines(pathPrefics + "Gl.txt", s); for (int i = 0; i < groupList.Count; i++) { s[i] = s[i] + groupList[i].Wl + ';'; } File.WriteAllLines(pathPrefics + "Gl.txt", s); } else { for (int j = 0; j < file.Length; j++) { for (int i = 0; i < groupList.Count; i++) { if (file[j].Split(';')[0] == groupList[i].domain) { file[j] = file[j] + groupList[i].Wl + ';'; break; } } } File.WriteAllLines(pathPrefics + "Gl.txt", file); } delegatelog("Success", Color.Cyan); }