X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=templates%2Fview_attendee.sh;h=1e02e3db017c1845f1a753927c91d73e8029ccbd;hp=8a0f2d53b6aae0170ef544de02c6fdcadc8367b1;hb=c778a3abd05946586813bb0b676e04b616d294a4;hpb=794a134935cb59c5bd014026f1bed4a08a5645c9
diff --git a/templates/view_attendee.sh b/templates/view_attendee.sh
index 8a0f2d5..1e02e3d 100755
--- a/templates/view_attendee.sh
+++ b/templates/view_attendee.sh
@@ -44,7 +44,7 @@ item_name[VERSION]=""
item_name[XML]=""
l10n() {
- [ -n "$item_name[$1]" ] && echo "$item_name[$1]" || echo "$1"
+ [ -n "$item_name[$1]" ] && echo -n "$item_name[$1]" || echo -n "$1"
}
view_card_item() {
@@ -57,8 +57,8 @@ view_card_item() {
echo "
$value
"
;;
*)
- echo "$(l10n "$key")"
- [ -n "$tag[TYPE]" ] && echo "($tag[TYPE])"
+ echo -n "$(l10n "$key")"
+ [ -n "$tag[TYPE]" ] && echo -n "($tag[TYPE])"
echo ":"
;|
EMAIL)
@@ -74,8 +74,11 @@ view_card_item() {
}
view_attendee() { #Parameter: Cardfile
- key=""
- vcf_parse "$1" |while read -r line; do
+ cardfile="$1"
+ cachefile="cache/vcf_$(basename "$cardfile").cache"
+ unset key
+ [ "$cachefile" -nt "$cardfile" ] && cat "$cachefile" \
+ || vcf_parse "$cardfile" |while read -r line; do
declare -A tag
case "$line" in
value*) eval "$line";;
@@ -86,8 +89,10 @@ view_attendee() { #Parameter: Cardfile
else
view_card_item
eval "$line"
+ unset value
+ unset tag
fi
;;
esac
- done
+ done |tee "$cachefile"
}