#!/usr/bin/ruby

require 'json'
require 'fileutils'
require 'debci'

# FIXME should handle multiple architectures

input = IO.popen(['debci-status', '--all', '--status-file'])
output_filename = File.join(Debci.config.data_basedir, 'britney', 'failing.txt')
FileUtils.mkdir_p(File.dirname(output_filename))

data = JSON.load(input)
data = [data] if data.is_a?(Hash)
exit(0) unless data.respond_to?(:each)

File.open(output_filename, 'w') do |output|
  output.puts "# Generated on #{Time.now.rfc822}"
  data.each do |package|
    if package['status'] == 'fail'
      pkg = Debci::Package.new(package['package'], nil)
      output.puts
      output.puts "# #{Debci.config.url_base}/packages/#{pkg.prefix}/#{pkg.name}"
      output.puts "block #{pkg.name}"
    end
  end
end
