excel2moodle 0.6.1__py3-none-any.whl → 0.6.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- excel2moodle/core/category.py +24 -6
- excel2moodle/core/dataStructure.py +116 -27
- excel2moodle/core/etHelpers.py +0 -20
- excel2moodle/core/globals.py +0 -9
- excel2moodle/core/parser.py +21 -13
- excel2moodle/core/question.py +43 -23
- excel2moodle/core/settings.py +11 -4
- excel2moodle/extra/equationVerification.py +0 -2
- excel2moodle/question_types/cloze.py +116 -83
- excel2moodle/question_types/mc.py +15 -10
- excel2moodle/question_types/nf.py +7 -1
- excel2moodle/question_types/nfm.py +14 -10
- excel2moodle/ui/UI_exportSettingsDialog.py +60 -14
- excel2moodle/ui/appUi.py +21 -7
- excel2moodle/ui/dialogs.py +12 -0
- {excel2moodle-0.6.1.dist-info → excel2moodle-0.6.2.dist-info}/METADATA +46 -19
- excel2moodle-0.6.2.dist-info/RECORD +39 -0
- excel2moodle-0.6.1.dist-info/RECORD +0 -39
- {excel2moodle-0.6.1.dist-info → excel2moodle-0.6.2.dist-info}/WHEEL +0 -0
- {excel2moodle-0.6.1.dist-info → excel2moodle-0.6.2.dist-info}/entry_points.txt +0 -0
- {excel2moodle-0.6.1.dist-info → excel2moodle-0.6.2.dist-info}/licenses/LICENSE +0 -0
- {excel2moodle-0.6.1.dist-info → excel2moodle-0.6.2.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: excel2moodle
|
3
|
-
Version: 0.6.
|
3
|
+
Version: 0.6.2
|
4
4
|
Summary: A package for converting questions from a spreadsheet, to valid moodle-xml
|
5
5
|
Author: Jakob Bosse
|
6
6
|
License-Expression: GPL-3.0-or-later
|
@@ -17,16 +17,20 @@ Requires-Dist: lxml>=5.4.0
|
|
17
17
|
Requires-Dist: asteval>=1.0.6
|
18
18
|
Requires-Dist: python-calamine>=0.3.2
|
19
19
|
Requires-Dist: pyside6-essentials>=6.8.0
|
20
|
+
Requires-Dist: pyyaml>=6.0.2
|
20
21
|
Dynamic: license-file
|
21
22
|
|
22
23
|
# excel 2 Moodle
|
23
|
-
{width=35%}
|
24
|
+
{width=35%}
|
24
25
|
|
25
|
-
|
26
|
-
The idea is to write the questions data into a spreadsheet file, from which the
|
27
|
-
All questions or a selection of questions can
|
26
|
+
*excel2moodle* helps to create Moodle questions in less time.
|
27
|
+
The idea is to write the questions data into a spreadsheet file, from which the *excel2moodle* generates moodle compliant xml Files.
|
28
|
+
All questions or a selection of questions can then be imported into moodle.
|
28
29
|
|
29
30
|
## Concept
|
31
|
+
At the heart the *excel2moodle* is a simple key-value-pair "syntax", where the key is set once in the first spreadsheet column.
|
32
|
+
Each key can be provided with a value for each question in its column
|
33
|
+
To enhance reusability, key values which are correct for more than one question can be set per category or for all questions.
|
30
34
|
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.
|
31
35
|
|
32
36
|
A `settings` sheet contains global settings to be used for all questions and categories.
|
@@ -41,33 +45,38 @@ If you already have python and uv installed, it is as easy as running `uv tool i
|
|
41
45
|
|
42
46
|
### [ Documentation ](https://jbosse3.gitlab.io/excel2moodle/index.html)
|
43
47
|
Once excel2moodle is installed you can checkout the [example question sheet](https://gitlab.com/jbosse3/excel2moodle/-/tree/master/example?ref_type=heads)
|
44
|
-
in the repository.
|
48
|
+
in the repository. You need to download all Files in the `example` directory and save them together.
|
45
49
|
|
46
|
-
|
50
|
+
Most steps are already documented as [ tutorials ](https://jbosse3.gitlab.io/excel2moodle/howto.html)
|
47
51
|
you can follow along.
|
48
52
|
|
49
53
|
And please have a look into the [**user Reference**](https://jbosse3.gitlab.io/excel2moodle/userReference.html)
|
50
54
|
of the documentation.
|
51
|
-
That part explains each part of defining a question.
|
55
|
+
That part explains in more detail each part of defining a question.
|
52
56
|
|
53
57
|
|
54
|
-
##
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
+
## Features
|
59
|
+
- Fully parametrized numeric questions:
|
60
|
+
* Formulas for the calculated results can be coded into extensive python modules, which can be loaded.
|
61
|
+
- Question Preview:
|
58
62
|
+ This helps you when selecting the correct questions for the export.
|
59
|
-
|
63
|
+
- Equation Verification:
|
64
|
+
+ this tool helps you to validate the correct equation for the parametrized Questions.
|
65
|
+
- Variable Generation:
|
66
|
+
+ You can generate variables for the parametric Question to easily create hundreds of different variants of the same question.
|
67
|
+
- Export Options:
|
60
68
|
+ you can export the questions preserving the categories in moodle
|
61
69
|
|
62
70
|
### Question Types
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
*
|
71
|
+
- Generate multiple Choice Questions:
|
72
|
+
* The answers can be pictures or normal text
|
73
|
+
- Generate Numeric Questions
|
74
|
+
- Generate parametrized numeric Questions:
|
75
|
+
* With the parametrization *excel2moodle* calculats the numeric answer from a given formula based on a set of variables.
|
76
|
+
- Generate parametrized cloze Questions
|
68
77
|
|
69
78
|
|
70
|
-
{width=80%}
|
79
|
+
{width=80%}
|
71
80
|
|
72
81
|
## Licensing and authorship
|
73
82
|
excel2moodle is lincensed under the latest [GNU GPL license](https://gitlab.com/jbosse3/excel2moodle/-/blob/master/LICENSE)
|
@@ -81,6 +90,24 @@ If You want to support my work as well, you can by me a [coffee](https://ko-fi.c
|
|
81
90
|
|
82
91
|
# Changelogs
|
83
92
|
|
93
|
+
## 0.6.2 (2025-08-02)
|
94
|
+
Adding export options and fixing cloze points bug
|
95
|
+
|
96
|
+
### feature (4 changes)
|
97
|
+
|
98
|
+
- [Added export options to include all Question Variants and generate report](https://gitlab.com/jbosse3/excel2moodle/-/commit/6433615de23174451748b69669a9dce748dd5b4d)
|
99
|
+
- [Implemented export dialog generator method](https://gitlab.com/jbosse3/excel2moodle/-/commit/a8eda982309bf9a6dae7ef2b261a59654f2c8910)
|
100
|
+
- [Answer Feedback strings settable in sheet](https://gitlab.com/jbosse3/excel2moodle/-/commit/ad90da49ac60e429ad3243f54846b08f0caf5bc7)
|
101
|
+
- [Inverted result and feedback for NFM & Cloze questions](https://gitlab.com/jbosse3/excel2moodle/-/commit/57d77c83a661398b0082f84d25e5447000df9096)
|
102
|
+
|
103
|
+
### improvement (1 change)
|
104
|
+
|
105
|
+
- [Missing `settings` sheet raises an error](https://gitlab.com/jbosse3/excel2moodle/-/commit/e1cc42c1d31981bf74582b23c24c6ac378e9256d)
|
106
|
+
|
107
|
+
### bugfix (1 change)
|
108
|
+
|
109
|
+
- [resolve cloze moodle import error due to float points](https://gitlab.com/jbosse3/excel2moodle/-/commit/f13b7b9df39df55d65b6063a9deb1fc1c72f5ebb)
|
110
|
+
|
84
111
|
## 0.6.1 (2025-07-12)
|
85
112
|
Fixing import error caused by dumping pyside meta package
|
86
113
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
excel2moodle/__init__.py,sha256=mnb-RWgmWIPSBk4S65a_jP6rxntAkTeYxN0ObUJalbQ,1801
|
2
|
+
excel2moodle/__main__.py,sha256=DgddHjnxFPXQp4CFvqGNjgUZRgaHp15U57Va9UdW_ms,1184
|
3
|
+
excel2moodle/logger.py,sha256=fq8ZOkCI1wj38v8IyrZsUlpt16onlSH_phqbVvYUwBQ,3725
|
4
|
+
excel2moodle/core/__init__.py,sha256=87BwhtZse72Tk17Ib-V9X2k9wkhmtVnEj2ZmJ9JBAnI,63
|
5
|
+
excel2moodle/core/bullets.py,sha256=F9g0dZfkMjoYQ5jneT47GwM1-RAyhPF8y203W5mOYpU,3505
|
6
|
+
excel2moodle/core/category.py,sha256=7sn7Xq5SBzxVxllPXk9Mv99XHULSVqAPYHQ9vwFG00s,2839
|
7
|
+
excel2moodle/core/dataStructure.py,sha256=xlGTYvRv-qysjvu-mSmkpibFpO75qWH18Z-q6vGnHLk,19332
|
8
|
+
excel2moodle/core/etHelpers.py,sha256=LzimWGuX6RH2TbfEnWUoAXT2Tr0z6P7bCANjxuANSX0,1667
|
9
|
+
excel2moodle/core/exceptions.py,sha256=9xfsaIcm6Yej6QAZga0d3DK3jLQejdfgJARuAaG-uZY,739
|
10
|
+
excel2moodle/core/globals.py,sha256=gvkl8Obq4XBW40B1L68Ewg06sonK27l-KIiodwFv8ic,2393
|
11
|
+
excel2moodle/core/parser.py,sha256=wth3SPjlbWnS1zUVPap6PsJeVGCRatLuJZe6U7KgXBg,7540
|
12
|
+
excel2moodle/core/question.py,sha256=eylkSKYQYo0uRxzfTZqoQNFAXq94mzzxbRWyknstupg,14187
|
13
|
+
excel2moodle/core/settings.py,sha256=l0_TyQxAfHUQLuyE5ervU6CVbRVKlcivgU4lFzrWFAg,6350
|
14
|
+
excel2moodle/core/stringHelpers.py,sha256=OzFZ6Eu3PeBLKb61K-aeVfUZmVuBerr9KfyOsuNRd7Y,2403
|
15
|
+
excel2moodle/core/validator.py,sha256=ssgkyUwrR-0AGPX1cUqvRwZsGja13J7HQ2W72ltqN-Y,4683
|
16
|
+
excel2moodle/extra/__init__.py,sha256=PM-id60HD21A3IcGC_fCYFihS8osBGZMIJCcN-ZRsIM,293
|
17
|
+
excel2moodle/extra/equationVerification.py,sha256=oQpk-4cM0x_vKGEexC0Z1UyVoGG7w3V3RydtkM0MV_Y,3869
|
18
|
+
excel2moodle/extra/variableGenerator.py,sha256=fiXaTeFaC--1KRyMNcsjBgUlUZ8H1rGS6f_WenN60fQ,9851
|
19
|
+
excel2moodle/question_types/__init__.py,sha256=81mss0g7SVtnlb-WkydE28G_dEAAf6oT1uB8lpK2-II,1041
|
20
|
+
excel2moodle/question_types/cloze.py,sha256=ozYIAr8xCvXZ-tInKBTIWqxpKBH6gZ5sDwQSarnkUXo,14687
|
21
|
+
excel2moodle/question_types/mc.py,sha256=nx6PsbfLLH_4H5eCSjGcfgEC6EEVgseI7xy15jg5JmA,5482
|
22
|
+
excel2moodle/question_types/nf.py,sha256=HAolGy13-FbLVJskAUXCFy76NJu91IG9wtq6OI05Igw,1374
|
23
|
+
excel2moodle/question_types/nfm.py,sha256=D5-aE4C7TAuwHFidXR15DLWNZ4JT-HVbPXI0CzGWOS0,3013
|
24
|
+
excel2moodle/ui/UI_equationChecker.py,sha256=evQDlqCHeooJcAnYjhFCyjlPhfknr7ULGKQwMmqQeJ4,8947
|
25
|
+
excel2moodle/ui/UI_exportSettingsDialog.py,sha256=I0Vqw2TCWoUhDKxTgLoGaAo4_L77vfN8G7_zi7b_5lY,8254
|
26
|
+
excel2moodle/ui/UI_mainWindow.py,sha256=9w8bRgOrVEX7BRGQvMuVhPCiSOsXYkMb4rxLDeRErII,21544
|
27
|
+
excel2moodle/ui/UI_variableGenerator.py,sha256=DjpZnBELSqyOjJdwjXNP2V71rCPm3tr6_XkNT9F3e34,11205
|
28
|
+
excel2moodle/ui/UI_variantDialog.py,sha256=snVaF3_YAc7NWjMRg7NzbjL_PzNbOpt4eiqElkE46io,5414
|
29
|
+
excel2moodle/ui/__init__.py,sha256=4EdGtpzwH3rgw4xW9E5x9kdPQYwKbo9rehHRZTNxCrQ,44
|
30
|
+
excel2moodle/ui/appUi.py,sha256=Das3bBrg44VgC2p7kIrfAMDn0iyzz6eAoWE6FXnaCrU,13905
|
31
|
+
excel2moodle/ui/dialogs.py,sha256=XAqPt1ST1kceoaZ0ZDDY1w1iJOPRezZSa2jvB7FWar0,6576
|
32
|
+
excel2moodle/ui/equationChecker.py,sha256=RII9DlZAlHqe5udBWzeUaozhtyi3ZkCZs8h3-oO6pEw,2700
|
33
|
+
excel2moodle/ui/treewidget.py,sha256=aLR_B1iT2j1AAGk_9Dc6WtRbq1XijK8pICG8BEOW_Ak,1916
|
34
|
+
excel2moodle-0.6.2.dist-info/licenses/LICENSE,sha256=ywQqe6Sitymkf2lV2NRcx_aGsaC-KbSl_EfEsRXmNRw,35135
|
35
|
+
excel2moodle-0.6.2.dist-info/METADATA,sha256=cECd-rkz8kJamOpqqXBcH1OB38BhXdLP1irbrtWXWBc,10611
|
36
|
+
excel2moodle-0.6.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
37
|
+
excel2moodle-0.6.2.dist-info/entry_points.txt,sha256=myfMLDThuGgWHMJDPPfILiZqo_7D3fhmDdJGqWOAjPw,60
|
38
|
+
excel2moodle-0.6.2.dist-info/top_level.txt,sha256=5V1xRUQ9o7UmOCmNoWCZPAuy5nXp3Qbzyqch8fUGT_c,13
|
39
|
+
excel2moodle-0.6.2.dist-info/RECORD,,
|
@@ -1,39 +0,0 @@
|
|
1
|
-
excel2moodle/__init__.py,sha256=mnb-RWgmWIPSBk4S65a_jP6rxntAkTeYxN0ObUJalbQ,1801
|
2
|
-
excel2moodle/__main__.py,sha256=DgddHjnxFPXQp4CFvqGNjgUZRgaHp15U57Va9UdW_ms,1184
|
3
|
-
excel2moodle/logger.py,sha256=fq8ZOkCI1wj38v8IyrZsUlpt16onlSH_phqbVvYUwBQ,3725
|
4
|
-
excel2moodle/core/__init__.py,sha256=87BwhtZse72Tk17Ib-V9X2k9wkhmtVnEj2ZmJ9JBAnI,63
|
5
|
-
excel2moodle/core/bullets.py,sha256=F9g0dZfkMjoYQ5jneT47GwM1-RAyhPF8y203W5mOYpU,3505
|
6
|
-
excel2moodle/core/category.py,sha256=wLzpbweQbzaItdbp2NCPI_Zmk94fy1EDOwEEN8zPvkU,2123
|
7
|
-
excel2moodle/core/dataStructure.py,sha256=eMQAuTTKXLmE72I6MP1255BP15N-35Qb4bESyIy4K7w,16011
|
8
|
-
excel2moodle/core/etHelpers.py,sha256=G37qplp8tPJxqHNCBrf2Wo0jJZ0aDbxE9slQavqYqd8,2293
|
9
|
-
excel2moodle/core/exceptions.py,sha256=9xfsaIcm6Yej6QAZga0d3DK3jLQejdfgJARuAaG-uZY,739
|
10
|
-
excel2moodle/core/globals.py,sha256=URrDtWUeaZvhv38ETk_MGRDZpWF0J5cTWO_Jpf0rS9E,2807
|
11
|
-
excel2moodle/core/parser.py,sha256=ExTgPkRXevXDcnQlWE2oGoEp6mbpzP1GBmzY4zs-OPU,7220
|
12
|
-
excel2moodle/core/question.py,sha256=pltXKN52tBpFoPKEt9cIdGzZzVKpCQcXun2g9Eu1ljE,13726
|
13
|
-
excel2moodle/core/settings.py,sha256=27D-P44rYk-DMrwI1dNpxHcznpFQf1W3XZrOc8e6rX4,5855
|
14
|
-
excel2moodle/core/stringHelpers.py,sha256=OzFZ6Eu3PeBLKb61K-aeVfUZmVuBerr9KfyOsuNRd7Y,2403
|
15
|
-
excel2moodle/core/validator.py,sha256=ssgkyUwrR-0AGPX1cUqvRwZsGja13J7HQ2W72ltqN-Y,4683
|
16
|
-
excel2moodle/extra/__init__.py,sha256=PM-id60HD21A3IcGC_fCYFihS8osBGZMIJCcN-ZRsIM,293
|
17
|
-
excel2moodle/extra/equationVerification.py,sha256=GLJl1r90d8AAiNy0H2hooZrg3D6aEwNfifYKAe3aGxM,3921
|
18
|
-
excel2moodle/extra/variableGenerator.py,sha256=fiXaTeFaC--1KRyMNcsjBgUlUZ8H1rGS6f_WenN60fQ,9851
|
19
|
-
excel2moodle/question_types/__init__.py,sha256=81mss0g7SVtnlb-WkydE28G_dEAAf6oT1uB8lpK2-II,1041
|
20
|
-
excel2moodle/question_types/cloze.py,sha256=SvUS4gVKTr6z26KI17zV7pNIGIWQ2JdIVtPr-hgOOo8,13602
|
21
|
-
excel2moodle/question_types/mc.py,sha256=2kn6dPjFVg97H8SlUBFbcPjzDk84vgDGCMOtSABseu0,5225
|
22
|
-
excel2moodle/question_types/nf.py,sha256=bMP4IXrhnXmAI0NmjEc7DtX4xGaUbxzLicE2LjeaUho,1150
|
23
|
-
excel2moodle/question_types/nfm.py,sha256=p1yP6QWtFzQpVVfpjZ7R8GrsEtUSUPklbvjC8_VgYmQ,2734
|
24
|
-
excel2moodle/ui/UI_equationChecker.py,sha256=evQDlqCHeooJcAnYjhFCyjlPhfknr7ULGKQwMmqQeJ4,8947
|
25
|
-
excel2moodle/ui/UI_exportSettingsDialog.py,sha256=71xxXEqtewN0ReMfJ5t4gbrX_Bf0VEuxJ_DIV7ZtH94,6045
|
26
|
-
excel2moodle/ui/UI_mainWindow.py,sha256=9w8bRgOrVEX7BRGQvMuVhPCiSOsXYkMb4rxLDeRErII,21544
|
27
|
-
excel2moodle/ui/UI_variableGenerator.py,sha256=DjpZnBELSqyOjJdwjXNP2V71rCPm3tr6_XkNT9F3e34,11205
|
28
|
-
excel2moodle/ui/UI_variantDialog.py,sha256=snVaF3_YAc7NWjMRg7NzbjL_PzNbOpt4eiqElkE46io,5414
|
29
|
-
excel2moodle/ui/__init__.py,sha256=4EdGtpzwH3rgw4xW9E5x9kdPQYwKbo9rehHRZTNxCrQ,44
|
30
|
-
excel2moodle/ui/appUi.py,sha256=0jxpgGiDU82AEDrj-BFgD9XdktrY_0EB7bAVMqWzJLY,13283
|
31
|
-
excel2moodle/ui/dialogs.py,sha256=8m1_hBGHt56T581PpPDsCrAd66cIy_Kxo_8NIy9kw_0,6179
|
32
|
-
excel2moodle/ui/equationChecker.py,sha256=RII9DlZAlHqe5udBWzeUaozhtyi3ZkCZs8h3-oO6pEw,2700
|
33
|
-
excel2moodle/ui/treewidget.py,sha256=aLR_B1iT2j1AAGk_9Dc6WtRbq1XijK8pICG8BEOW_Ak,1916
|
34
|
-
excel2moodle-0.6.1.dist-info/licenses/LICENSE,sha256=ywQqe6Sitymkf2lV2NRcx_aGsaC-KbSl_EfEsRXmNRw,35135
|
35
|
-
excel2moodle-0.6.1.dist-info/METADATA,sha256=963o72_grmJfUqLcnc4HQcbPXxOQ62BRtZGUCq6ku34,8656
|
36
|
-
excel2moodle-0.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
37
|
-
excel2moodle-0.6.1.dist-info/entry_points.txt,sha256=myfMLDThuGgWHMJDPPfILiZqo_7D3fhmDdJGqWOAjPw,60
|
38
|
-
excel2moodle-0.6.1.dist-info/top_level.txt,sha256=5V1xRUQ9o7UmOCmNoWCZPAuy5nXp3Qbzyqch8fUGT_c,13
|
39
|
-
excel2moodle-0.6.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|