示例#1
0
        public static async Task AddPage(string url)
        {
            JsonObject json = await accountManager.makeJsonPageRequest(url);

            if (json != null)
            {
                JsonObject pageinfo = json.GetNamedObject("data");
                JsonArray  links    = pageinfo.GetNamedArray("children");

                //string srt = links.GetObjectAt(0).GetNamedObject("data").GetNamedString("subreddit");
                string sr = url.Substring(24, url.Length - 29);
                //srimg = "http://thumbs.reddit.com/" + srt + ".png";

                string          srimg    = "Assets/reddit_logo.png";
                SampleDataGroup LinkPage = new SampleDataGroup(url, sr, "", srimg, "/r/all");
                //add http request to grab subreddit link
                for (uint i = 0; i < links.Count; i++)
                {
                    JsonObject Data  = links.GetObjectAt(i).GetNamedObject("data");
                    string     title = Data.GetNamedString("title");
                    string     id    = Data.GetNamedString("id");
                    id = links.GetObjectAt(i).GetNamedString("kind") + "_" + id;
                    string   author      = Data.GetNamedString("author");
                    string   thumbnail   = Data.GetNamedString("thumbnail");
                    string   permalink   = Data.GetNamedString("permalink");
                    string   selftext    = Data.GetNamedString("selftext");
                    string   subreddit   = Data.GetNamedString("subreddit");
                    int      numcomments = (int)Data.GetNamedNumber("num_comments");
                    DateTime date        = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
                    double   sec         = Data.GetNamedNumber("created_utc");
                    date = date.AddSeconds(sec);


                    string linkurl = Data.GetNamedString("url");
                    //string selftext = links.GetObjectAt(i).GetNamedObject("data").GetNamedString("permalink");
                    int score = int.Parse(Data.GetNamedNumber("score").ToString());

                    SampleDataItem ans = new SampleDataItem(id, title, author, thumbnail, permalink, selftext, LinkPage, permalink, linkurl, score, subreddit, date, numcomments);
                    if (thumbnail == "" || selftext != "")
                    {
                        ans.NeedImg = false;
                    }

                    // await ParseComments(ans);

                    LinkPage.Items.Add(ans);
                    if (SampleDataItem.isFVImageSource(ans.Url) && ans.FvImage != null)
                    {
                        LinkPage.Images.Add(ans);
                    }
                }

                SampleDataSource._sampleDataSource.AllGroups.Add(LinkPage);
            }
            else
            {
                //show the user that the page wasn't valid
            }
        }
示例#2
0
        //String uniqueId, String title, String subtitle, String imagePath, String description, String content, SampleDataGroup group
        //String uniqueId, String title, String subtitle, String imagePath, String description

        public static async Task ExtendPageAsync(SampleDataGroup sg)
        {
            string url = sg.Items.Last().UniqueId;

            url = "http://www.reddit.com/r/" + sg.Title + "/.json?count=25&after=" + url;


            JsonObject json = await accountManager.makeJsonPageRequest(url);

            JsonObject pageinfo = json.GetNamedObject("data");
            JsonArray  links    = pageinfo.GetNamedArray("children");

            //add http request to grab subreddit link
            for (uint i = 0; i < links.Count; i++)
            {
                JsonObject Data  = links.GetObjectAt(i).GetNamedObject("data");
                string     title = Data.GetNamedString("title");
                string     id    = Data.GetNamedString("id");
                id = links.GetObjectAt(i).GetNamedString("kind") + "_" + id;
                string   author      = Data.GetNamedString("author");
                string   thumbnail   = Data.GetNamedString("thumbnail");
                string   permalink   = Data.GetNamedString("permalink");
                string   selftext    = Data.GetNamedString("selftext");
                string   subreddit   = Data.GetNamedString("subreddit");
                int      numcomments = (int)Data.GetNamedNumber("num_comments");
                DateTime date        = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
                double   sec         = Data.GetNamedNumber("created_utc");
                date = date.AddSeconds(sec);


                string linkurl = Data.GetNamedString("url");
                //string selftext = links.GetObjectAt(i).GetNamedObject("data").GetNamedString("permalink");
                int score = int.Parse(Data.GetNamedNumber("score").ToString());

                SampleDataItem ans = new SampleDataItem(id, title, author, thumbnail, permalink, selftext, sg, permalink, linkurl, score, subreddit, date, numcomments);
                if (thumbnail == "" || selftext != "")
                {
                    ans.NeedImg = false;
                }
                sg.Items.Add(ans);
                if (SampleDataItem.isFVImageSource(ans.Url) && ans.FvImage != null)
                {
                    sg.Images.Add(ans);
                }
            }
        }