def test_term_before(self): with self.settings(RESTCLIENTS_SWS_DAO_CLASS=SWSF, RESTCLIENTS_PWS_DAO_CLASS=PWSF): starting = get_next_term() self.assertEquals(starting.year, 2013) self.assertEquals(starting.quarter, 'summer') next1 = get_term_before(starting) self.assertEquals(next1.year, 2013) self.assertEquals(next1.quarter, 'spring') next2 = get_term_before(next1) self.assertEquals(next2.year, 2013) self.assertEquals(next2.quarter, 'winter') next3 = get_term_before(next2) self.assertEquals(next3.year, 2012) self.assertEquals(next3.quarter, 'autumn')
def test_quarter_before(self): with self.settings( RESTCLIENTS_SWS_DAO_CLASS='restclients.dao_implementation.sws.File', RESTCLIENTS_PWS_DAO_CLASS='restclients.dao_implementation.pws.File'): starting = get_next_term() self.assertEquals(starting.year, 2013) self.assertEquals(starting.quarter, 'summer') next1 = get_term_before(starting) self.assertEquals(next1.year, 2013) self.assertEquals(next1.quarter, 'spring') next2 = get_term_before(next1) self.assertEquals(next2.year, 2013) self.assertEquals(next2.quarter, 'winter') next3 = get_term_before(next2) self.assertEquals(next3.year, 2012) self.assertEquals(next3.quarter, 'autumn')
def test_term_before(self): with self.settings( RESTCLIENTS_SWS_DAO_CLASS=SWSF, RESTCLIENTS_PWS_DAO_CLASS=PWSF): starting = get_next_term() self.assertEquals(starting.year, 2013) self.assertEquals(starting.quarter, 'summer') next1 = get_term_before(starting) self.assertEquals(next1.year, 2013) self.assertEquals(next1.quarter, 'spring') next2 = get_term_before(next1) self.assertEquals(next2.year, 2013) self.assertEquals(next2.quarter, 'winter') next3 = get_term_before(next2) self.assertEquals(next3.year, 2012) self.assertEquals(next3.quarter, 'autumn')
def handle(self, *args, **options): if len(args): (year, quarter) = args[0].split('-') target_term = get_term_by_year_and_quarter(year, quarter) else: curr_date = datetime.now().date() curr_term = get_term_by_date(curr_date) if curr_date < curr_term.census_day: self.update_job() return target_term = get_term_before(get_term_before(curr_term)) term_sis_id = target_term.canvas_sis_id() try: imp = Term.objects.queue_unused_courses(term_sis_id) except EmptyQueueException: self.update_job() return try: imp.csv_path = generate_unused_course_csv(term_sis_id) except: imp.csv_errors = traceback.format_exc() imp.save() try: imp.import_csv() except MissingImportPathException as ex: if not imp.csv_errors: imp.delete() self.update_job()
def get_term_before(self, aterm): deprecation("Use restclients.sws.term.get_term_before") from restclients.sws.term import get_term_before return get_term_before(aterm)
def get_previous_quarter(request): """ for the current quarter refered in the user session. """ return get_term_before(get_current_quarter(request))
def get_last_term(request): return get_term_before(get_current_quarter(request))