From e92b44c7d8a93af3a8db756b78c842085a7c6871 Mon Sep 17 00:00:00 2001 From: lukew3 Date: Sun, 21 Feb 2021 13:14:13 -0500 Subject: [PATCH] Removed worksheet generation from the scope of this package --- README.md | 19 +++++++++++-------- mathgenerator/mathgen.py | 31 ------------------------------- setup.py | 4 ++-- ws.pdf | Bin 9421 -> 0 bytes 4 files changed, 13 insertions(+), 41 deletions(-) delete mode 100644 ws.pdf diff --git a/README.md b/README.md index 430db33..f0b9f3d 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ If you have an idea for a generator, please add it as an issue and tag it with t ## Table of Contents * [Installation](#installation) * [Basic Usage](#basic-usage) - * [More Complicated Usage](#more-complicated-usage) + * [Creating a worksheet](#more-complicated-usage) * [Documentation](#documentation) * [List of Generators](#list-of-generators) * [algebra](#algebra) @@ -41,17 +41,20 @@ problem, solution = mathgen.addition() #another way to generate an addition problem using genById() problem, solution = mathgen.genById(0) ``` -### More Complicated Usage - +### Creating a worksheet +If you wish to create a worksheet, you can use the `worksheetgen` package. Install this with `pip install worksheetgen`. Here is an example of how a worksheet would be generated. ``` -import sys from mathgenerator import mathgen +from worksheetgen.wg import Worksheet -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) +worksheet = Worksheet("Worksheet title") +worksheet.add_instruction("Instructions") +# Writes 10 problems generated with id 1, [0] at the end specifies to take problem, and not solution. +for _ in range(10): + worksheet.add_problem(mathgen.genById(1)[0]) +worksheet.write_pdf() ``` +This creates the pdf `ws.pdf` in your current directory ## Documentation * `getGenList()` returns a list of all generators in the repository in the format `[id, title, self, funcname, subjectname]` diff --git a/mathgenerator/mathgen.py b/mathgenerator/mathgen.py index 55c1839..de0b45b 100644 --- a/mathgenerator/mathgen.py +++ b/mathgenerator/mathgen.py @@ -9,34 +9,3 @@ genList = getGenList() def genById(id, *args, **kwargs): generator = genList[id][2] return (generator(*args, **kwargs)) - - -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): - 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) diff --git a/setup.py b/setup.py index 78276f7..e4873c5 100644 --- a/setup.py +++ b/setup.py @@ -1,12 +1,12 @@ from setuptools import setup, find_packages setup(name='mathgenerator', - version='1.1.12', + version='1.1.13', description='An open source solution for generating math problems', url='https://github.com/lukew3/mathgenerator', author='Luke Weiler', author_email='lukew25073@gmail.com', license='MIT', packages=find_packages(), - install_requires=['sympy', 'numpy', 'scipy', 'worksheetgen'], + install_requires=['sympy', 'numpy', 'scipy'], entry_points={}) diff --git a/ws.pdf b/ws.pdf deleted file mode 100644 index 24b9401c947837c81f25f295407ba122ab9c54a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9421 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