Exemplo n.º 1
0
        public static List <TimeTableSemester> ListingSemesters(this EverytimeSession session)
        {
            var request = session.CreatePostRequest("https://api.everytime.kr/find/timetable/subject/semester/list");
            var res     = (HttpWebResponse)request.GetResponse();
            var gz      = new BinaryReader(new GZipStream(res.GetResponseStream(), CompressionMode.Decompress)).ReadBytes(65535);
            var xml     = Encoding.UTF8.GetString(gz);

            res.Close();

            var document = new HtmlDocument();

            document.LoadHtml(xml);
            var root_node = document.DocumentNode;

            var result = new List <TimeTableSemester>();

            foreach (var semester in root_node.SelectNodes("//semester"))
            {
                result.Add(new TimeTableSemester
                {
                    Year               = semester.GetAttributeValue("year", ""),
                    Semester           = semester.GetAttributeValue("semester", ""),
                    StartDate          = semester.GetAttributeValue("start_date", ""),
                    EndDate            = semester.GetAttributeValue("end_date", ""),
                    IsFormal           = semester.GetAttributeValue("is_formal", ""),
                    IsSupported        = semester.GetAttributeValue("is_supported", ""),
                    HasSyllabus        = semester.GetAttributeValue("has_syllabus", ""),
                    HasSubjectDatabase = semester.GetAttributeValue("has_subject_database", ""),
                    UpdatedAt          = semester.GetAttributeValue("updated_at", ""),
                });
            }

            return(result);
        }
Exemplo n.º 2
0
        public static List <string> GetHacksuFromTableInfo(this EverytimeSession session, TimeTableTable table)
        {
            var request = session.CreatePostRequest("https://api.everytime.kr/find/timetable/table");
            var rs      = new StreamWriter(request.GetRequestStream());

            rs.Write($"id={table.Id}");
            rs.Close();
            var res = (HttpWebResponse)request.GetResponse();
            var gz  = new BinaryReader(new GZipStream(res.GetResponseStream(), CompressionMode.Decompress)).ReadBytes(65535 * 128);
            var xml = Encoding.UTF8.GetString(gz);

            res.Close();

            var document = new HtmlDocument();

            document.LoadHtml(xml);
            var root_node = document.DocumentNode;

            var result = new List <string>();

            foreach (var subject in root_node.SelectNodes("//internal"))
            {
                result.Add(subject.GetAttributeValue("value", ""));
            }

            return(result);
        }
Exemplo n.º 3
0
        public static List <TimeTableTable> GetTableListFromSemester(this EverytimeSession session, TimeTableSemester semester)
        {
            var request = session.CreatePostRequest("https://api.everytime.kr/find/timetable/table/list/semester");
            var rs      = new StreamWriter(request.GetRequestStream());

            rs.Write($"year={semester.Year}&semester={Uri.EscapeDataString(semester.Semester)}");
            rs.Close();
            var res = (HttpWebResponse)request.GetResponse();
            var gz  = new BinaryReader(new GZipStream(res.GetResponseStream(), CompressionMode.Decompress)).ReadBytes(65535);
            var xml = Encoding.UTF8.GetString(gz);

            res.Close();

            var document = new HtmlDocument();

            document.LoadHtml(xml);
            var root_node = document.DocumentNode;

            var result = new List <TimeTableTable>();

            if (root_node.SelectNodes("//table") != null)
            {
                foreach (var table in root_node.SelectNodes("//table"))
                {
                    result.Add(new TimeTableTable
                    {
                        Id        = table.GetAttributeValue("id", ""),
                        Name      = table.GetAttributeValue("name", ""),
                        Priv      = table.GetAttributeValue("priv", ""),
                        IsPrimary = table.GetAttributeValue("is_primary", ""),
                        CreatedAt = table.GetAttributeValue("created_at", ""),
                        UpdatedAt = table.GetAttributeValue("updated_at", ""),
                    });
                }
            }

            return(result);
        }