feature/fix_generate_pass
Andrey 8 years ago
parent 2bdd98d505
commit 07658205ac
  1. 2
      csv/load_bills.py
  2. 86
      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() bill_kwarg = dict()
row = dict(row) row = dict(row)
bill_kwarg['id'] = row.pop('id', None) 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) opener_id = row.pop('opener__id', None)
bill_kwarg['opener'] = get_user_model().objects.get(id=opener_id) if opener_id \ 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") 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: with open('./course/vertex.csv') as vertex_csv:
vertex_reader = csv.DictReader(vertex_csv) vertex_reader = csv.DictReader(vertex_csv)
sort = 0
for row in vertex_reader: for row in vertex_reader:
row = dict(row) row = dict(row)
model_type = row.pop('type', None) model_type = row.pop('type', None)
@ -59,9 +60,12 @@ if __name__ == '__main__':
title = row.pop('title', None) title = row.pop('title', None)
pk = row.pop('id', None) pk = row.pop('id', None)
try: try:
materials = [File.objects.get(id=i).key for i in row.pop('materials', None).split("[")[1].split("]")[0].split(", ")] m = row.pop('materials', None)
except IndexError:
materials = [] 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': if model_type == 'topic':
course = Course.objects.get(id=row.pop('course', None)) course = Course.objects.get(id=row.pop('course', None))
@ -73,50 +77,34 @@ if __name__ == '__main__':
title=title, title=title,
) )
sort = 0 try:
if model_type == 'tutorial': topic_id = row.pop('topic', None)
topic = Topic.objects.get(id=row.pop('parent', None)) if model_type == 'tutorial':
small_vertex=Vertex.objects.create( topic = Topic.objects.get(id=topic_id)
id=pk, small_vertex = Vertex.objects.create(
video=row.pop('video', None), id=pk,
materials=materials, video=row.pop('video', None),
topic=topic, materials=materials,
description=description, topic=topic,
title=title, description=description,
) title=title,
PivotVertex.objects.create(map_course=map_obj, vertex=small_vertex, sort=sort) token=''.join(random.choice(string.ascii_letters) for x in range(15))
sort += 1 )
PivotVertex.objects.create(map_course=map_obj, vertex=small_vertex, sort=sort)
if model_type == 'task': sort += 1
topic = Topic.objects.get(id=row.pop('parent', None))
small_vertex=Vertex.objects.create( if model_type == 'task':
id=pk, topic = Topic.objects.get(id=topic_id)
materials=materials, small_vertex = Vertex.objects.create(
topic=topic, id=pk,
description=description, materials=materials,
title=title, topic=topic,
valid_type=1, description=description,
) title=title,
PivotVertex.objects.create(map_course=map_obj, vertex=small_vertex, sort=sort) valid_type=1,
sort += 1 token=''.join(random.choice(string.ascii_letters) for x in range(15))
)
for course in Course.objects.all(): PivotVertex.objects.create(map_course=map_obj, vertex=small_vertex, sort=sort)
map_obj = CourseMap.objects.create(course=course) sort += 1
route_obj = CourseRoute.objects.create(name='''%s''' % course.title) except Topic.DoesNotExist:
course.route = route_obj pass
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()

@ -21,15 +21,17 @@ if __name__ == '__main__':
vertex = None vertex = None
try: try:
if row['type'] == 'lesson': 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'], vertex = Vertex.objects.get(content_type__model='tutorial', object_id=row['last_success_obj'],
course=course) course=course)
elif row['type'] == 'homework': 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'], vertex = Vertex.objects.get(content_type__model='task', object_id=row['last_success_obj'],
course=course) course=course)
elif row['type'] == 'exam': 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) vertex = Vertex.objects.get(content_type__model='task', object_id=str(get_id), course=course)
except Vertex.DoesNotExist: except Vertex.DoesNotExist:

@ -1,5 +1,7 @@
import csv import csv
import os import os
import random
import string
import sys import sys
import django import django
@ -8,11 +10,13 @@ sys.path.append("../")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup() django.setup()
from storage.api import upload_file from storage.models import File
if __name__ == '__main__': if __name__ == '__main__':
File.objects.all().delete()
with open('./course/storage.csv') as storage_csv: with open('./course/storage.csv') as storage_csv:
storage_reader = csv.DictReader(storage_csv) storage_reader = csv.DictReader(storage_csv)
for row in storage_reader: for row in storage_reader:
if row['original']: 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, instance.bill.opener.email,
reply_to=["it@skillbox.ru"] reply_to=["it@skillbox.ru"]
) )

@ -20,7 +20,7 @@ class FileManager(models.Manager):
class File(models.Model): 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") original = models.FileField(max_length=255, verbose_name='Файл', upload_to="files")
name = models.CharField(max_length=255, null=True, blank=True, verbose_name='Видимое имя файла') name = models.CharField(max_length=255, null=True, blank=True, verbose_name='Видимое имя файла')

Loading…
Cancel
Save