support worksheets with multiple tasks in them

This commit is contained in:
Mateusz Konieczny
2020-11-21 08:51:30 +01:00
parent 43c49c9252
commit 42cbded063
2 changed files with 36 additions and 7 deletions

View File

@@ -30,8 +30,19 @@ problem, solution = mathgen.genById(0)
`genById(id)` generates a problem, solution set with generator id `id` in the form of a list in the format `[problem, solution]`
`makePdf(id, count)` creates a printable pdf worksheet with `count` problems generated by the generator with id `id`.
`make_pdf(id, count)` creates a printable pdf worksheet with `count` problems generated by the generator with id `id`.
### More complicated worksheets
```
import sys
from mathgenerator import mathgen
worksheet = mathgen.make_worksheet("2020-11-29")
mathgen.add_section_with_task_to_worksheet(worksheet, 105, 5)
mathgen.add_section_with_task_to_worksheet(worksheet, 2, 5)
mathgen.write_pdf(worksheet)
```
## List of Generators

View File

@@ -11,10 +11,28 @@ def genById(id):
return (generator())
def makePdf(id, count):
generator = genList[id][2]
title = genList[id][1]
ws = Worksheet(title=title)
def make_worksheet(title):
return Worksheet(title=title)
def write_pdf(worksheet):
worksheet.write_pdf()
def add_section_title(worksheet, task_id):
title = genList[task_id][1]
worksheet.add_instruction(title)
def add_task_to_worksheet(worksheet, task_id, count):
generator = genList[task_id][2]
for i in range(count):
ws.add_problem(generator()[0])
ws.write_pdf()
worksheet.add_problem(generator()[0])
def add_section_with_task_to_worksheet(worksheet, task_id, count):
add_section_title(worksheet, task_id)
add_task_to_worksheet(worksheet, task_id, count)
def make_pdf(task_id, count):
title = genList[task_id][1]
worksheet = make_worksheet(title)
add_task_to_worksheet(worksheet, task_id, count)
write_pdf(worksheet)