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() {
echo "<h2 CLASS=\"FN\">$value</h2>"
;;
*)
- echo "<span class=\"item\"><span class=\"KEY $key\">$(l10n "$key")"
- [ -n "$tag[TYPE]" ] && echo "($tag[TYPE])"
+ echo -n "<span class=\"item\"><span class=\"KEY $key\">$(l10n "$key")"
+ [ -n "$tag[TYPE]" ] && echo -n "($tag[TYPE])"
echo ":</span>"
;|
EMAIL)
}
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";;
else
view_card_item
eval "$line"
+ unset value
+ unset tag
fi
;;
esac
- done
+ done |tee "$cachefile"
}