+filter_attendance(){
+ fatt="$1"
+ attfile="$_DATA/mappings/attendance"
+
+ if [ ! "$fatt" ]; then
+ # debug 'list all'
+ printf '%s\n' "$_DATA/vcard"/*.vcf
+ elif [ "${fatt#* }" = "${fatt}" ]; then
+ # debug "list $fatt"
+ grep -xiE "(${fatt}) .+vcf" "$attfile" \
+ | while read vcf; do
+ printf '%s/vcard/%s\n' "$_DATA" "${vcf##* }"
+ done
+ else
+ # debug "filter ${fatt%% *}"
+ filter_attendance "${fatt#* }" \
+ | while read vcf; do
+ grep -xiE "(${fatt%% *}) ${vcf##*/}" "$attfile"
+ done \
+ | while read vcf; do
+ printf '%s/vcard/%s\n' "$_DATA" "${vcf##* }"
+ done
+ fi
+}
+