X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=pages%2Fcourses.sh;h=0fa5542f13efa1ceaafe7fa709e2d8e0236c467b;hp=ad92ae7b0a161a31f3b9b5c0a6b2db08b97f87b5;hb=a8dcdb19d3c744ffb2b0776eea12546edaf06627;hpb=0148cdea1cf6f906cc401885013da20774034d75 diff --git a/pages/courses.sh b/pages/courses.sh index ad92ae7..0fa5542 100755 --- a/pages/courses.sh +++ b/pages/courses.sh @@ -1,6 +1,6 @@ #!/bin/zsh -# Copyright 2014 Paul Hänsch +# Copyright 2014, 2016 Paul Hänsch # # This file is part of Confetti. # @@ -53,14 +53,25 @@ listcourses() { list_attendance() { id="$1" sed -rn 's:'$id'\t(.+)$:\1:p' "$_DATA/mappings/attendance" |while read each; do - n_last="$( sed -rn 's:^N(;.+)*\:([^;]*;){0} *([^;]*).*$:\3:p' "$_DATA/vcard/$each")" - n_first="$( sed -rn 's:^N(;.+)*\:([^;]*;){1} *([^;]*).*$:\3:p' "$_DATA/vcard/$each")" - n_middle="$(sed -rn 's:^N(;.+)*\:([^;]*;){2} *([^;]*).*$:\3:p' "$_DATA/vcard/$each")" - n_pre="$( sed -rn 's:^N(;.+)*\:([^;]*;){3} *([^;]*).*$:\3:p' "$_DATA/vcard/$each")" - n_post="$( sed -rn 's:^N(;.+)*\:([^;]*;){4} *([^;]*).*$:\3:p' "$_DATA/vcard/$each")" - byear="$( sed -rn 's:^BDAY(;.+)*\:([0-9]{4})(-[0-9][0-9]){2}.*$:\2:p' "$_DATA/vcard/$each")" - aname="${n_pre} ${n_first} ${n_middle} ${n_last} ${n_post} (*${byear})" - echo "$each $aname" |tr -d '\r' + card="$_DATA/vcard/$each" + if [ -r "$card" ]; then + aname="$(sed -rn ' + /^N(;.+)*:/{ + h; + s;^N(\;.+)*:([^\;]*\;){3} *([^\;]*).*$;\3;p; g; + s;^N(\;.+)*:([^\;]*\;){1} *([^\;]*).*$;\3;p; g; + s;^N(\;.+)*:([^\;]*\;){2} *([^\;]*).*$;\3;p; g; + s;^N(\;.+)*:([^\;]*\;){0} *([^\;]*).*$;\3;p; g; + s;^N(\;.+)*:([^\;]*\;){4} *([^\;]*).*$;\3;p; g; + }' "$card" \ + | sed -r ':X;N;$!bX; s;([\;\n\r,]| )+; ;g;; s;^ +| +$;;g;' + )" + fname="$(sed -rn 's;^FN(\;.+)*:(.+)\r?$;\2;g; s;([\;\n,]| )+; ;g;; s;^ +| +$;;g;' "$card")" + nname="$(sed -rn 's;^NICKNAME(\;.+)*:(.+)\r?$;\2;g; s;([\;\n,]| )+; ;g;; s;^ +| +$;;g;' "$card")" + byear="$(sed -rn 's:^BDAY(\;.+)*\:([0-9]{4})(-[0-9][0-9]){2}.*$:\2:p' "$_DATA/vcard/$each")" + + printf '%s %s (*%04i)\n' "$each" "${aname:-${fname:-${nname}}}" "$byear" + fi done }