Make importer more resilient
This commit is contained in:
parent
615d464045
commit
6ba3be2710
Binary file not shown.
|
|
@ -1,26 +1,24 @@
|
||||||
import structlog
|
|
||||||
from django.core.exceptions import PermissionDenied
|
|
||||||
from django.http import JsonResponse
|
|
||||||
from django.shortcuts import get_object_or_404
|
|
||||||
from rest_framework.decorators import api_view
|
|
||||||
|
|
||||||
from vbv_lernwelt.course.permissions import has_course_access_by_page_request
|
|
||||||
from vbv_lernwelt.edoniq_test.edoniq_sso import create_token
|
|
||||||
from vbv_lernwelt.learnpath.models import LearningContentEdoniqTest
|
|
||||||
|
|
||||||
logger = structlog.get_logger(__name__)
|
|
||||||
import csv
|
import csv
|
||||||
from datetime import date
|
from datetime import date
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
import structlog
|
||||||
from django.contrib.admin.views.decorators import staff_member_required
|
from django.contrib.admin.views.decorators import staff_member_required
|
||||||
|
from django.core.exceptions import PermissionDenied
|
||||||
from django.db.models import CharField, Q, Value
|
from django.db.models import CharField, Q, Value
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse, JsonResponse
|
||||||
|
from django.shortcuts import get_object_or_404
|
||||||
|
from rest_framework.decorators import api_view
|
||||||
|
|
||||||
from vbv_lernwelt.core.models import User
|
from vbv_lernwelt.core.models import User
|
||||||
from vbv_lernwelt.course.consts import COURSE_UK, COURSE_UK_FR, COURSE_UK_IT
|
from vbv_lernwelt.course.consts import COURSE_UK, COURSE_UK_FR, COURSE_UK_IT
|
||||||
from vbv_lernwelt.course.models import CourseSessionUser
|
from vbv_lernwelt.course.models import CourseSessionUser
|
||||||
|
from vbv_lernwelt.course.permissions import has_course_access_by_page_request
|
||||||
|
from vbv_lernwelt.edoniq_test.edoniq_sso import create_token
|
||||||
|
from vbv_lernwelt.learnpath.models import LearningContentEdoniqTest
|
||||||
|
|
||||||
|
logger = structlog.get_logger(__name__)
|
||||||
|
|
||||||
UK_COURSE_IDS = [COURSE_UK, COURSE_UK_FR, COURSE_UK_IT]
|
UK_COURSE_IDS = [COURSE_UK, COURSE_UK_FR, COURSE_UK_IT]
|
||||||
DEFAULT_EXCLUDED_DOMAINS = ["eiger-versicherung.ch", "assurance.ch", "example.com"]
|
DEFAULT_EXCLUDED_DOMAINS = ["eiger-versicherung.ch", "assurance.ch", "example.com"]
|
||||||
|
|
|
||||||
|
|
@ -368,6 +368,12 @@ def create_or_update_course_session_attendance(
|
||||||
start: datetime,
|
start: datetime,
|
||||||
end: datetime,
|
end: datetime,
|
||||||
):
|
):
|
||||||
|
logger.debug(
|
||||||
|
"create_or_update_course_session_attendance",
|
||||||
|
slug=f"{course_slug}-lp-circle-{circle_slug}",
|
||||||
|
start=start,
|
||||||
|
end=end,
|
||||||
|
)
|
||||||
csa, _created = CourseSessionAttendanceCourse.objects.get_or_create(
|
csa, _created = CourseSessionAttendanceCourse.objects.get_or_create(
|
||||||
course_session=cs, learning_content=attendance_course_lc
|
course_session=cs, learning_content=attendance_course_lc
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,7 @@ def try_parse_datetime(
|
||||||
"%Y-%m-%d %H:%M:%S",
|
"%Y-%m-%d %H:%M:%S",
|
||||||
"%Y-%m-%d %H:%M",
|
"%Y-%m-%d %H:%M",
|
||||||
"%d.%m.%Y, %H:%M",
|
"%d.%m.%Y, %H:%M",
|
||||||
|
"%d.%m.%Y, %H.%M",
|
||||||
],
|
],
|
||||||
dayfirst=True,
|
dayfirst=True,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue