Introduction
Introduction Statistics Contact Development Disclaimer Help
indexgph2db.sh - gopher-lawn - The gopher lawn gopher directory project.
git clone git://bitreich.org/gopher-lawn/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhf…
Log
Files
Refs
Tags
---
indexgph2db.sh (2011B)
---
1 #!/bin/sh
2
3 set -x
4
5 if [ $# -gt 0 ];
6 then
7 inputfile="$1"
8 else
9 inputfile="/dev/stdin"
10 fi
11
12 printdbtmpl() {
13 linetype="$1"
14 linktext="$2"
15 selector="$3"
16 host="$4"
17 port="$5"
18 description="$6"
19
20 case "${linetype}" in
21 0|H)
22 linetypetext="text"
23 ;;
24 1|h|w)
25 linetypetext="link"
26 ;;
27 2)
28 linetypetext="cso"
29 ;;
30 3|+|i)
31 linetypetext="error"
32 ;;
33 6)
34 linetypetext="uuencoded"
35 ;;
36 7)
37 linetypetext="search"
38 ;;
39 8|T)
40 linetypetext="telnet"
41 ;;
42 *)
43 linetypetext="binary"
44 ;;
45 esac
46
47 tmplfile="$host-$(printf "%s\n" "${selector}" \
48 | tr '/' '_').${linetypetext}"
49
50 printf "Type: %s\n" "${linetypetext}" > "${tmplfile}"
51 printf "Selector: %s\n" "${selector}" >> "${tmplfile}"
52 printf "Host: %s\n" "${host}" >> "${tmplfile}"
53 printf "Port: %s\n" "${port}" >> "${tmplfile}"
54 printf "LinkName: %s\n" "${linktext}" >> "${tmplfile}"
55 printf "Description: %s\n" "${description}" >> "${tmplfile}"
56 printf "Category: \n" >> "${tmplfile}"
57 printf "Keywords: \n" >> "${tmplfile}"
58 }
59
60 gphline=""
61 cat "${inputfile}" \
62 | while read -r line;
63 do
64 if [ -z "${line}" ];
65 then
66 if [ -n "${gphline}" ];
67 then
68 case "${gphline}" in
69 '[1|<< back'*)
70 ;;
71 *)
72 linetype="$(printf "%s\n" "${gphline}" \
73 | cut -d '[' -f 2 | cut -d '|' -…
74 linktext="$(printf "%s\n" "${gphline}" \
75 | cut -d '|' -f 2)";
76 selector="$(printf "%s\n" "${gphline}" \
77 | cut -d '|' -f 3)";
78 host="$(printf "%s\n" "${gphline}" \
79 | cut -d '|' -f 4)";
80 port="$(printf "%s\n" "${gphline}" \
81 | cut -d '|' -f 5 | cut -d ']' -…
82
83 printdbtmpl "${linetype}" "${linktext}" \
84 "${selector}" "${host}" "${port}…
85 "${description}"
86 ;;
87 esac
88 fi
89
90 gphline=""
91 description=""
92 continue;
93 fi
94
95 case "${line}" in
96 \[*)
97 if [ -z "${gphline}" ];
98 then
99 gphline="${line}"
100 continue;
101 fi
102 ;;
103 *)
104 if [ -n "${gphline}" ];
105 then
106 if [ -z "${description}" ];
107 then
108 description="${line}"
109 else
110 description="${description} ${line}"
111 fi
112 fi
113 continue;
114 ;;
115 esac
116 done
117
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.