#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/boot'
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))

proj = ARGV[0]
if ! proj
   puts "usage: update_project <project>"
   exit 1
end 
dbproj = DbProject.find_by_name(proj)
if ! dbproj
  puts "invalid project " + proj
  exit 1
end
backend = ActiveXML::Config.transport_for :bsrequest
mypackages = dbproj.complex_status(backend)
builder = Builder::XmlMarkup.new(:indent => 2)
xml = builder.project do
  mypackages.sort.each do |name, package|
    package.to_xml(:builder => builder)
  end
end
key='project_status_xml_%s' % dbproj.name
Rails.cache.write(key, xml)

