Lesson.figures: fixed diagrams per lesson (stored once, served with the lesson); gen_lesson_figures; 3 calculus-12 lessons
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -95,6 +95,7 @@ def parse(raw: bytes) -> list[dict]:
|
||||
'intro_text': (lesson.get('introText') or ''),
|
||||
'example': str(lesson.get('example') or ''),
|
||||
'steps': [str(x) for x in (lesson.get('steps') or []) if str(x).strip()][:12],
|
||||
'figures': lesson.get('figures') or [],
|
||||
}
|
||||
for li, lesson in enumerate(lessons)
|
||||
],
|
||||
@@ -170,6 +171,9 @@ def import_curriculum(grades: list[dict]) -> dict:
|
||||
if lesson_row.get('steps') and not lesson.steps:
|
||||
lesson.steps = lesson_row['steps']
|
||||
changed.append('steps')
|
||||
if lesson_row.get('figures') and not lesson.figures:
|
||||
lesson.figures = lesson_row['figures']
|
||||
changed.append('figures')
|
||||
if changed:
|
||||
lesson.save(update_fields=changed)
|
||||
if not created:
|
||||
@@ -200,6 +204,7 @@ def export_curriculum(grades_queryset) -> dict:
|
||||
'title': lesson.title, 'introText': lesson.intro_text,
|
||||
**({'example': lesson.example} if lesson.example else {}),
|
||||
**({'steps': lesson.steps} if lesson.steps else {}),
|
||||
**({'figures': lesson.figures} if lesson.figures else {}),
|
||||
}
|
||||
for lesson in node.lessons.all()
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user