#!/usr/bin/env ruby # # Offline-Zugriff auf Stichwörter in der Wikipedia # Totally copylefted by Josef Spillner in 2008 # # Vorlagen: http://www.wissenmedia.de/wissenmediaverlag/servicewmv/texte_des_wikipedia_lexikons_zum_download.html require 'htmlentities' class WPLookup def initialize @dirbase = "/usr/local/share/wikipedia" @filebase = "Wikipedia_Lexikon" @col_reset = "\e[0m\e[0m" @col_highlight = "\e[1m\e[31m" end def lookup(expression) initial = expression.upcase.unpack("a1")[0] num = initial.to_i if num == 0 filename = @filebase + "_Buchstabe_" + initial + ".txt" else filename = @filebase + "_123.txt" end filename = @dirbase + "/" + filename begin file = open(filename) rescue => msg puts msg exit 1 end ent = HTMLEntities.new match = false while line = file.gets line = ent.decode(line) if line =~ /^\n$/ match = false end if match puts line if line =~ /^ →(.*)\.\n$/ lookup($1) end end if expression.upcase == line.chomp.upcase match = true puts @col_highlight + line + @col_reset end end file.close() end end expression = ARGV[0] if expression lookup = WPLookup.new lookup.lookup(expression) else puts "Fehler: Kein Suchbegriff angegeben." end