🎓 moodle-to-vikwikiquiz
📖 About
A CLI for converting graded and downloaded Moodle quizzes to a vik.viki quiz wikitext.
📥 Installation
🌍 Global
-
If using Linux: follow these steps.
-
Run the following command in the terminal:
uv tool install moodle-to-vikwikiquiz
🏠 Local
🛠️ Executable zipapp
-
Download the
.pyzfile of the latest release from here. -
Run the following commands in the terminal:
chmod +x moodle-to-vikwikiquiz_x.x.x.pyz ./moodle-to-vikwikiquiz_x.x.x.pyz [parameters]
🧑💻 Usage
moodle-to-vikwikiquiz [--verbose|-v] [--new|-n] [--recursive|-r] source_path
Parameters:
--new: Create a new quiz on vik.wiki by automatically opening an edit page for the new article.--recursive: Import HTML files from the current directory recursively.source_path: The absolute or relative path of the file or directory where the Moodle quiz HTML files are located. These HTML files should contain the Review page of the quizzes.
Always check and correct the output before submitting it to the wiki! This includes uploading all images and adding their filenames to the quiz manually.
📋 Features
- Imports multiple HTML files at once (recursively, if desired)
- Supports true or false, single and multiple choice questions
- Opens an existing article or creates a new one on vik.wiki with the edit summary pre-filled
- Formats LaTeX equations as wikitext
- Adds the only remaining correct answer automatically if it can be determined from the grade
- Asks for correct answers if it can't be determined from a graded question
- Deduplicates questions with the same text
- Prepares illustrations for batch upload
- If they are unavailable: creates placeholders for them
- Copies the generated wikitext to the clipboard
🏫 Compatibility
| file format | tested | can it be imported? |
|---|---|---|
.html |
✅ | ✅ |
.webarchive |
yes, except illustrations | ✅ |
.mhtml |
❌ | maybe |
| all others | ❌ | maybe |
| Moodle instance | tested | can it import a quiz from there? |
|---|---|---|
| BME VIK | ✅ | ✅ |
| BME VIK HIT | ❌ | ❌ |
| BME GTK | ✅ | ✅ |
| Moodle language | is it understood by the app? |
|---|---|
| Hungarian | ✅ |
| English | ✅ |
| German | ❌ |
⏫ Updating
Run the following command in the terminal:
uv tool upgrade --all
If you want this to run automatically, create a cron job:
-
Open the
crontabfile:crontab -e -
Add this line to the beginning of the file:
PATH=~/.local/bin
If there is already a line beginning with
PATH=, add:~/.local/binto the end of it. -
Add the following line to the end of the file:
@daily uv tool upgrade --all
You may replace
@dailywith@weeklyor@monthly.
🧑💻 Development
⌨️ Developing
- Create a
venv:uv venv - Activate the
venvin your IDE - Install the dependencies:
uv sync --extra dev
📤 Release
🛠️ Setup
- Install
vermin:uv tool install vermin
- Check the minimum Python version:
vermin --backport argparse --backport enum --backport typing_extensions --eval-annotations .
- If the result is higher than the one in
pyproject.toml, update it. - Bump the version number:
uv version --bump [major|minor|patch]
- Commit and push the changes
🏗️ Building
To build a repruducible zipapp (.pyz):
- Install
shiv:uv tool install shiv
- Create the executable:
shiv --entry-point moodle_to_vikwikiquiz.main:main --output-file moodle-to-vikwikiquiz.pyz --reproducible .
- Optional: compare its hash with the one of the latest release.
📜 License
This project is licensed under the GNU General Public License v3.0. See the license file (or the GPL-3.0 license tab on GitHub) for its full text.
Metadata
Release files for moodle-to-vikwikiquiz 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| moodle_to_vikwikiquiz-2.1.0.tar.gz | 18.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moodle_to_vikwikiquiz-2.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.7 kB
Release files / moodle_to_vikwikiquiz-2.1.0.tar.gz
| Download URL | moodle_to_vikwikiquiz-2.1.0.tar.gz |
|---|---|
| Size | 18.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a752ebec2e22201d429f058e2d732adf4c8ee02bd2cd17dac07017584fe009e2
|
|
BLAKE2b-256 checksum How to use checksums |
a5da9a8733bfd5d6b70ac03c33eff375bd2ab551aafc8fe9f14e23e5dd3e6bef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.22
|
Release files / moodle_to_vikwikiquiz-2.1.0-py3-none-any.whl
| Download URL | moodle_to_vikwikiquiz-2.1.0-py3-none-any.whl |
|---|---|
| Size | 20.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
22e4bf5153a06f65302eae723c32dc7ada34b81c4f1794e6e6da3c48ebd2db07
|
|
BLAKE2b-256 checksum How to use checksums |
1c9dc4a386e450361ecbe5984f9b5a011f84232a37802c7d5ec11897b7478f70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.22
|