class Object
Public Instance Methods
load_cksum_list( sumtype, file )
click to toggle source
# File lib/ckfiles/libs.rb, line 26 def load_cksum_list( sumtype, file ) # returns { file1=>sum, file2=>sum, file3=>sum ... fileN=>sum } if sumtype == 'sfv' file_ext = 'sfv' elsif sumtype == 'md5' file_ext = 'md5' else raise 'not supported cksum type' end sfs = File.new( file ).readlines sfs.collect! { |y| y.chomp } begin sfs = sfs.collect { |y| y.gsub(/\\/,'/') } rescue => errmsg puts "ERROR: #{errmsg} FILE: #{file}" end sfs.flatten! sfs.compact! sfs.delete_if { |y| y == '' } sfs.delete_if { |y| y[0..0] == '#' } sfs.delete_if { |y| y[0..0] == ';' } sfs.delete_if { |y| y[0..4] == 'MD5 (' } #this format is a pain so drop n = {} if sumtype == 'sfv' for s in sfs n[s[0..-10]] = s[-8..-1] end elsif sumtype == 'md5' for s in sfs n[s[34..-1]] = s[0..31] end end n.each { |f,sum| puts "#{sum} #{f}" } if $debug if n.length > 0 n else {} end end