scan (Irc::Keywords)

    # File rbot/keywords.rb, line 118
        def scan
          # first scan for DBHash files, and load them
          Dir["#{@bot.botclass}/keywords/*"].each {|f|
            next unless f =~ /\.db$/
            hsh = DBHash.new @bot, f, true
            key = File.basename(f).gsub(/\.db$/, "")
            debug "keywords module: loading DBHash file #{f}, key #{key}"
            @statickeywords[key] = hsh
          }

          # then scan for non DBHash files, and convert/import them and delete
          Dir["#{@bot.botclass}/keywords/*"].each {|f|
            next if f =~ /\.db$/
            puts "auto converting keywords from #{f}"
            key = File.basename(f)
            unless @statickeywords.has_key?(key)
              @statickeywords[key] = DBHash.new @bot, "#{f}.db", true
            end
            IO.foreach(f) {|line|
              if(line =~ /^(.*?)\s*<?=(is|are)?=?>\s*(.*)$/)
                lhs = $1
                mhs = $2
                rhs = $3
                # support infobot style factfiles, by fixing them up here
                rhs.gsub!(/\$who/, "<who>")
                mhs = "is" unless mhs
                rhs = Keyword.escape rhs
                values = rhs.split("<=or=>")
                @statickeywords[key][lhs] = Keyword.new(mhs, values).dump
              end
            }
            File.delete(f)
            @statickeywords[key].flush
          }
        end