def handle(self, *args, **options): priority = PRIORITY_DEFAULT if len(args): priority = int(args[0]) if priority < PRIORITY_DEFAULT or priority > PRIORITY_IMMEDIATE: raise CommandError('Invalid priority: %s' % priority) try: imp = Course.objects.queue_by_priority(priority) except EmptyQueueException as ex: self.update_job() return include_enrollment = True if (priority > PRIORITY_DEFAULT) else False try: builder = CourseBuilder(imp.queued_objects()) imp.csv_path = builder.build(include_enrollment=include_enrollment) 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 test_course_builder(self): builder = CourseBuilder() self.assertEquals(builder.build(), None) self.assertEquals(builder.include_enrollment, True) self.assertEquals(builder.build(include_enrollment=False), None) self.assertEquals(builder.include_enrollment, False)
def handle(self, *args, **options): priority = options.get('priority') try: imp = Course.objects.queue_by_priority(priority) except EmptyQueueException as ex: self.update_job() return include_enrollment = (priority > Course.PRIORITY_DEFAULT) try: builder = CourseBuilder(imp.queued_objects()) imp.csv_path = builder.build(include_enrollment=include_enrollment) except Exception: 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()