excel2moodle documentation — excel2moodle 0.3.4 documentation

# excel2moodle documentation

This Python program helps to create Moodle questions in less time.

The aim is to put alle the information for the questions into a spreadsheet file, and then parse it, to generate Moodle compliant XML-Files. Furthermore this program lets you create a single `.xml`-File with a selection of questions, that then can be imported to a Moodle-Test.

## Concept

The concept is, to store the different questions into categories of similar types and difficulties of questions, for each of which, a separated sheet in the Spreadsheet document should be created.

There Should be a sheet called “Kategorien”, where an overview over the different categories is stored. This sheet stores The names and descriptions, for all categories. The name have to be the same as the actual sheet names with the questions. Furthermore the points used for grading, are set in the “Kategorien” sheet

## Functionality

- Parse multiple Choice Questions, each into one XML file

- Parse Numeric Questions, each into one XML file

- create single XML File from a selection of questions

class excel2moodle.LogHandler(*args, **kwargs)

  Bases: `Handler`

  emit(record)

    Do whatever it takes to actually log the specified logging record.

    This version is intended to be implemented by subclasses and so raises a NotImplementedError.

    Return type:

      `None`

class excel2moodle.QSignaler

  Bases: `QObject`

  signal
  staticMetaObject = PySide6.QtCore.QMetaObject("QSignaler" inherits "QObject": Methods: #4 type=Signal, signature=signal(QString), parameters=QString )

# excel2moodle User Guide

> The User Guide (table of contents below) shows gives an overview over the relevant question Types and the relevant steps on how to produce them. The How-To section on the other hand gives a step-by-step explanation from filling the spreadsheet, to importing it to moodle.

- How To - Schritt für Schritt Anleitung
  - Excel2moodle unter Windows installieren
    - 1. Installation von Python
    - 2. Installation von pipx
    - 3. Installation von excel2moodle
    - 4. Starten von excel2moodle
  - Export einer Fragen-Auswahl aus Excel2moodle
  - Import einer Fragensammlung in Moodle
- User Guide
  - Writing questions into the spreadsheet
    - Question-type agnostic fields
    - Creating `MC` Questions
      - Example for a ``MC`` Question
    - Creating `NF` Questions
      - Example for a ``NF`` Question
    - Creating `NFM` Questions
      - Example for a ``NFM`` Question
  - Generating questions from the spreadsheet
  - Creating an exam question selection
  - Using the extra modules from the `Tools` section
    - Available extra functionality

# API documentation

- excel2moodle.extra package
  - Submodules
  - excel2moodle.extra.equationVerification module
    - Usage
    - `checkResult()`
    - `equationChecker()`
    - `main()`
- excel2moodle.core package
  - Submodules
  - excel2moodle.core.category module
    - `Category`
  - excel2moodle.core.dataStructure module
    - `QuestionDB`
  - excel2moodle.core.etHelpers module
    - `getCdatTxtElement()`
    - `getElement()`
    - `getFeedBEle()`
    - `getTextElement()`
  - excel2moodle.core.exceptions module
    - `InvalidFieldException`
    - `NanException`
    - `QNotParsedException`
  - excel2moodle.core.globals module
    - `DFIndex`
    - `TextElements`
    - `XMLTags`
  - excel2moodle.core.numericMultiQ module
    - `getVariablesDict()`
    - `getVarsList()`
    - `insertVariablesToBPoints()`
    - `parseNumericMultiQuestion()`
    - `setParameters()`
  - excel2moodle.core.parser module
    - `MCQuestionParser`
    - `NFMQuestionParser`
    - `NFQuestionParser`
    - `QuestionParser`
  - excel2moodle.core.question module
    - `Picture`
    - `Question`
  - excel2moodle.core.questionValidator module
    - `Validator`
  - excel2moodle.core.questionWriter module
    - `write_question_MC()`
    - `write_question_NF()`
  - excel2moodle.core.stringHelpers module
    - `getBase64Img()`
    - `getUnitsElementAsString()`
    - `get_bullet_string()`
    - `printDom()`
    - `stringToFloat()`
    - `stripWhitespace()`
    - `texWrapper()`
- excel2moodle.ui package
  - Submodules
  - excel2moodle.ui.appUi module
    - `EqCheckerWindow`
    - `MainWindow`
  - excel2moodle.ui.dialogs module
    - `QuestinoPreviewDialog`
    - `QuestionVariantDialog`
  - excel2moodle.ui.questionPreviewDialog module
    - `Ui_QuestionPrevDialog`
  - excel2moodle.ui.settings module
    - `Settings`
  - excel2moodle.ui.treewidget module
    - `CategoryItem`
    - `QuestionItem`
  - excel2moodle.ui.variantDialog module
    - `Ui_Dialog`
  - excel2moodle.ui.windowEquationChecker module
    - `Ui_EquationChecker`
  - excel2moodle.ui.windowMain module
    - `Ui_MoodleTestGenerator`

## Indices and Tables

- Index

- Module Index

- Search Page