URI: 
       memecache-insert - annna - Annna the nice friendly bot.
  HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
       ---
       memecache-insert (786B)
       ---
            1 #!/bin/sh
            2 set -e
            3 
            4 usage() {
            5         printf "usage: %s old.meme new.meme\n" "$(basename "$0")"
            6         exit 1
            7 }
            8 
            9 memesanity() {
           10         if ! [ -e "$1" ]; then
           11                 printf "%s not found\n" "$1"
           12                 usage
           13         fi
           14 
           15         if [ "$(sed 1q "$1")" != "meme2" ]; then
           16                 printf "we can only work with the meme2 format\n"
           17                 usage
           18         fi
           19 }
           20 
           21 if [ -z "$1" ] || [ -z "$2" ]; then
           22         usage
           23 fi
           24 
           25 oldmemes="$1"
           26 newmemes="$2"
           27 
           28 memesanity "$oldmemes"
           29 memesanity "$newmemes"
           30 
           31 t="$(mktemp)"
           32 
           33 tail -n+2 "$newmemes" | while read -r tag uri sum; do
           34         if grep -q " ${sum}\$" "$oldmemes"; then
           35                 printf "%s already here\n" "$tag" >&2
           36                 continue
           37         fi
           38 
           39         printf "%s %s %s\n" "$tag" "$uri" "$sum"
           40         printf "downloading %s ...\n" "$tag" >&2
           41         curl -s "$uri" > "$(basename "$uri")"
           42 done > "$t"
           43 
           44 tail -n+2 "$oldmemes" >> "$t"
           45 
           46 printf "meme2\n"
           47 sort "$t"
           48 
           49 rm -f "$t"