Method: PackageCloud::Repository#parse_dsc

Defined in:
lib/package_cloud/repository.rb

#parse_dsc(dsc_path, dist_id) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/package_cloud/repository.rb', line 10

def parse_dsc(dsc_path, dist_id)
  file_data = File.new(dsc_path, 'rb')
  base_url = @config.base_url
  url = PackageCloud::Util.compute_url(base_url, paths["package_contents"])
  begin
    resp = RestClient::Request.execute(:method => 'post',
                                       :url => url,
                                       :timeout => nil,
                                       :payload => { :package => {:package_file      => file_data,
                                                                  :distro_version_id => dist_id}})
    resp = JSON.parse(resp)
    print "success!\n"
    resp["files"]
  rescue RestClient::UnprocessableEntity => e
    print "error:\n".color(:red)
    json = JSON.parse(e.response)
    json.each do |k,v|
      puts "\n\t#{k}: #{v.join(", ")}\n"
    end
    puts ""
    exit(1)
  end
end