]> git.plutz.net Git - confetti/blobdiff - actions/generate_courselist.sh
generate name field from available information
[confetti] / actions / generate_courselist.sh
index afa43874864943db745756c15b77f39c4e0434df..6e62a0b2727cfbc0b8adc00b217b425c83edcfd8 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/zsh
 
-# Copyright 2014 Paul Hänsch
+# Copyright 2014, 2016 Paul Hänsch
 #
 # This file is part of Confetti.
 # 
 # along with Confetti.  If not, see <http://www.gnu.org/licenses/>. 
 
 pdflatex="$(where pdflatex |head -n1 || echo false)"
-course="$_GET[\"course\"]"
-fromdate=$_GET['fromdate']
+course="${_GET[course]}"
+fromdate=$_GET[fromdate]
 fromdate=$(date -d "$fromdate" +%s)
 [ -z "$fromdate" ] && fromdate=$(date +%s)
 
-. ${_EXEC}/pages/courses.sh loadfunctions
-. ${_EXEC}/pages/attendees.sh loadfunctions
+. ${_EXEC}/pages/courses.sh
+. ${_EXEC}/pages/cards.sh
 
 tex_clean() { #in dire need for improvement
-  echo "$*" |tr -d '{&}\'
+  echo "$*" |tr -d '{&}\\'
 }
 
 
@@ -64,15 +64,22 @@ list_attendee() {  #Parameter: Cardfile
     esac
   done
 
+  n=$(printf %s "$values[N]" 
+      | sed -rn 's:^([^;]*)(;[^;]*)(;[^;]*)?(;[^;]*)?(;[^;]*)?$:4 2 3 1 5:gp' 
+      | sed -r 's:,: :;s:;: :g;s: +: :g;s:^ $::;'
+     )
+  fullname="${n:-${values[FN]:-${values[NICKNAME]}}}"
+
   tel=''
   for n in TEL TEL{0..10}; do if (echo "$values[$n]" |grep -Eq '[0-9]'); then
     [ -n "$tel" ] && tel="$tel\\newline $values[$n]" || tel="$values[$n]"
   fi; done
+
   note=''
   for n in NOTE NOTE{0..10}; do if [ -n "$values[$n]" ]; then
     [ -n "$note" ] && note="$note\\newline $values[$n]" || note="$values[$n]"
   fi; done
-  echo -E "$values[FN] & $values[BDAY] & $tel & $note"
+  echo -E "$fullname & $values[BDAY] & $tel & $note"
 }
 
 get_dates() {  #Parameter: Calendarfile
@@ -141,6 +148,7 @@ if [ -r "${_DATA}/ical/${course}" ]; then
   . ${_EXEC}/templates/course_print.sh >"${_DATA}/temp/courselist_${course}.tex"
   [ -e "${_DATA}/temp/courselist_${course}.pdf" ] && rm "${_DATA}/temp/courselist_${course}.pdf"
   "$pdflatex" -halt-on-error -output-directory "${_DATA}/temp/" "${_DATA}/temp/courselist_${course}.tex" |debug >/dev/null
+  "$pdflatex" -halt-on-error -output-directory "${_DATA}/temp/" "${_DATA}/temp/courselist_${course}.tex" |debug >/dev/null
 fi
 if [ -r "${_DATA}/temp/courselist_${course}.pdf" ]; then
   echo 'Content-Type: application/x-pdf\n'