#!/usr/bin/ruby if ARGV.empty? File.unlink 'wp.db' rescue nil (0..7).each { |step| system "ruby #$0 #{step} |sqlite3 wp.db" } exit end require 'strscan' require 'zlib' def log(str) $stderr.puts "#{Time.now.strftime('%H:%M:%S')} #{str}" end def scan_quotedstr(ss) str = '' ss.scan(/'/) loop do str << ss.scan(/[^\\']*/).to_s break if ss.getch == "'" str << ss.getch end ss.scan(/,/) str end pagelinks="frwiki-latest-pagelinks.sql.gz" page="frwiki-latest-page.sql.gz" case ARGV.shift.to_i when 0 log 'retrieve archive' [pagelinks, page].each { |filename| system "wget", filename unless File.exist? filename } when 1 log 'tables definition' puts <