--- /dev/null
+__pycache__
--- /dev/null
+Break learning up into small task-based tests for focused study.
+
+Tests can be defined with prerequites so a student wishing to learn a
+higher level task, but out of their depth with the task itself, can
+easily go back through the basics.
--- /dev/null
+#!/usr/bin/env python
+
+import quizzer.cli
+
+
+quizzer.cli.main()
--- /dev/null
+"""Break learning up into small task-based tests for focused study
+"""
+
+import logging as _logging
+
+
+__version__ = '0.1'
+
+LOG = _logging.getLogger(__name__)
+LOG.setLevel(_logging.ERROR)
--- /dev/null
+import argparse as _argparse
+
+from . import __doc__ as _module_doc
+from . import __version__
+from . import quiz as _quiz
+
+
+def main():
+ parser = _argparse.ArgumentParser(description=_module_doc)
+ parser.add_argument(
+ '--version', action='version',
+ version='%(prog)s {}'.format(__version__))
+ parser.add_argument(
+ 'quiz', metavar='QUIZ',
+ help='path to a quiz file')
+
+ args = parser.parse_args()
+
+ quiz = Quiz()
+ quiz.load(args.quiz)
+ for question in quiz:
+ print(question)
--- /dev/null
+class Question (object):
+ def __init__(self, prompt=None, answer=None, help=None):
+ self.prompt = prompt
+ self.answer = answer
+ self.help = help
+
+ def check(self, answer):
+ return answer == self.answer
+
--- /dev/null
+class Quiz (list):
+ def __init__(self, questions=None):
+ if questions is None:
+ questions = []
+ super(Quiz, self).__init__(questions)
+
+ def load(self):
+ pass
+
+ def save(self):
+ pass