https://github.com/jhbadger/APIS
Revision cedb1bbca42dd06094db03ac0b517a889d4b8b4c authored by Jonathan Badger on 17 August 2011, 19:32:14 UTC, committed by Jonathan Badger on 17 August 2011, 19:32:14 UTC
1 parent 67d3efe
Raw File
Tip revision: cedb1bbca42dd06094db03ac0b517a889d4b8b4c authored by Jonathan Badger on 17 August 2011, 19:32:14 UTC
remove apisRun, _input from dataset name on grid
Tip revision: cedb1bb
apisPercentComplete
#!/usr/bin/env ruby

require 'optparse'
require 'dm-core'
require 'ostruct'

opt = OpenStruct.new
opt.all = false
opt.storage = "misc_apis"
opt.host = "mysql://access:access@mysql-lan-pro"

ARGV.options {|opts|
  opts.banner << " [dataset .. dataset..]"
  opts.on("-a", "--all", "summarize all datasets in database") {|t| opt.all = t}
  opts.on("-s ", "--storage ", String, "storage database (default #{opt.storage})") {|t| opt.storage = t}
  opts.on("-h ", "--host ", String, "database host (default #{opt.host})") {|t| opt.host = t}
  begin
    opts.parse!
  rescue
    STDERR.puts $!.message
    STDERR.puts opts
    exit(1)
  end
  if (ARGV.size < 1 && !opt.all)
    STDERR.puts opts
    exit(1)
  end
}

DataMapper.setup(:default, "#{opt.host}/#{opt.storage}") 

if (opt.all)
  repository(:default).adapter.select("SELECT dataset FROM dataset").each do |dataset|
    ARGV.push(dataset)
  end
end

ARGV.each do |dataset|
  STDERR.printf("Processing %s...\n", dataset)
  date = ""
  date = repository(:default).adapter.select("SELECT date_added FROM dataset WHERE dataset = '#{dataset}'").first
  num = repository(:default).adapter.select("SELECT count(*) FROM sequence WHERE dataset = '#{dataset}'").first
  complete = repository(:default).adapter.select("SELECT count(*) FROM sequence WHERE dataset = '#{dataset}' AND processed = 1").first
  printf("%s\t%s\t%d\t%d\t%d%%\n", dataset, date, num, complete, 
         complete*100/num)
end
back to top