diff --git a/bbcli/controllers/announcement_controller.py b/bbcli/controllers/announcement_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..c43810c9611b288d90adfa19460609a4087b13f5 --- /dev/null +++ b/bbcli/controllers/announcement_controller.py @@ -0,0 +1,41 @@ +from email.policy import default +import click +from bbcli.services import announcement_service +from bbcli.views import announcement_view +import os +import requests + +from bbcli.utils.utils import set_cookies, set_headers + +@click.command(name='announcements') +@click.argument('course_id', required=False) +@click.argument('announcement_id', required=False) +def list_announcements(course_id=None, announcement_id=None): + + """ + This command lists your announcements. + Either all announcements, all announcements from a spesific course, or one announcement. + """ + + bb_cookie = { + 'name':'BbRouter', + 'value': os.getenv("BB_ROUTER") + } + xsrf = {'X-Blackboard-XSRF': os.getenv('XSRF')} + user_name = os.getenv('BB_USERNAME') + + session = requests.Session() + set_cookies(session, [bb_cookie]) + set_headers(session, [xsrf]) + + response = None + + if announcement_id: + response = announcement_service.list_announcement(session, course_id, announcement_id) + announcement_view.print_course_announcements([response]) + elif course_id: + response = announcement_service.list_course_announcements(session, course_id) + announcement_view.print_course_announcements(response) + else: + response = announcement_service.list_announcements(session, user_name) + announcement_view.print_announcements(response) diff --git a/bbcli/controllers/course_controller.py b/bbcli/controllers/course_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..9a919341c20b031cf4d4d03c7f9f83bb92510c78 --- /dev/null +++ b/bbcli/controllers/course_controller.py @@ -0,0 +1,41 @@ +from email.policy import default +import click +from bbcli.services import course_service +from bbcli.views import course_view +import os +import requests +from bbcli.utils.utils import set_cookies, set_headers + + +#, help='List a spesific course with the corresponding id' +@click.command(name='courses') +@click.argument('course_id', required=False) +@click.option('-a', '--all/--no-all', 'show_all', default=False, help='Lists all courses you have ever been signed up for') +def list_courses(course_id=None, show_all=False): + + """ + This command lists your courses, by default only the courses from + two last semesters + """ + + bb_cookie = { + 'name':'BbRouter', + 'value': os.getenv("BB_ROUTER") + } + user_name = os.getenv('BB_USERNAME') + + session = requests.Session() + set_cookies(session, [bb_cookie]) + + response = None + + if course_id: + response = course_service.list_course(session=session, course_id=course_id) + course_view.print_course(response) + else: + if show_all: + response = course_service.list_all_courses(session=session, user_name=user_name) + else: + response = course_service.list_courses(session=session, user_name=user_name) + course_view.print_courses(response) +