def __init__(self): try: with open("courses.json") as f: courses_list = json.load(f) self.courses = [] for course_dict in courses_list: new_course = Course() new_course.from_dict(course_dict) self.courses += [new_course] except FileNotFoundError: self.courses = []
async def cinfo(self, ctx, *args): """Displays UCI Course Info. Usage: `.cinfo INF 133`""" start_time = time.time() mongo_courses = self.bot.mongo_courses db = self.bot.db whole_course = [i.upper() for i in list(args) if i != ''] if 2 <= len(whole_course) <= 3: dept_name = whole_course[0] course_number = whole_course[1] if len(whole_course) == 3: dept_name = ' '.join(whole_course[0:2]) course_number = whole_course[2] course_dict = mongo_courses.find_one({'_id': dept_name}) if course_dict is None: alias = db.aliases.find_one({'_id': dept_name}) if alias is not None: dept_name = alias['original'] course_dict = mongo_courses.find_one({'_id': dept_name}) if course_dict is not None and course_number in course_dict: course = Course.from_dict(dept_name, course_dict[course_number]) embed = course.to_embed() elapsed_time = time.time() - start_time embed.set_footer(text=f'Processed in {elapsed_time}s') await ctx.message.channel.send(embed=embed) else: await ctx.message.channel.send( f'{" ".join(list(args))} couldn\'t be found.')