def load_data
@data = Hash.new
error = String.new
helper = ::File.join(::File.dirname(__FILE__), 'yum-dump.py')
status = popen4("python #{helper}", :waitlast => true) do |pid, stdin, stdout, stderr|
stdout.each do |line|
line.chomp!
name, type, epoch, version, release, arch = line.split(',')
type_sym = type.to_sym
if !@data.has_key?(name)
@data[name] = Hash.new
end
if !@data[name].has_key?(type_sym)
@data[name][type_sym] = Hash.new
end
@data[name][type_sym][arch] = { :epoch => epoch, :version => version,
:release => release }
end
error = stderr.readlines
end
unless status.exitstatus == 0
raise Chef::Exceptions::Package, "yum failed - #{status.inspect} - returns: #{error}"
end
@updated_at = Time.now
end