Skip to content

Commit d6bf269

Browse files
Copilotfelixbd
andcommitted
Rename functions to be more descriptive and add passed-only progress percentage
Co-authored-by: felixbd <75588601+felixbd@users.noreply.github.com>
1 parent ef0dd44 commit d6bf269

File tree

6 files changed

+38
-518
lines changed

6 files changed

+38
-518
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Typst installation files
2+
typst-x86_64-unknown-linux-musl.tar.xz
3+
typst-x86_64-unknown-linux-musl/

main.typ

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@
132132
temp
133133
}
134134

135-
#let gg(x) = if x == () {
135+
#let get-grade-status(x) = if x == () {
136136
(" ", todo)
137137
} else if x.last() >= 5 {
138138
("f", fail)
@@ -145,7 +145,7 @@
145145
}
146146

147147

148-
#let ggg(k) = {
148+
#let format-lecture-grade-info(k) = {
149149
let lecture = get-lecture-from-key(k)
150150
.values()
151151
.rev()
@@ -165,8 +165,8 @@
165165

166166
let grades = temp.map(e => e.note)
167167

168-
(gg(grades).last())(stroke: black, width: 99%)[
169-
- [#gg(grades).first()] *#k* | #lecture \ versuch: #versuch ~ ~ note: #grades
168+
(get-grade-status(grades).last())(stroke: black, width: 99%)[
169+
- [#get-grade-status(grades).first()] *#k* | #lecture \ versuch: #versuch ~ ~ note: #grades
170170
]
171171
}
172172

@@ -190,12 +190,12 @@
190190
}
191191

192192
#if vls == () {
193-
ggg(k)
193+
format-lecture-grade-info(k)
194194
} else {
195195
stack(
196196
dir: ttb,
197197
for e in vls.map(x => ( (block, lv, x).join("."), x)) {
198-
ggg(e.first())
198+
format-lecture-grade-info(e.first())
199199
}
200200
)
201201
}
@@ -220,6 +220,7 @@
220220
"MA": ("-",),
221221
"nc": 0,
222222
"cp": 0,
223+
"cp-passed": 0,
223224
)
224225
}
225226

@@ -257,6 +258,14 @@
257258
.map(e => e.code)
258259
.map(e => get-lecture-from-key(e))
259260
.map(e => e.ects)
261+
.sum(default: 0),
262+
263+
"cp-passed":
264+
current-sem.course
265+
.filter(e => e.note < 5 and e.note > 0)
266+
.map(e => e.code)
267+
.map(e => get-lecture-from-key(e))
268+
.map(e => e.ects)
260269
.sum(default: 0)
261270
)
262271
}
@@ -287,7 +296,7 @@
287296
}
288297

289298
// get the content of (x: current block, y: current semester) (for the table)
290-
#let xy(c, sem-nr) = {
299+
#let get-table-cell-content(c, sem-nr) = {
291300
get-sem-results(calc.clamp(sem-nr, 0, 3))
292301
.at(c)
293302
.map(e => if e.first() == "-" { "-" }
@@ -298,7 +307,7 @@
298307
}
299308

300309
// macros for the table (shorter is better in the table)
301-
#let g(x) = align(horizon)[#x]
310+
#let align-horizon(x) = align(horizon)[#x]
302311
#let ma = stack(dir: ltr, spacing: 3mm, [A. \ schriftlich \ 27cp], [B. \ Defensio \ 3cp])
303312
#let p6 = text(weight: "bold", fill: red)[\ +6 auflage]
304313

@@ -323,6 +332,18 @@
323332
digits: 3
324333
)
325334

335+
#let current-passed = range(4).map(i => get-sem-results(i).cp-passed).sum()
336+
337+
#let current-passed-proc = calc.round(
338+
eval(
339+
str(current-passed)
340+
+ " / "
341+
+ str(total)
342+
+ " * 100"
343+
),
344+
digits: 3
345+
)
346+
326347

327348
#let ncs = {
328349
range(4)
@@ -364,14 +385,14 @@
364385
#shadowed(radius: .4cm)[
365386
#tablem(ignore-second-row: false)[
366387
| #align(center)[*Medizinische Informatik \ C U R R I C U L A ~ ~ ~ 30. Mitteilungsblatt ~ ~ ~ Nr. 33*] | < | < | < | < | < | < | < | < |
367-
| sem. | *Pflicht- und Wahlmodulen* | < | < | < | #g[*Freifächer* \ (6 ECTS)] | #g[*Diplomanden- \ seminare* \ (6 ECTS)] | ~ *Masterarbeit* ~ | ECTS \ $ sum $ |
388+
| sem. | *Pflicht- und Wahlmodulen* | < | < | < | #align-horizon[*Freifächer* \ (6 ECTS)] | #align-horizon[*Diplomanden- \ seminare* \ (6 ECTS)] | ~ *Masterarbeit* ~ | ECTS \ $ sum $ |
368389
| ^ | A.\ Grundlagen \ 18cp #p6 | B.\ KfK \ 24cp | C.\ Angewant \ 12cp | D.\ Interdiszi. Inf. \ 24cp | ^ | ^ | #ma | ^ |
369-
| *`I`* | #xy("A", 0) | #xy("B", 0) | #xy("C", 0) | #xy("D", 0) | #xy("F", 0) | #xy("DS", 0) | #xy("MA", 0) | #get-sem-results(0).cp cp |
370-
| *`II`* | #xy("A", 1) | #xy("B", 1) | #xy("C", 1) | #xy("D", 1) | #xy("F", 1) | #xy("DS", 1) | #xy("MA", 1) | #get-sem-results(1).cp cp |
371-
| *`III`* | #xy("A", 2) | #xy("B", 2) | #xy("C", 2) | #xy("D", 2) | #xy("F", 2) | #xy("DS", 2) | #xy("MA", 2) | #get-sem-results(2).cp cp |
372-
| *`IV`* | #xy("A", 3) | #xy("B", 3) | #xy("C", 3) | #xy("D", 3) | #xy("F", 3) | #xy("DS", 3) | #xy("MA", 3) | #get-sem-results(3).cp cp |
390+
| *`I`* | #get-table-cell-content("A", 0) | #get-table-cell-content("B", 0) | #get-table-cell-content("C", 0) | #get-table-cell-content("D", 0) | #get-table-cell-content("F", 0) | #get-table-cell-content("DS", 0) | #get-table-cell-content("MA", 0) | #get-sem-results(0).cp cp |
391+
| *`II`* | #get-table-cell-content("A", 1) | #get-table-cell-content("B", 1) | #get-table-cell-content("C", 1) | #get-table-cell-content("D", 1) | #get-table-cell-content("F", 1) | #get-table-cell-content("DS", 1) | #get-table-cell-content("MA", 1) | #get-sem-results(1).cp cp |
392+
| *`III`* | #get-table-cell-content("A", 2) | #get-table-cell-content("B", 2) | #get-table-cell-content("C", 2) | #get-table-cell-content("D", 2) | #get-table-cell-content("F", 2) | #get-table-cell-content("DS", 2) | #get-table-cell-content("MA", 2) | #get-sem-results(2).cp cp |
393+
| *`IV`* | #get-table-cell-content("A", 3) | #get-table-cell-content("B", 3) | #get-table-cell-content("C", 3) | #get-table-cell-content("D", 3) | #get-table-cell-content("F", 3) | #get-table-cell-content("DS", 3) | #get-table-cell-content("MA", 3) | #get-sem-results(3).cp cp |
373394
| $sum$ | #block-cp("A") \ #text(fill: red)[*+6 ECTS*] | #block-cp("B") | #block-cp("C") | #block-cp("D") | #block-cp("F") | #block-cp("DS") | #block-cp("MA") | #current / 120 #p6 |
374-
| #stack(dir: ltr, spacing: 1fr, [nc's: #h(1mm) #sem-ncs], text(weight: "bold")[#current-proc%], [nc: ~ #total-nc] ) | < | < | < | < | < | < | < | < |
395+
| #stack(dir: ltr, spacing: 1fr, [nc's: #h(1mm) #sem-ncs], text(weight: "bold")[#current-proc%], text(weight: "bold")[#current-passed-proc% (passed)], [nc: ~ #total-nc] ) | < | < | < | < | < | < | < | < |
375396
]
376397
]
377398

-12.6 MB
Binary file not shown.

typst-x86_64-unknown-linux-musl/LICENSE

Lines changed: 0 additions & 176 deletions
This file was deleted.

typst-x86_64-unknown-linux-musl/NOTICE

Lines changed: 0 additions & 72 deletions
This file was deleted.

0 commit comments

Comments
 (0)