# -*- coding: utf-8 -*- import json import httpx class Processer: @staticmethod def process_course_data(course_res: httpx.Response) -> dict: res_course_data = json.loads(course_res.text) course_data = {"meta": res_course_data["meta"], "data": []} for course in res_course_data["data"]: course_data["data"].append( { "courseId": course["courseId"], "ownerId": course["ownerId"], "title": course["course"]["title"], } ) return course_data @staticmethod def process_lessons_data( username: str, lessons_res: httpx.Response, lessons_status_res: httpx.Response, ) -> dict: lessons_res_data = json.loads(lessons_res.text) lessons_status_res_data = json.loads(lessons_status_res.text) lessons_data = {"meta": lessons_res_data["meta"], "data": []} for lesson in lessons_res_data["data"]: lessons_data["data"].append( { "title": lesson["title"], "sectionId": lesson["id"], "category": lesson["category"], "chapterId": lesson["chapterId"], "courseId": lesson["courseId"], "ownerId": lesson["ownerId"], "parentId": lesson["parentId"], "id": lesson["id"], "username": username, } ) # add status lesson_status = [ i["sectionId"] for i in lessons_status_res_data["data"] ] for lesson in lessons_data["data"]: if lesson["sectionId"] in lesson_status: lesson["status"] = 1 else: lesson["status"] = 0 # sort by sectionId lessons_data["data"] = sorted( lessons_data["data"], key=lambda x: x["sectionId"] ) return lessons_data @staticmethod def process_section_data(section_data: dict, mcs_id: str) -> dict: post_data = {} post_data["action"] = 0 post_data["category"] = 2 post_data["chapterId"] = section_data["chapterId"] post_data["courseId"] = section_data["courseId"] post_data["ownerId"] = int(section_data["ownerId"]) post_data["parentId"] = mcs_id post_data["sectionId"] = section_data["sectionId"] post_data["username"] = section_data["username"] return post_data