# File lib/fastcst/distrib.rb, line 64
64:     def Distribution.download_md_contents(url, md)
65:         # now we need to download each file mentioned in the changeset
66:         data_file = nil
67:         journal_file = nil
68:     
69:         md['Contents'].each do |file|
70:             UI.start_finish("Downloading #{file['Name']}") do
71:                 data = nil
72:                 if File.exists? file['Name']
73:                     UI.event :info, "Already exists, will just digest and use the existing one"
74:                     data = File.read file['Name']
75:                 else
76:                     open(URI.parse(url + "/" + file['Name'])) { |f| data = f.read }
77:                 end
78:                     
79:                 digest = Digest::MD5.hexdigest(data)
80:                 if digest == file['Digest']
81:                     # file is probably good
82:                     File.open(file['Name'], "wb") {|f| f.write(data) }
83:                 else
84:                     UI.failure :security, "Digest of downloaded file #{file['Name']} failed, digests do not match"
85:                 end
86:             end
87: 
88:             if file['Purpose'] == 'data'
89:                 data_file = file['Name']
90:             elsif file['Purpose'] == 'journal'
91:                 journal_file = file['Name']
92:             else
93:                 UI.event :warn, "Ignoring file #{file['Name']} since not needed"
94:             end
95:         end
96:     
97:         return [data_file, journal_file]
98:     end