feature/fix_generate_pass
Andrey 8 years ago
parent 2bdd98d505
commit 07658205ac
  1. 2
      csv/load_bills.py
  2. 40
      csv/load_courses.py
  3. 4
      csv/load_perm.py
  4. 8
      csv/load_storage.py
  5. 2
      finance/signals.py
  6. 2
      storage/models.py

@ -22,7 +22,7 @@ if __name__ == '__main__':
bill_kwarg = dict()
row = dict(row)
bill_kwarg['id'] = row.pop('id', None)
bill_kwarg['course'] = Course.objects.get(id=row.pop('course__id', None))
bill_kwarg['route'] = Course.objects.get(id=row.pop('course__id', None)).route.out_key
opener_id = row.pop('opener__id', None)
bill_kwarg['opener'] = get_user_model().objects.get(id=opener_id) if opener_id \
else get_user_model().objects.get(email="kate.gazukina@skillbox.ru")

@ -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

@ -21,15 +21,17 @@ if __name__ == '__main__':
vertex = None
try:
if row['type'] == 'lesson':
get_id = int(row['last_success_obj']) + 500
vertex = Vertex.objects.get(content_type__model='tutorial', object_id=row['last_success_obj'],
course=course)
elif row['type'] == 'homework':
get_id = int(row['last_success_obj']) +50
vertex = Vertex.objects.get(content_type__model='task', object_id=row['last_success_obj'],
course=course)
elif row['type'] == 'exam':
get_id = int(row['last_success_obj']) + 10000
get_id = int(row['last_success_obj'])
vertex = Vertex.objects.get(content_type__model='task', object_id=str(get_id), course=course)
except Vertex.DoesNotExist:

@ -1,5 +1,7 @@
import csv
import os
import random
import string
import sys
import django
@ -8,11 +10,13 @@ sys.path.append("../")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from storage.api import upload_file
from storage.models import File
if __name__ == '__main__':
File.objects.all().delete()
with open('./course/storage.csv') as storage_csv:
storage_reader = csv.DictReader(storage_csv)
for row in storage_reader:
if row['original']:
upload_file(original=row['original'])
key = ''.join(random.choice(string.ascii_letters) for _x in range(15))
File.objects.create(original=row['original'], id=row['id'], key=key)

@ -57,7 +57,7 @@ def invoice_signal(instance, **kwargs):
решить проблему самостоятельно, ответьте на это письмо,
постарайтесь подробно описать последовательность действий,
которая привела к ошибке"""
% (instance.bill.user.get_full_name(), instance.bill.course.title, instance.id),
% (instance.bill.user.get_full_name(), instance.bill.route.title, instance.id),
instance.bill.opener.email,
reply_to=["it@skillbox.ru"]
)

@ -20,7 +20,7 @@ class FileManager(models.Manager):
class File(models.Model):
key = models.CharField(max_length=15, verbose_name="Внешний ключ", unique=True)
key = models.CharField(max_length=15, verbose_name="Внешний ключ", unique=True, editable=False)
original = models.FileField(max_length=255, verbose_name='Файл', upload_to="files")
name = models.CharField(max_length=255, null=True, blank=True, verbose_name='Видимое имя файла')

Loading…
Cancel
Save