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

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'])