diff --git a/bbcli/Services/ContentService.py b/bbcli/Services/ContentService.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b28b04f643122b019e912540f228c8ed20be9eeb 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 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..320178a01debff7674582489f72a19d877fdf62a 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)