return uw.courses(subjects) except: print("Requesting subject {} info failed. Reconnecting...".format(subject, catalog_number)) time.sleep(0.5) def get_course_info(subject, catalog_number): while True: try: return uw.course(subject, catalog_number) except: print("Requesting {} {} info failed. Reconnecting...".format(subject, catalog_number)) time.sleep(0.5) if __name__ == "__main__": uw = UWaterlooAPI(api_key=key) subjects = uw.subject_codes() print("Number of subjects: {}".format(len(subjects))) i = 0 data = [] for subject_reponse in subjects: subject = subject_reponse["subject"] catalog_list = get_subject(subject) print("Number of course catalog ids for subject {} is: {}".format(subject, len(catalog_list))) for item in catalog_list: catalog_number = item["catalog_number"] course_info = get_course_info(subject, catalog_number) name = subject + " " + catalog_number course_info["name"] = name print("Course name: {}".format(name)) data.append(course_info)
# Initialize Logging logging.basicConfig(format="%(asctime)s %(message)s", level=logging.DEBUG) logging.debug("Connecting to %", DATABASE) if __name__ == "__main__": # Set UW API uw = UWaterlooAPI(api_key=KEY) uw_subjects = [] avail_codes = [TERM, HOLIDAYS, SCHEDULE, HELP] term_dates = {} term_dates[1159] = {"start_date": "2015-09-14", "end_date": "2015-12-22"} term_dates[1161] = {"start_date": "2016-01-04", "end_date": "2016-04-23"} term_dates[1165] = {"start_date": "2016-05-02", "end_date": "2016-08-13"} for course in uw.subject_codes(): uw_subjects.append(course.get("subject")) reddit = praw.Reddit(user_agent=USER_AGENT) reddit.login(LOGIN, PASSWORD) # Main loop while True: logging.debug("Loop") subreddit = reddit.get_subreddit(local_settings.PARAM_SUBREDDIT) subreddit_comments = subreddit.get_comments() current_term = uw.terms().get("current_term") term_dates.get(current_term) start_date = term_dates.get(current_term).get("start_date") end_date = term_dates.get(current_term).get("end_date")