blob: 5aca876c0c0081540c6540ef95e462e1544b01d7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
#!/usr/bin/env sh
DB_PATH="$1"
shift
create_table() {
sqlite3 "$DB_PATH" "CREATE TABLE IF NOT EXISTS searchIndex(id INTEGER PRIMARY KEY, name TEXT, type TEXT, path TEXT);"
sqlite3 "$DB_PATH" "CREATE UNIQUE INDEX IF NOT EXISTS anchor ON searchIndex (name, type, path);"
}
get_title() {
FILE="$1"
pup -p -f "$FILE" 'title text{}' | \
sed 's/(Lexical Analysis With Flex.*)//' | \
tr -d \\n | \
sed 's/\"/\"\"/g'
}
get_type() {
PAGE_NAME="$1"
case "$PAGE_NAME" in
option-*)
echo "Option"
;;
*)
echo "Guide"
esac
}
insert() {
NAME="$1"
TYPE="$2"
PAGE_PATH="$3"
sqlite3 "$DB_PATH" "INSERT INTO searchIndex(name, type, path) VALUES (\"$NAME\",\"$TYPE\",\"$PAGE_PATH\");"
}
insert_pages() {
# Get title and insert into table for each html file
while [ -n "$1" ]; do
unset PAGE_NAME
unset PAGE_TYPE
PAGE_NAME="$(get_title "$1")"
# determine type
case "$PAGE_NAME" in
option-*)
PAGE_TYPE="Option"
PAGE_NAME="$(echo "$PAGE_NAME" | sed 's/^option-//')"
;;
unnamed-* | deleteme* | ERASEME*)
shift
continue
;;
*)
PAGE_TYPE="Guide"
esac
if [ -n "$PAGE_NAME" ]; then
insert "$PAGE_NAME" "$PAGE_TYPE" "$(basename "$1")"
fi
shift
done
}
create_table
insert_pages "$@"
|