From 5657149fe3bcf054618b6266883f4a731381e2ea Mon Sep 17 00:00:00 2001 From: magnus2142 <magnus.bredeli@hotmail.com> Date: Wed, 23 Mar 2022 18:55:20 +0100 Subject: [PATCH] created structure --- bbcli/Services/ContentService.py | 3 +++ bbcli/Services/CourseService.py | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/bbcli/Services/ContentService.py b/bbcli/Services/ContentService.py index e69de29..b28b04f 100644 --- a/bbcli/Services/ContentService.py +++ b/bbcli/Services/ContentService.py @@ -0,0 +1,3 @@ + + + diff --git a/bbcli/Services/CourseService.py b/bbcli/Services/CourseService.py index e69de29..320178a 100644 --- a/bbcli/Services/CourseService.py +++ b/bbcli/Services/CourseService.py @@ -0,0 +1,23 @@ +import json +from typing import Dict, Any +import requests + + +# TODO: use /term endpoint to determine whether the course is an active term +def list_courses(cookies: Dict, user_name: str) -> Any: + response = requests.get('https://ntnu.blackboard.com/learn/api/public/v1/users/userName:{}/courses'.format(user_name), cookies=cookies) + courses = json.loads(response.text)['results'] + detailed_course_list = [] + for course in courses: + detailed_course = list_course(cookies=cookies, course_id=course['courseId']) + detailed_course_list.append(detailed_course) + + return detailed_course_list + +def list_course(cookies: Dict, course_id:str) -> Any: + response = requests.get('https://ntnu.blackboard.com/learn/api/public/v3/courses/{}'.format(course_id), cookies=cookies) + return json.loads(response.text) + +def list_favorite_courses(cookies: Dict, user_name: str) -> Any: + return "Blackboard rest api do not have an option for this yet" + # response = requests.get('https://ntnu.blackboard.com/learn/api/public/v1/users/userName:{}/courses'.format(user_name), cookies=cookies) -- GitLab