This commit is contained in:
Hartmut Seichter 2023-11-14 23:05:58 +01:00
parent 787f551b2c
commit 094b5cc7e3
3 changed files with 61 additions and 2 deletions

View file

@ -18,6 +18,42 @@ import string
import os import os
class TableGenerator:
def __init__(self) -> None:
self.__cols_map = {
"de": {'': 'Thema', 'A': " Erkennen", 'B': ' Verstehen', 'C': ' Anwenden', 'D' : ' Analysiseren', 'E' : ' Synthetisieren' }
}
def generate_table(self,data,lang='de'):
header = False
for token in data.split(','):
if not header:
head_str = "| " + " | ".join(self.__cols_map[lang].values()) + " |"
print(head_str)
ruler = ['-' * len(s) for s in self.__cols_map[lang].values()]
ruler_str = "| " + " | ".join(ruler) + " |"
print(ruler_str)
header = True
t = tuple(token.split(':')[:2])
row = [t[0]]
for k in self.__cols_map[lang].keys():
if k in t[1]:
row.append('X')
else:
row.append(' ')
print(' | '.join(row))
class MarkdownGenerator: class MarkdownGenerator:
def __init__(self) -> None: def __init__(self) -> None:
pass pass
@ -200,7 +236,6 @@ class CourseBuilder:
with open(mod_path) as fm: with open(mod_path) as fm:
self.process(yaml.load(fm,Loader=yaml.Loader),fields=actual_fields,lang=lang,pagebreak=pagebreak,createTitle=create_title,header_level=header_level) self.process(yaml.load(fm,Loader=yaml.Loader),fields=actual_fields,lang=lang,pagebreak=pagebreak,createTitle=create_title,header_level=header_level)
pass
@ -218,10 +253,21 @@ def main():
parser.add_argument('-t','--title',action="store_true",help="take first value in list as title") parser.add_argument('-t','--title',action="store_true",help="take first value in list as title")
parser.add_argument('-b','--book',type=str,help="process a whole curriculum book with sections") parser.add_argument('-b','--book',type=str,help="process a whole curriculum book with sections")
parser.add_argument('--level',type=int,default=1,help="level of header tags") parser.add_argument('--level',type=int,default=1,help="level of header tags")
parser.add_argument('--table-gen',type=str,default=None,help='runs table generator')
# get arguments # get arguments
args = parser.parse_args() args = parser.parse_args()
if args.table_gen:
tg = TableGenerator()
tg.generate_table(args.table_gen)
return
# book mode with predefined setting from a book file # book mode with predefined setting from a book file
if args.book and args.schema: if args.book and args.schema:

View file

@ -3,6 +3,14 @@ name:
en: Test Course en: Test Course
test:
en: |
<!-- bar-table.
one:
two:
three:
-->
# #
# nested lists seem to work in Markdown only in the US style way # nested lists seem to work in Markdown only in the US style way
# #
@ -85,3 +93,5 @@ content:
- Blub - Blub

View file

@ -286,4 +286,7 @@ remarks:
label: { label: {
de: "Besonderes", de: "Besonderes",
en: "remarks" en: "remarks"
} }