|
|
|
|
@ -52,6 +52,7 @@ if __name__ == '__main__': |
|
|
|
|
|
|
|
|
|
with open('./course/vertex.csv') as vertex_csv: |
|
|
|
|
vertex_reader = csv.DictReader(vertex_csv) |
|
|
|
|
sort = 0 |
|
|
|
|
for row in vertex_reader: |
|
|
|
|
row = dict(row) |
|
|
|
|
model_type = row.pop('type', None) |
|
|
|
|
@ -59,9 +60,12 @@ if __name__ == '__main__': |
|
|
|
|
title = row.pop('title', None) |
|
|
|
|
pk = row.pop('id', None) |
|
|
|
|
try: |
|
|
|
|
materials = [File.objects.get(id=i).key for i in row.pop('materials', None).split("[")[1].split("]")[0].split(", ")] |
|
|
|
|
except IndexError: |
|
|
|
|
m = row.pop('materials', None) |
|
|
|
|
materials = [] |
|
|
|
|
if m: |
|
|
|
|
materials = [File.objects.get(id=i).key for i in m.split("[")[1].split("]")[0].split(", ")] |
|
|
|
|
except ValueError: |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
if model_type == 'topic': |
|
|
|
|
course = Course.objects.get(id=row.pop('course', None)) |
|
|
|
|
@ -73,9 +77,10 @@ if __name__ == '__main__': |
|
|
|
|
title=title, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
sort = 0 |
|
|
|
|
try: |
|
|
|
|
topic_id = row.pop('topic', None) |
|
|
|
|
if model_type == 'tutorial': |
|
|
|
|
topic = Topic.objects.get(id=row.pop('parent', None)) |
|
|
|
|
topic = Topic.objects.get(id=topic_id) |
|
|
|
|
small_vertex = Vertex.objects.create( |
|
|
|
|
id=pk, |
|
|
|
|
video=row.pop('video', None), |
|
|
|
|
@ -83,12 +88,13 @@ if __name__ == '__main__': |
|
|
|
|
topic=topic, |
|
|
|
|
description=description, |
|
|
|
|
title=title, |
|
|
|
|
token=''.join(random.choice(string.ascii_letters) for x in range(15)) |
|
|
|
|
) |
|
|
|
|
PivotVertex.objects.create(map_course=map_obj, vertex=small_vertex, sort=sort) |
|
|
|
|
sort += 1 |
|
|
|
|
|
|
|
|
|
if model_type == 'task': |
|
|
|
|
topic = Topic.objects.get(id=row.pop('parent', None)) |
|
|
|
|
topic = Topic.objects.get(id=topic_id) |
|
|
|
|
small_vertex = Vertex.objects.create( |
|
|
|
|
id=pk, |
|
|
|
|
materials=materials, |
|
|
|
|
@ -96,27 +102,9 @@ if __name__ == '__main__': |
|
|
|
|
description=description, |
|
|
|
|
title=title, |
|
|
|
|
valid_type=1, |
|
|
|
|
token=''.join(random.choice(string.ascii_letters) for x in range(15)) |
|
|
|
|
) |
|
|
|
|
PivotVertex.objects.create(map_course=map_obj, vertex=small_vertex, sort=sort) |
|
|
|
|
sort += 1 |
|
|
|
|
|
|
|
|
|
for course in Course.objects.all(): |
|
|
|
|
map_obj = CourseMap.objects.create(course=course) |
|
|
|
|
route_obj = CourseRoute.objects.create(name='''%s''' % course.title) |
|
|
|
|
course.route = route_obj |
|
|
|
|
sort = 0 |
|
|
|
|
for vertex in Vertex.objects.filter(course=course).order_by("object_id"): |
|
|
|
|
|
|
|
|
|
PivotVertex.objects.create(map_course=map_obj, vertex=vertex, sort=sort) |
|
|
|
|
sort += 1 |
|
|
|
|
|
|
|
|
|
for small_vertex in Vertex.objects.filter(course=course, content_type__model='tutorial', vertex=vertex).order_by("object_id"): |
|
|
|
|
PivotVertex.objects.create(map_course=map_obj, vertex=small_vertex, sort=sort) |
|
|
|
|
sort += 1 |
|
|
|
|
for small_vertex in Vertex.objects.filter(course=course, content_type__model='task', vertex=vertex).order_by("object_id"): |
|
|
|
|
PivotVertex.objects.create(map_course=map_obj, vertex=small_vertex, sort=sort) |
|
|
|
|
sort += 1 |
|
|
|
|
|
|
|
|
|
PivotCourseMap.objects.create(map_course=map_obj, route=route_obj, sort=0) |
|
|
|
|
|
|
|
|
|
course.save() |
|
|
|
|
except Topic.DoesNotExist: |
|
|
|
|
pass |