Example #1
0
        private async Task Get4chanBoardsAsync()
        {
            if (this._boards.Count != 0)
            {
                return;
            }

            /*Uri dataUri = new Uri("http://a.4cdn.org/boards.json");
             * HttpClient _client = new HttpClient();
             * var result = await _client.GetStringAsync(dataUri);*/

            Uri         dataUri = new Uri("ms-appx:///DataModel/boards.json");
            StorageFile file    = await StorageFile.GetFileFromApplicationUriAsync(dataUri);

            string result = await FileIO.ReadTextAsync(file);

            JsonObject  jsonObject = JsonObject.Parse(result);
            JsonArray   jsonArray  = jsonObject["boards"].GetArray();
            BoardsGroup group      = new BoardsGroup();

            string[] blacklist = { "b", "d", "e", "gif", "h", "hc", "hm", "k", "lgbt", "mlp", "pol", "r", "r9k", "s", "s4s", "t", "u", "y", "soc", "hr", "f" };

            foreach (JsonValue boardValue in jsonArray)
            {
                JsonObject boardObject   = boardValue.GetObject();
                bool       isBlacklisted = false;

                foreach (string x in blacklist)
                {
                    if (x == boardObject["board"].GetString())
                    {
                        isBlacklisted = true;
                    }
                }

                if (isBlacklisted)
                {
                    continue;
                }

                _4chanDataBoard board = new _4chanDataBoard(boardObject["board"].GetString(),
                                                            boardObject["title"].GetString());

                group.Items.Add(board);
            }

            this.Boards.Add(group);
        }
Example #2
0
        private async Task Get4chanCatalogAsync(_4chanDataBoard board)
        {
            if (board.Items.Count != 0)
            {
                return;
            }

            Uri        dataUri = new Uri("http://a.4cdn.org/" + board.Board + "/catalog.json");
            HttpClient _client = new HttpClient();
            var        result  = await _client.GetStringAsync(dataUri);

            JsonArray     pages = JsonArray.Parse(result);
            CatalogsGroup group = new CatalogsGroup();

            foreach (JsonValue pageValue in pages)
            {
                JsonObject page    = pageValue.GetObject();
                JsonArray  threads = page["threads"].GetArray();

                foreach (JsonValue threadValue in threads)
                {
                    JsonObject threadObject = threadValue.GetObject();

                    if (threadObject.ContainsKey("tim") &&
                        threadObject.ContainsKey("no") &&
                        threadObject.ContainsKey("now") &&
                        threadObject.ContainsKey("name") &&
                        threadObject.ContainsKey("com") &&
                        threadObject.ContainsKey("ext"))
                    {
                        _4chanDataCatalog catalog = new _4chanDataCatalog(threadObject["no"].GetNumber(),
                                                                          threadObject["tim"].GetNumber(),
                                                                          threadObject["now"].GetString(),
                                                                          threadObject["name"].GetString(),
                                                                          threadObject["com"].GetString(),
                                                                          threadObject["ext"].GetString(),
                                                                          board.Board);

                        group.Items.Add(catalog);
                    }
                }
            }

            board.Items.Add(group);
        }
Example #3
0
        /*******************************************************************************************************/

        public static async Task <IEnumerable <CatalogsGroup> > GetCatalogdAsync(_4chanDataBoard board)
        {
            await _4chanDataSrc.Get4chanCatalogAsync(board);

            return(board.Items);
        }