rename int to num and add multinum for arrays of items - add a test case
This commit is contained in:
parent
2f393dd21c
commit
43cb7eff7e
4 changed files with 24 additions and 8 deletions
|
@ -78,11 +78,21 @@ class CourseBuilder:
|
||||||
else:
|
else:
|
||||||
return [self.process_label(field,lang),enum_val]
|
return [self.process_label(field,lang),enum_val]
|
||||||
|
|
||||||
def process_int(self,meta,field,lang='de'):
|
def process_num(self,meta,field,lang='de'):
|
||||||
v = meta[field]['value']
|
v = meta[field]['value']
|
||||||
t = string.Template(self.get_template(field,lang))
|
t = string.Template(self.get_template(field,lang))
|
||||||
return [self.process_label(field,lang),t.substitute({'value' : v})]
|
return [self.process_label(field,lang),t.substitute({'value' : v})]
|
||||||
|
|
||||||
|
def process_multinum(self,meta,field,lang='de'):
|
||||||
|
v = meta[field]['value']
|
||||||
|
t = string.Template(self.get_template(field,lang))
|
||||||
|
if hasattr(v, "__len__"):
|
||||||
|
vv = [t.substitute({'value' : ev}) for ev in v]
|
||||||
|
return [self.process_label(field,lang),', '.join(vv)]
|
||||||
|
else:
|
||||||
|
return self.process_num(meta=meta,field=field,lang=lang)
|
||||||
|
|
||||||
|
|
||||||
def process_multikey(self,meta,field,lang='de'):
|
def process_multikey(self,meta,field,lang='de'):
|
||||||
"""
|
"""
|
||||||
multikey need to assign a numeric value to a key
|
multikey need to assign a numeric value to a key
|
||||||
|
@ -109,7 +119,8 @@ class CourseBuilder:
|
||||||
match self.__schema[field]['type']:
|
match self.__schema[field]['type']:
|
||||||
case 'str': table_items.append(self.process_str(meta,field,lang))
|
case 'str': table_items.append(self.process_str(meta,field,lang))
|
||||||
case 'enum': table_items.append(self.process_enum(meta,field,lang))
|
case 'enum': table_items.append(self.process_enum(meta,field,lang))
|
||||||
case 'int': table_items.append(self.process_int(meta,field,lang))
|
case ['int', 'num'] : table_items.append(self.process_num(meta,field,lang))
|
||||||
|
case 'multinum' : table_items.append(self.process_multinum(meta,field,lang))
|
||||||
case 'multikey': table_items.append(self.process_multikey(meta,field,lang))
|
case 'multikey': table_items.append(self.process_multikey(meta,field,lang))
|
||||||
|
|
||||||
mdg = MarkdownGenerator()
|
mdg = MarkdownGenerator()
|
||||||
|
|
|
@ -9,4 +9,9 @@ table.de.pdf:
|
||||||
all: table.en.pdf table.de.pdf
|
all: table.en.pdf table.de.pdf
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm table.en.pdf table.de.pdf
|
rm -f table.en.pdf table.de.pdf
|
||||||
|
|
||||||
|
|
||||||
|
debug:
|
||||||
|
python ../../coursebuilder -s schema.yaml -m mod.cg.yaml -l de -f fields.yaml
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ form-of-instruction:
|
||||||
value: { 'lecture': 2, 'exersise': 1 }
|
value: { 'lecture': 2, 'exersise': 1 }
|
||||||
|
|
||||||
term:
|
term:
|
||||||
value: 1
|
value: [1, 3]
|
||||||
|
|
||||||
duration:
|
duration:
|
||||||
value: 1
|
value: 1
|
||||||
|
|
|
@ -182,11 +182,11 @@ workload:
|
||||||
# credits/ECTS
|
# credits/ECTS
|
||||||
#
|
#
|
||||||
credits:
|
credits:
|
||||||
|
type: num
|
||||||
label: {
|
label: {
|
||||||
en: "credits and weight of mark",
|
en: "credits and weight of mark",
|
||||||
de: "Kreditpunkte und Gewichtung der Note in der Gesamtnote"
|
de: "Kreditpunkte und Gewichtung der Note in der Gesamtnote"
|
||||||
}
|
}
|
||||||
type: int
|
|
||||||
template:
|
template:
|
||||||
de: "${value}CP Gewichtung: ${value}CP von 120CP "
|
de: "${value}CP Gewichtung: ${value}CP von 120CP "
|
||||||
en: "${value}CP weight: ${value} / 120 "
|
en: "${value}CP weight: ${value} / 120 "
|
||||||
|
@ -229,7 +229,7 @@ term:
|
||||||
de: "Semester",
|
de: "Semester",
|
||||||
en: "term"
|
en: "term"
|
||||||
}
|
}
|
||||||
type: int
|
type: multinum
|
||||||
template:
|
template:
|
||||||
de: " ${value}. Semester"
|
de: " ${value}. Semester"
|
||||||
en: " ${value}. semester"
|
en: " ${value}. semester"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue