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 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)
Exemple #4
0
    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()