summaryrefslogtreecommitdiff
path: root/src/index.rb
diff options
context:
space:
mode:
authorLouie Shprung <lshprung@scu.edu>2022-11-22 21:45:29 -0800
committerLouie Shprung <lshprung@scu.edu>2022-11-22 21:45:29 -0800
commit20aa42ad2c7740d64247e900e02638317b650209 (patch)
treeada1ba445a2eefcafcec49c47a148cd6adca1980 /src/index.rb
parentfd69ee62aba50908a3aee851ec16753cbd99e48d (diff)
Rewrite in POSIX shell
Diffstat (limited to 'src/index.rb')
-rwxr-xr-xsrc/index.rb40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/index.rb b/src/index.rb
deleted file mode 100755
index 81b042a..0000000
--- a/src/index.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-require 'pathname'
-
-puts %Q[
- CREATE TABLE searchIndex(id INTEGER PRIMARY KEY, name TEXT, type TEXT, path TEXT);
- CREATE UNIQUE INDEX anchor ON searchIndex (name, type, path);
-]
-
-INSERT_SQL = %Q[
- INSERT INTO searchIndex(name, type, path) VALUES ('%s','%s','%s');
-]
-
-PATTERN = %r[<title>(.*)\(Autoconf\)(.*)</title>]
-
-BUILTIN_PATTERN = /The node you are looking for is at.*Limitations-of-.*\.html/
-MACRO_PATTERN = /The node you are looking for is at/
-
-def quote(s)
- s.gsub(/&amp;/, '&').gsub(/'/, "\\'").gsub(/&lt;/, '<')
-end
-
-ARGV.each do |arg|
- Pathname.glob(arg) do |path|
- macro_match = path.each_line.lazy.map { |line| MACRO_PATTERN.match(line) }.find { |m| m }
- builtin_match = path.each_line.lazy.map { |line| BUILTIN_PATTERN.match(line) }.find { |m| m }
- if builtin_match
- type = "Builtin"
- elsif macro_match
- type = "Macro"
- else
- type = "Guide"
- end
-
- match = path.each_line.lazy.map { |line| PATTERN.match(line) }.find { |m| m }
- if match
- printf INSERT_SQL, quote(match[1]), type, path.basename
- else
- $stderr.puts "%{path.basename}: no title found"
- end
- end
-end