Home
db2categories.sh - gopher-lawn - The gopher lawn gopher directory project. HTML git clone git://bitreich.org/gopher-lawn/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/gopher-lawn/ DIR Log DIR Files DIR Refs DIR Tags --- db2categories.sh (1299B) --- 1 #!/bin/sh 2 3 set -x 4 5 titlemaxlength=74 6 7 if [ $# -gt 0 ]; 8 then 9 inputfile="$1" 10 else 11 inputfile="/dev/stdin" 12 fi 13 14 printdbtmpl() { 15 linetype="c" 16 linetypetext="category" 17 host="server" 18 port="port" 19 name="$1" 20 selector="$2" 21 linkname="$3" 22 title="${name}" 23 description="$4" 24 parent="root" 25 keywords="${name}" 26 27 tmplfile="${name}.${linetypetext}" 28 29 [ -e "$tmpfile" ] && return 30 31 ustitle="$(printf "%s\n" "${title}" \ 32 | tr 'a-z' 'A-Z' \ 33 | sed 's,[a-zA-Z0-9],&_,g; s, ,__,g; s,_$,,; s,___,__,g')" 34 35 printf "Type: %s\n" "${linetypetext}" > "${tmplfile}" 36 printf "Name: %s\n" "${name}" >> "${tmplfile}" 37 printf "Selector: %s\n" "${selector}" >> "${tmplfile}" 38 printf "Host: %s\n" "${host}" >> "${tmplfile}" 39 printf "Port: %s\n" "${port}" >> "${tmplfile}" 40 printf "LinkName: %s\n" "${linkname}" >> "${tmplfile}" 41 printf "Title: %s\n" "${ustitle}" >> "${tmplfile}" 42 printf "Description: %s\n" "${description}" >> "${tmplfile}" 43 printf "Parent: %s\n" "${parent}" >> "${tmplfile}" 44 printf "Keywords: %s\n" "${keywords}" >> "${tmplfile}" 45 printf "\n" >> "${tmplfile}" 46 } 47 48 cat "${inputfile}" \ 49 | grep Category \ 50 | cut -d ':' -f 2 \ 51 | sed -s 's:,:\n:g' \ 52 | cut -d' ' -f 2 \ 53 | sort \ 54 | uniq \ 55 | while read -r category; 56 do 57 printdbtmpl "${category}" \ 58 "/lawn/${category}" \ 59 "${category}" \ 60 "${category}" 61 done 62