]> git.plutz.net Git - lobster/blobdiff - cards/list.sh
reverse session list - newest first
[lobster] / cards / list.sh
index 9ff31254f488fa32ebaabb020b190dd873d6cb55..33ca99110ebdb4cf37ee81e9d42f00b816f3d146 100755 (executable)
@@ -63,6 +63,7 @@ print_card(){
       [div .section .phone     $(card_item "$card" TEL EMAL IMPP URL)]
       [div .section .insurance $(card_item "$card" X-HEALTH-INSURANCE)]
       [div .section .note      $(card_item "$card" NOTE X-CLIENT-REFERRAL)]
+      [div .section .therapies $(card_item "$card" therapies)]
       [div .control
         [a .item href="/cards/edit_card.sh?card=${cardfile##*/}" $(l10n edit)]
         [a .item href="/cards/export_card.sh?card=${cardfile##*/}" $(l10n vcf_export)]
@@ -96,25 +97,25 @@ filter_cards(){
 
   while [ "$filter" ]; do
     f="${filter%%^*}" filter="${filter#*^}"
+    debug "Filter: $f"
     case $f in
       '') break
         ;;
       ANY:*) fex="/\n.*(\;[^:]*)?:.*(${f#*:}).*\r?\n/{${fex}}"
         ;;
-      NAME:*) fex="/\n(N|FN|NICKNAME)(\;[^:]*)?:.*(${f#*:}).*\r?\n/{${fex}}"
+      NAME:*) fex="/\n(N|FN|NICKNAME)(\;[^:]*)?:[^\n]*(${f#*:}).*\r?\n/{${fex}}"
         ;;
-      STREET:*|ZIP:*) fex="/\nADR(\;[^:]*)?:.*(${f#*:}).*\r?\n/{${fex}}"
+      STREET:*|ZIP:*) fex="/\nADR(\;[^:]*)?:[^\n]*(${f#*:}).*\r?\n/{${fex}}"
         ;;
-      *) fex="/\n${f%%:*}(\;[^:]*)?:.*(${f#*:}).*\r?\n/{${fex}}"
+      *) fex="/\n${f%%:*}(\;[^:]*)?:[^\n]*(${f#*:}).*\r?\n/{${fex}}"
         ;;
     esac
   done
 
   for cardfile in "${_DATA}"/vcard/*.vcf; do
-    printf '%s\n' "$cardfile"
-    cat "$cardfile"
+    printf '%s\n' "$cardfile" "$(grep -vxE " *${CR}?" "$cardfile")"
   done \
-  | sed -En ':X; /\nEND:VCARD\r?$/!{ N; bX; }; h; s;\n.*$;;; x; s;^[^\n]+\n;;;
+  | sed -En ':X; /\nEND;?:VCARD\r?$/!{ N; bX; }; h; s;\n.*$;;; x; s;^[^\n]+\n;;;
              '"$upcase""$fex"
 }