From 49e5f8b9b7721ca76b7b8fb06a6b0196ab5e262a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Proch=C3=A1zka?= Date: Tue, 7 Oct 2025 08:53:00 +0200 Subject: [PATCH] Now generating the list of programmes --- .gitignore | 1 + README.md | 2 ++ build.sh | 14 ++++++++++++++ index.html | 1 + 4 files changed, 18 insertions(+) diff --git a/.gitignore b/.gitignore index 259e20e..e386cc0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ template_upstream archive template.zip +programmes.js diff --git a/README.md b/README.md index bf9d65a..538214b 100644 --- a/README.md +++ b/README.md @@ -2,5 +2,7 @@ Before you host this yourself, make sure to run the `build.sh` script to create the template archive. Without it, the generator will not work. +Make sure that you have the `csvkit` and `jq` packages installed on your Arch system, they are needed to generate the list of study programmes. + [Here's a running instance of this generator, just to get a rough idea.](https://internal.prochazkaml.eu/tultemplategen) diff --git a/build.sh b/build.sh index 1ce450e..b001f00 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,19 @@ mkdir -p archive +echo -n "const programmes = " > programmes.js +curl "https://stag.tul.cz/StagPortletsJSR168/ProhlizeniPrint?stateClass=cz.zcu.stag.portlets168.prohlizeni.browser.BrowserFakultaSearchState&wservice=programy/getStudijniProgramy&outputFormat=CSV&pouzePlatne=true&lang=cs" | csvjson -e cp1250 | jq 'group_by(.fakulta | ascii_downcase) | [.[] | { + key: .[0].fakulta | ascii_downcase, + value: [.[] | { + code: .kod | ascii_upcase, + type: .typ | ascii_downcase // .titulZkr // .titul, + title: .titulZkr // .titul // "bez titulu", + form: .forma | ascii_downcase, + year: .platnyOd | round, + cs_name: .nazevCz // .nazev, + en_name: .nazevAn // .nazev + }] +}] | from_entries' >> programmes.js + if [ ! -d template_upstream ]; then git clone git@gordon.zumepro.cz:tul/tultemplate2 template_upstream else diff --git a/index.html b/index.html index 2cfee3a..d1ebdf0 100644 --- a/index.html +++ b/index.html @@ -5,6 +5,7 @@ +