You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.3 KiB
35 lines
1.3 KiB
import os, sys, django, csv
|
|
|
|
sys.path.append("../")
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
|
|
django.setup()
|
|
|
|
from django.contrib.auth import get_user_model
|
|
from access.models import Progress
|
|
from courses.models import Vertex
|
|
|
|
if __name__ == '__main__':
|
|
with open('./access/progress.csv') as progress_csv:
|
|
progress_reader = csv.DictReader(progress_csv)
|
|
for row in progress_reader:
|
|
vertex = None
|
|
if row['type'] == 'lesson':
|
|
vertex = Vertex.objects.get(content_type__model='tutorial', object_id=row['last_success_obj'])
|
|
|
|
elif row['type'] == 'homework':
|
|
vertex = Vertex.objects.get(content_type__model='task', object_id=row['last_success_obj'])
|
|
|
|
elif row['type'] == 'exam':
|
|
get_id = int(row['last_success_obj'])+10000
|
|
vertex = Vertex.objects.get(content_type__model='task', object_id=str(get_id))
|
|
|
|
if vertex:
|
|
try:
|
|
Progress.objects.get_or_create(
|
|
user=get_user_model().objects.get(id=row['user']),
|
|
course_id=row['course'],
|
|
active_obj=vertex.get_next()
|
|
)
|
|
|
|
except get_user_model().DoesNotExist:
|
|
print(row['user']) |